Présentation des plug-in

Un plug-in WebSphere eXtreme Scale est un composant qui offre un certain type de fonction aux composants connectables intégrant ObjectGrid et BackingMap. WebSphere eXtreme Scale offre plusieurs points de connexion pour permettre aux applications et aux fournisseurs de cache de s'intégrer aux divers magasins de données, aux autres API client et d'améliorer les performances générales du cache. Le produit est livré avec plusieurs plug-in par défaut préconstruits mais vous pouvez aussi créer des plug-in personnalisés avec l'application.

Tous les plug-in sont des classes concrètes qui implémentent une ou plusieurs interfaces de plug-in eXtreme Scale. Ces classes sont ensuite instanciées et appelées par l'ObjectGrid aux moments appropriés. L'ObjectGrid et les mappes de sauvegarde permettent l'enregistrement des plug-in personnalisés.

Plug-in ObjectGrid

Les plug-in suivants sont disponibles pour une instance ObjectGrid. Si le plug-in est côté serveur uniquement, les plug-in sont supprimés sur les instances ObjectGrid et BackingMap client. Ces instances sont des instances serveur uniquement.
  • TransactionCallback : un plug-in TransactionCallback offre des événements de cycle de vie de transaction. Si le plug-in TransactionCallback est la classe d'implémentation intégrée JPATxCallback (com.ibm.websphere.objectgrid.jpa.JPATxCallback), le plug-in est côté serveur uniquement. Toutefois, les sous-classes de la classe JPATxCallback ne sont pas côté serveur uniquement.
  • ObjectGridEventListener : un plug-in ObjectGridEventListener offre des événements de cycle de vie ObjectGrid pour l'ObjectGrid, les fragments et les transactions.
  • ObjectGridLifecycleListener : un plug-in ObjectGridLifecycleListener offre des événements de cycle de vie ObjectGrid pour l'instance ObjectGrid. Le plug-in ObjectGridLifecycleListener peut être utilisé comme une interface mixte intégrée facultative pour tous les autres plug-in ObjectGrid.
  • ObjectGridPlugin : un plug-in ObjectGridPlugin est une interface intégrée mixte qui fournit des événements de gestion de cycle de vie étendue pour tous les autres plug-in ObjectGrid.
  • SubjectSource, ObjectGridAuthorization, SubjectValidation : eXtreme Scale offre différents points de contact de sécurité pour permettre l'intégration des mécanismes d'authentification personnalisés à eXtreme Scale. (côté serveur uniquement)

Exigences communes de plug-in ObjectGrid

L'ObjectGrid instancie et initialise les instances de plug-in à l'aide de conventionsJavaBeans. Toutes les implémentations de plug-in précédentes présentent les exigences suivantes :
  • La classe de plug-in doit être une classe publique de niveau supérieur.
  • La classe de plug-in doit fournit un constructeur public non argument.
  • La classe de plug-in doit être disponible dans le chemin d'accès aux classes pour les serveurs et les clients (le cas échéant).
  • Les attributs doivent être définis à l'aide des méthodes de propriété de style JavaBeans.
  • Les plug-in, sauf indication contraire, sont enregistrés avant l'initialisation de l'ObjectGrid et ne peuvent pas être modifiés après cette initialisation.

Plug-in BackingMap

Les plug-in suivants sont disponibles pour une instance BackingMap :
  • Evictor : ce plug-in fournit un mécanisme par défaut pour expulser les entrées du cache et un plug-in permettant la création d'expulseurs personnalisés.
  • Deprecated feature ObjectTransformer : ce plug-in permet de sérialiser, désérialiser et copier des objets du cache. L'interface ObjectTransformer a été remplacée par les plug-in DataSerializer que vous pouvez utiliser pour stocker des données arbitraires efficacement dans WebSphere eXtreme Scale afin que les API existantes du produit puissent interagir efficacement avec vos données.
  • Deprecated feature OptimisticCallback : ce plug-in permet de personnaliser les opérations de vérification et de comparaison des versions des objets du cache lorsqu'on utilise la stratégie de verrouillage optimiste. Le plug-in OptimisticCallback a été remplacé par l'interface ValueDataSerializer.Versionable que vous pouvez implémenter lorsque vous utilisez le plug-in DataSerializer avec le mode de copie COPY_TO_BYTES ou lorsque vous utilisez l'annotation @Version avec l'API EntityManager.
  • MapEventListener : ce plug-in fournit les notifications de rappel et les modifications importantes de l'état du cache qui se produisent pour une instance BackingMap.
  • BackingMapLifecycleListener : un plug-in BackingMapLifecycleListener fournit des événements de cycle de vie de BackingMap pour l'instance BackingMap. Le plug-in BackingMapLifecycleListener peut être utilisé comme une interface mixte intégrée facultative pour tous les autres plug-in BackingMap.
  • BackingMapPlugin : un plug-in BackingMapPlugin est une interface intégrée mixte facultative qui fournit des événements de gestion de cycle de vie étendue pour tous les autres plug-in ObjectGrid.
  • Indexing : utilisez cette fonction représentée par le plug-in MapIndex pour créer un ou plusieurs index sur une mappe BackingMap pour prendre en charge l'accès aux données non clé.
  • Chargeur : un plug-in Loader dans une mappe ObjectGrid fait office de cache pour les données généralement conservées dans un magasin de persistance sur le même système ou un autre système (côté serveur uniquement)
  • MapSerializerPlugin : MapSerializerPlugin permet de sérialiser et de développer les objets Java et les données non Java dans le cache. Utilisé avec les interfaces DataSerializer mixtes, ce plug-in permet de disposer d'options robustes et souples pour des applications à hautes performances.