Você pode criar um aplicativo que use o IMS TM
Resource Adapter para interagir com o IMS usando o Common Client Interface (CCI).
É possível usar o código do aplicativo gerado pelo assistente J2C
em um ambiente de desenvolvimento integrado (IDE) do Rational ou do WebSphere
para acessar as transações do IMS por meio
do IMS TM
Resource Adapter.
Ao usar esta propriedade, nenhuma codificação é necessária. Como alternativa, você pode criar o código-fonte do aplicativo sem usar um IDE.
Para gravar o próprio código, você deve usar a interface de programação de CCI.
A API de CCI fornece acesso a partir dos clientes Java™ EE,
tais como enterprise beans, páginas do JavaServer Pages (JSP) e
servlets para Enterprise Information Systems (EIS) de backend, como o IMS.
Aplicativos que seguem o modelo de interface de programação do CCI possuem uma estrutura comum, independente do EIS que está sendo usado. A especificação J2EE Connector Architecture (JCA) define dois objetos necessários ao aplicativo:
- Objetos de conexão que representam conexões com um EIS
- Objetos do ConnectionFactory que podem criar esses objetos de
Conexão
Esses objetos são aquilo que um servidor de aplicativos usa para gerenciar a segurança, o
contexto de transação e os conjuntos de conexões para um adaptador de recursos.
Um aplicativo que usa a interface de programação CCI do
IMS TM
Resource Adapter
é iniciada ao obter um objeto
IMSConnectionFactory.
O objeto
IMSConnectionFactory pode ser obtido de
duas formas:
- Gerenciada: Se estiver usando um servidor de aplicativos, o objeto IMSConnectionFactory
será normalmente criado a partir do adaptador de recursos por meio de uma interface de administração,
tal como o console administrativo do WebSphere Application Server. Este
tipo de ambiente é denominado ambiente gerenciado, pois um
servidor de aplicativos é usado para gerenciar as qualidades do serviço de
conexões em seu ambiente. Por exemplo, você poderia criar
um objeto IMSConnectionFactory e configurar suas
propriedades customizadas ao usar o console administrativo do WebSphere Application Server.
As propriedades customizadas como o nome do host e o número da porta do sistema IMS de destino são configurados no objeto IMSConnectionFactory.
Quando o objeto IMSConnectionFactory é criado,
ele pode se tornar disponível para uso por qualquer aplicativo corporativo por meio da
JNDI.
- Não gerenciado: Quando não estiver usando um servidor de aplicativos
para gerenciar a conexão (tal como executar o aplicativo como um aplicativo
Java independente),
este tipo de ambiente é chamado de um ambiente não gerenciado.
Neste tipo de configuração:
- Você deve criar manualmente um objeto IMSManagedConnectionFactory e configurar suas
propriedades customizadas. Você pode então criar um objeto IMSConnectionFactory do objeto IMSManagedConnectionFactory.
- O IMS TM
Resource Adapter usa a
classe DefaultConnectionManager na API de Gerenciamento de Conexões do do JCA 1.5
para as conexões. Essa classe não fornece uma definição do conjunto de conexões e todas
as propriedades do conjunto de conexões devem ser ignoradas. O IMS TM
Resource Adapter
abre e fecha uma conexão do soquete com o IMS Connect
para cada solicitação de transação. Abrir e fechar conexões do soquete
introduz uma sobrecarga no recurso e é provável que resulte na degradação do
desempenho, conforme comparado a um cenário gerenciado. É possível construir
sua própria definição do conjunto de conexões ao implementar uma classe de PoolManager a ser
usada com a classe DefaultConnectionManager. Para obter mais informações, consulte a
seção da API de Gerenciamento de Conexões do JCA 1.5.
Como as
transações CM0 são recuperáveis, o IMS Connect cria
um TPIPE separado para cada cliente que usa o CM0. Sem a função de
gerenciamento do conjunto de conexões fornecida por um servidor de aplicativos,
muitos TPIPEs deverão ser criados e sobrecarregarão o sistema.
Conexões do IMS
Um objeto IMSConnection
pode, então, ser criado a partir do objeto IMSConnectionFactory.
As propriedades do objeto IMSConnection podem ser
especificadas em um objeto IMSConnectionSpec passado
como um parâmetro para o método getConnection ou
serão usados os valores padrão definidos no
IMSConnectionFactory. Depois de obter um IMSConnection, uma instância IMSInteraction
poderá ser criada a partir da instância IMSConnection.
Uma instância IMSInteraction
representa a interação que será executada nessa conexão. Assim como com a conexão,
as interações podem ter propriedades customizadas obtidas da classe IMSInteractionSpec.
Entrada e Saída
Para executar a interação,
o aplicativo faz uma chamada para o método execute()
do objeto IMSInteraction, passando para ele objetos
de entrada e saída para reter os dados. Uma matriz de bytes de entrada deve ser criada contendo valores para cada campo na mensagem de entrada do IMS. Da mesma forma, uma matriz de bytes de saída também deve ser criada para manter a mensagem de resposta retornada pelo IMS. O valor de cada campo na mensagem de saída é extraída da matriz de bytes de saída.
Você mesmo pode criar matrizes de bytes de entrada e saída ou pode usar as opções do J2C em um ambiente de desenvolvimento do Rational ou WebSphere para criar ligações de dados Java para mensagens de entrada e saída de seu aplicativo CCI.
Requisitos para aplicativos que recuperam dados de um sistema IMS:
- Use o objeto IMSConnectionFactory para criar um objeto
IMSConnection.
- Use o objeto IMSConnection para criar um objeto
IMSInteraction.
- Use o objeto IMSInteraction para executar as transações
no sistema IMS de backend.
- Feche os objetos IMSInteraction e
IMSConnection.