Processamento de Transações nos Aplicativos Java EE

[Version 8.5 and later] O WebSphere eXtreme Scale fornece seu próprio adaptador de recursos que pode ser usado para conectar os aplicativos à grade de dados e processar as transações locais.

Por meio do suporte do adaptador de recursos do eXtreme Scale, os aplicativos Java Platform, Enterprise Edition (Java EE) podem consultar as conexões do cliente do eXtreme Scale e demarcar as transações locais usando as transações locais do Java EE ou as APIs do eXtreme Scale. Quando o adaptador de recursos estiver configurado, será possível concluir as ações a seguir com seus aplicativos Java EE:

Os recursos adicionais a seguir estão disponíveis com o WebSphere Application Server:

Responsabilidades de Administrador

O adaptador de recursos do eXtreme Scale é instalado no servidor de aplicativo Java EE ou integrado no aplicativo. Depois de instalar o adaptador de recursos, o administrador criará um ou mais connection factories do adaptador de recursos para cada domínio de serviço de catálogo e opcionalmente cada instância da grade de dados. O connection factory identifica as propriedades que são necessárias para a comunicação com a grade de dados.

Os aplicativos se referem ao connection factory, o que estabelece a conexão com a grade de dados remotos. Cada connection factory hospeda uma única conexão do cliente do eXtreme Scale que é reutilizada para todos os componentes de aplicativo.
Importante: Como a conexão do cliente eXtreme Scale pode incluir um cache próximo, os aplicativos não devem compartilhar uma conexão. Um connection factory deve existir para uma instância única do aplicativo para evitar problemas ao compartilhar objetos entre os aplicativos.

O connection factory hospeda uma conexão do cliente eXtreme Scale, que é compartilhada entre todos os componentes do aplicativo de referência. Você pode usar o bean gerenciado (MBean) para acessar informações sobre a conexão do cliente ou para reconfigurar a conexão quando ela não for mais necessária.

Responsabilidades do Desenvolvedor de Aplicativos

Um desenvolvedor de aplicativos cria referências de recurso para connection factories gerenciados no descritor de implementação do aplicativo ou com anotações. Cada referência de recurso inclui uma referência local para o connection factory do eXtreme Scale, bem como o escopo de compartilhamento de recursos.
Importante: Ativar o compartilhamento de recurso é importante porque permite que a transação local seja compartilhada entre os componentes de aplicativo.

Os aplicativos podem introduzir o connection factory no componente de aplicativo Java EE ou podem consultar o connection factory usando o Java Naming Directory Interface (JNDI). O connection factory é usado para obter manipulações de conexão com a conexão do cliente do eXtreme Scale. A conexão do cliente eXtreme Scale é gerenciada de forma independente a partir da conexão do adaptador de recursos e é estabelecida no primeiro uso e reutilizada para todas as conexões subsequentes.

Após localizar a conexão, o aplicativo recupera uma referência de sessão do eXtreme Scale. Com a referência de sessão eXtreme Scale, o aplicativo pode usar os recursos e as APIs do cliente eXtreme Scale inteiro.

É possível demarcar as transações de uma das maneiras a seguir:
  • Use os métodos de demarcação de transação com.ibm.websphere.objectgrid.Session.
  • Use a transação local javax.resource.cci.LocalTransaction.
  • Use uma transação global, ao usar o WebSphere Application Server com o último suporte ao participante ativado. Ao selecionar essa abordagem para demarcação, você deve:
    • Usar uma transação global gerenciada por aplicativo com o javax.transaction.UserTransaction.
    • Usar uma transação gerenciada por contêiner.

Responsabilidades do Implementador de Aplicativos

O implementador de aplicativos liga a referência local ao connection factory do adaptador de recursos que o desenvolvedor de aplicativos define para os connection factories do adaptador de recursos que o administrador define. O implementador de aplicativos deve designar o tipo de connection factory correto e o escopo para o aplicativo e garantir que o connection factory não seja compartilhado entre os aplicativos para evitar o compartilhamento do objeto Java. O implementador de aplicativo também é responsável por configurar e mapear outras informações de configuração apropriadas que são comuns a todos os connection factories.