Visão Geral de Plug-ins

Um plug-in do WebSphere eXtreme Scale é um componente que fornece um certo tipo de função para os componentes conectáveis que incluem ObjectGrid e BackingMap. O WebSphere eXtreme Scale fornece vários pontos de conexão para permitir que os aplicativos e provedores de cache se integrem com vários armazéns de dados, APIs de cliente alternativo e para melhorar o desempenho geral do cache. O produto é fornecido com vários plug-ins padrão pré-construídos, mas também é possível criar plug-ins customizados com o aplicativo.

Todos os plug-ins são classes concretas que implementam uma ou mais interfaces do plug-in eXtreme Scale. Tais classes são divididas em instâncias e chamadas pelo ObjectGrid nos momentos apropriados. O ObjectGrid e os BackingMaps permitem que plug-ins customizados sejam registrados.

Plug-ins do ObjectGrid

Os seguintes plug-ins estão disponíveis para uma instância do ObjectGrid. Se o plug-in for apenas do lado do servidor, os plug-ins serão removidas nas instâncias ObjectGrid e BackingMap do cliente. As instâncias do ObjectGrid e BackingMap são apenas do lado do servidor.
  • TransactionCallback: Um plug-in TransactionCallback fornece eventos do ciclo de vida de transação. Se o plug-in TransactionCallback for a implementação de classe JPATxCallback integrada (com.ibm.websphere.objectgrid.jpa.JPATxCallback), o plug-in será apenas do lado do servidor. Entretanto, as subclasses da classe JPATxCallback não são apenas do lado do servidor.
  • ObjectGridEventListener: Um plug-in ObjectGridEventListener fornece eventos de ciclo de vida ObjectGrid para o ObjectGrid, shards e transações.
  • ObjectGridLifecycleListener: Um plug-in ObjectGridLifecycleListener fornece eventos de ciclo de vida ObjectGrid para a instância do ObjectGrid. O plug-in ObjectGridLifecycleListener pode ser usado como uma interface combinada opcional para todos os outros plug-ins do ObjectGrid.
  • ObjectGridPlugin: Um ObjectGridPlugin é uma interface combinada opcional que fornece eventos de gerenciamento de ciclo de vida estendida para todos os outros plug-ins do ObjectGrid.
  • SubjectSource, ObjectGridAuthorization, SubjectValidation: eXtreme Scale fornece vários terminais de segurança para permitir que mecanismos de autenticação customizados sejam integrados ao eXtreme Scale. (Apenas do lado do servidor)

Requisitos Comuns do Plug-in do ObjectGrid

O ObjectGrid instancia e inicializa as instâncias de plug-in usando as convenções JavaBeans. Todas as implementações do plug-in apresentam os seguintes requisitos:
  • A classe de plug-in deve ser uma classe pública de alto nível
  • Ela deve apresentar um construtor público, sem argumentos.
  • A classe de plug-in deve estar disponível no caminho de classe dos servidores e clientes (como apropriado).
  • Os atributos devem ser definidos utilizando os métodos de propriedade de estilo do JavaBeans.
  • Os plug-ins, exceto quando indicado de outra forma, são registrados antes da inicialização do ObjectGrid e não podem ser alterados depois de tal inicialização.

Plug-ins do BackingMap

Os seguintes plug-ins estão disponíveis para um BackingMap:
  • Evictor - Um plug-in evictor é um mecanismo padrão fornecido para descartar entradas de cache e um plug-in para criar evictors customizados.
  • Deprecated feature ObjectTransformer: Um plug-in ObjectTransformer permite serializar, desserializar e copiar objetos no cache. A interface ObjectTransformer foi substituída pelos plug-ins DataSerializer, que podem ser usados para armazenar dados arbitrários com eficiência no WebSphere eXtreme Scale para que as APIs do produto existentes possam interagir eficientemente com seus dados.
  • Deprecated feature OptimisticCallback - Utilize o plug-in OptimisticCallback para customizar as operações de versão e comparação dos objetos de cache ao utilizar a estratégia de bloqueio otimista. O plug-in OptimisticCallback foi substituído pela interface ValueDataSerializer.Versionable, que pode ser implementada quando o plug-in DataSerializer for usado com o modo de cópia COPY_TO_BYTES ou quando for usada a anotação @Version com a API do EntityManager.
  • MapEventListener - Um plug-in MapEventListener fornece notificações de retorno de chamada e alterações de estado de cache significativas que ocorrem para um BackingMap.
  • BackingMapLifecycleListener: Um plug-in BackingMapLifecycleListener fornece eventos de ciclo de vida BackingMap para a instância do BackingMap. O plug-in BackingMapLifecycleListener pode ser usado como uma interface combinada opcional para todos os outros plug-ins do BackingMap.
  • BackingMapPlugin: Um BackingMapPlugin é uma interface combinada opcional que fornece eventos de gerenciamento de ciclo de vida estendida para todos os outros plug-ins do BackingMap.
  • Indexação - Use o recurso de indexação, que é representado pelo plug-in MapIndexplug-in, para construir um ou mais índices em um mapa BackingMap para suportar acesso a dados sem chave.
  • Loader: Um plug-in Loader em um mapa ObjectGrid atua como um cache de memória para os dados que são normalmente mantidos em um armazenamento persistente no mesmo sistema ou em outro sistema diferente. (Apenas do lado do servidor)
  • MapSerializerPlugin: Um MapSerializerPlugin permite que você serialize e aumente os objetos Java e os dados não Java no cache. Ele é usado com as interfaces combinadas DataSerializer, permitindo opções robustas e flexíveis para aplicativos de alto desempenho.