Visión general de los plug-ins

Un plug-in de WebSphere eXtreme Scale es un componente que proporciona un determinado tipo de función a los componentes conectables que incluyen ObjectGrid y BackingMap. WebSphere eXtreme Scale proporciona varios puntos de conexión para permitir a las aplicaciones y a los proveedores de memoria caché integrarse con distintos almacenes de datos, las API de cliente alternativas y para mejorar el rendimiento general de la memoria caché. El producto se entrega con varios plug-ins predeterminados y preincorporados, pero también puede crear plug-ins personalizados con la aplicación.

Todos los plug-ins son clases concretas que implementan una o más interfaces de plug-in de eXtreme Scale. ObjectGrid crea instancias de estas clases y las invoca cuando conviene. ObjectGrid y BackingMaps permiten que se registren plug-ins personalizados.

Plug-ins ObjectGrid

Están disponibles los plug-ins siguientes para una instancia de ObjectGrid. Si el plug-in es solo del lado del servidor, los plug-ins se eliminan en las instancias de ObjectGrid y BackingMap del cliente. Las instancias de ObjectGrid y BackingMap solo están en el servidor.
  • TransactionCallback: un plug-in TransactionCallback proporciona sucesos de ciclo de vida de transacción. Si el plug-in TransactionCallback plug-in es la clase de implementación incorporada JPATxCallback (com.ibm.websphere.objectgrid.jpa.JPATxCallback), el plug-in es solo el lado del servidor. Sin embargo, las subclases de la clase JPATxCallback no son solo del lado del servidor.
  • ObjectGridEventListener: un plug-in ObjectGridEventListener proporciona sucesos de ciclo de vida de ObjectGrid para ObjectGrid, los fragmentos y las transacciones.
  • ObjectGridLifecycleListener: un plug-in ObjectGridLifecycleListener proporciona sucesos de ciclo de vida de ObjectGrid para la instancia de ObjectGrid. El plug-in ObjectGridLifecycleListener se puede utilizar como una interfaz combinada opcional para todos los demás plug-ins de ObjectGrid.
  • ObjectGridPlugin: un ObjectGridPlugin es una interfaz mixin opcional que proporciona sucesos de gestión de ciclo de vida ampliados para todos los demás plug-ins de ObjectGrid.
  • SubjectSource, ObjectGridAuthorization, SubjectValidation: eXtreme Scale proporciona varios puntos finales de seguridad para permitir que se integren mecanismos de autenticación personalizados con eXtreme Scale.(Sólo en el servidor)

Requisitos comunes de los plug-ins de ObjectGrid

ObjectGrid crea instancia de plug-in y las inicializa mediante los convenios de JavaBeans. Todas las implementaciones de plug-in anteriores tienen estos requisitos:
  • La clase de plug-in debe ser una clase pública de nivel superior.
  • La clase de plug-in debe proporcionar un constructor público sin argumentos.
  • La clase de plug-in debe estar disponible en la vía de acceso de clase para servidores y clientes (como convenga).
  • Los atributos se deben establecer utilizando los métodos de propiedad del estilo JavaBeans.
  • Los plug-ins, a menos que se especifique lo contrario, se registran antes de que se inicialice ObjectGrid y no se pueden modificar una vez inicializado ObjectGrid.

Plug-ins de BackingMap

Los plug-ins siguientes están disponibles para un objeto BackingMap:
  • Evictor: un plug-in de desalojador es un mecanismo predeterminado proporcionado para desalojar entradas de memoria caché y un plug-in para crear desalojadores personalizados.
  • Deprecated feature ObjectTransformer: un plug-in ObjectTransformer le permite serializar, deserializar y copiar objetos en la memoria caché. La interfaz ObjectTransformer ha sido sustituida por los plug-ins DataSerializer, que puede utilizar para almacenar eficientemente datos arbitrarios en WebSphere eXtreme Scale de modo que las API existentes del producto puedan interactuar eficazmente con los datos.
  • Deprecated feature OptimisticCallback: un plug-in OptimisticCallback le permite personalizar las operaciones de mantenimiento de versiones y comparación de objetos de memoria caché al utilizar la estrategia de bloqueo optimista. El plug-in OptimisticCallback ha sido sustituido por la interfaz ValueDataSerializer.Versionable, que puede implementar al utilizar el plug-in DataSerializer con la modalidad de copia COPY_TO_BYTES o al utilizar la anotación @Version con la API EntityManager.
  • MapEventListener: un plug-in MapEventListener proporciona notificaciones de devolución de llamada y cambios de estado de memoria caché significativos que se producen para BackingMap.
  • BackingMapLifecycleListener: un plug-in BackingMapLifecycleListener proporciona sucesos de ciclo de vida de BackingMap para la instancia de BackingMap. El plug-in BackingMapLifecycleListener se puede utilizar como una interfaz mixin opcional para todos los demás plug-ins BackingMap.
  • BackingMapPlugin: un BackingMapPlugin es una interfaz mixin opcional que proporciona sucesos de gestión de ciclo de vida ampliados para todos los demás plug-ins BackingMap.
  • Indexing: utilice la característica de indexación, representada por el plug-in MapIndexplug-in, para generar un índice o varios índices en una correlación de BackingMap para soportar el acceso de datos que no son clave.
  • Loader: un plug-in Loader en una correlación de ObjectGrid actúa como una memoria caché para los datos que normalmente se conservan en un almacén persistente o en el mismo sistema o en algún otro sistema. (Sólo en el servidor)
  • MapSerializerPlugin: un MapSerializerPlugin le permite serializar e inflar objetos Java y datos no Java en la memoria caché. Se utiliza con las interfaces combinadas DataSerializer, lo que permite contar con unas opciones robustas y flexibles para unas aplicaciones de alto rendimiento.