O CICS Transaction Gateway fornece
adaptadores de recursos que implementam Common Client Interface (CCI) para interações com
CICS.
Common Client Interface
CCI é uma interface de alto nível definida por JCA disponível para desenvolvedores de
J2EE que usam a Interface de Chamada Externa (ECI) para se comunicar com programas em
execução em um servidor CICS.
CCI tem dois tipos de classes distintos:
- Classes CCI genéricas: Classes CCI genéricas são usadas para solicitar uma
conexão com o EIS, como CICS, e executar comandos
nesse EIS, passando entrada e recuperando saída. Essas classes são genéricas porque não
passam informações específicas de um determinado EIS. Connection e ConnectionFactory são
exemplos de classes CCI genéricas.
- Classes CCI específicas do CICS: Classes específicas do CICS são usadas para
passar informações específicas entre o aplicativo de cliente
Java™ e o
CICS. Exemplos de classes específicas do CICS são:
- ECIConnectionSpec
- ECIInteractionSpec
Aplicativos que seguem o modelo de interface de
programação usando CCI têm estrutura comum independente do EIS sendo usado. O JCA define
Connections e ConnectionFactories que representam a conexão com o EIS. Esses objetos
permitem que um servidor de aplicativos gerencie a segurança, o contexto de transação e
os conjuntos de conexões para o adaptador de recursos. Um aplicativo deve começar obtendo
uma ConnectionFactory da qual uma Connection pode ser obtida. As propriedades dessa
Connection podem ser substituídas por um objeto ConnectionSpec. A classe ConnectionSpec é
específica do CICS, como ECIConnectionSpec. Após uma conexão ser obtida, uma Interaction
pode ser criada a partir da Connection para fazer uma solicitação específica. Assim como
com a Conexão, as Interações podem ter propriedades customizadas configuradas pela classe
InteractionSpec específica do CICS (ECIInteractionSpec). Para executar a Interação, o
aplicativo chama o método execute() e usa objetos de Registro específicos do CICS para
reter os dados.
- Connection Factory: O ConnectionFactory pode ser obtido de duas formas:
- Gerenciado: Se você estiver usando um servidor de aplicativos, normalmente o
ConnectionFactory é criado a partir do adaptador de recursos usando interface de
administração. Esse ConnectionFactory tem propriedades customizadas configuradas para
ele, por exemplo, o Gateway a ser usado seria configurado como ConnectionURL.
Quando o ConnectionFactory tiver sido criado, ele poderá ser disponibilizado para uso por
aplicativos corporativos por meio de JNDI. Este tipo de ambiente é chamado de ambiente gerenciado. Um ambiente gerenciado permite que um servidor de aplicativos gerencie as qualidades de
serviço das conexões.
- Não Gerenciado: Se você não estiver usando um servidor de aplicativos, será
necessário criar um ManagedConnectionFactory e configurar suas propriedades customizadas.
Você pode então criar uma ConnectionFactory a partir da ManagedConnectionFactory.
Este tipo de ambiente é chamado de ambiente não-gerenciado. Um ambiente não-gerenciado não permite que um servidor de aplicativos gerencie conexões.
Para recuperar dados do servidor CICS, seu
aplicativo J2EE:
- Usa o objeto ConnectionFactory para criar um objeto Connection.
- Usa o objeto Connection para criar um objeto Interaction.
- Usa o objeto Interaction para executar comandos no EIS.
- Fecha o Interaction e o Connection.
O exemplo a seguir mostra o uso de interfaces J2EE CCI para a execução de um comando
em um EIS:
ConnectionFactory cf = [Lookup from JNDI namespace]
Connection conn = cf.getConnection();
Interaction int = conn.createInteraction();
int.execute([Input output data]);
int.close();
conn.close();