![[z/OS]](../images/ngzos.gif)
Chamando Transações IMS Existentes com Adaptadores Locais Otimizados sobre OTMA
Transações IMS inalteradas existentes que são executadas como Message Processing Programs (MPPs) ou como programas de atalho (IFPs) podem ser chamadas usando o s adaptadores locais otimizados do WebSphere Application Server for z/OS sobre o suporte do Open Transaction Manager Access Callable Interface (OTMA C/I). Esse suporte é fornecido por um novo conjunto de módulos nativos introduzidos com adaptadores locais otimizados que usam o IMS OTMA C/I.
Os aplicativos que são implementados no WebSphere Application Server for z/OS e que devem chamar transações IMS existentes usam o arquivo ola.rar para atingir os módulos de interface do OTMA C/I. Há vários novos atributos do connection factory que permitem que os aplicativos forneçam o nome do sistema IMS de destino e as informações do OTMA XCF associadas. Há também um atributo incluído que permite que o aplicativo seja configurado para o Nível de Sincronização que é usado para troca. Consulte o tópico Considerações de Connection Factory para Adaptadores Locais Otimizados para obter mais detalhes sobre esses parâmetros.
As transações globais IMS são suportados nas versões 8.5.0.2 e posterior. Aplicativos que são executados em uma transação global com WebSphere Application Server como coordenador de confirmação, que chamam aplicativos IMS existentes usando suporte WOLA sobre OTMA, podem incluir as transações do IMS no mesmo contexto de transação global.
Consulte a seção Transações globais - Aplicativos Websphere chamando aplicativos IMS para obter mais informações sobre esse suporte.
Requisitos de Formato de Mensagem
Antes do suporte a mensagens de múltiplos segmentos na Versão 8, as mensagens de solicitação e resposta tinham que ser de segmento único, com tamanho máximo de segmento de envio e recebimento inferior a 32760 bytes, incluindo o cabeçalho da mensagem.
<----------------- HEADER ----------------> <------ DATA ------>
LL + ZZ + IMS Transaction Name + Message request data
(2 bytes) | (2 bytes) | (8 bytes) | (up to 32744 bytes)
O Nome de Transação na mensagem é usado para chamar o OTMA C/I e deve ser uma transação definida e acessível em um IMS MPR ou em uma região dependente de atalho.
<----- HEADER -----> <------------------ DATA ----------------->
LLLL + Message response data
(4 bytes) | (up to 32756 bytes)
O assistente CICS/IMS Java™ Data Binding no Rational Application Developer
é usado para criar classes auxiliares com métodos setter e getter que
podem ser usados para manipular o mapeamento de dados para e a partir de formulários de objetos Java e binários. Este
mapeamento de dados se aplica para ambas as mensagens enviadas para IMS a partir do WebSphere Application
Server e dados de resposta. Suporte de Mensagem de Múltiplos Segmentos
As mensagens de múltiplos segmentos IMS suportam mensagens de solicitação e resposta maiores que os 32744 bytes anteriores para mensagens de solicitação e 32756 bytes para mensagens de resposta. Entretanto, um segmento único pode ser maior que 32768 bytes, incluindo o cabeçalho da mensagem.
- OTMAMaxSegments
OTMAMaxSegments representa o número maior de segmentos suportados para enviar e receber mensagens IMS na conexão atual. Se não for especificado um valor, o padrão será 1.
- OTMAMaxRecvSize
OTMAMaxRecvSize representa a maior mensagem possível que pode ser retornada a partir do IMS usando o suporte dos adaptadores locais otimizados do WebSphere sobre OTMA. Se não for especificado um valor, o padrão será 32768.
Transações Globais - Aplicativos WebSphere Chamando Aplicativos IMS
- O aplicativo a usar uma conexão que esteja configurada para usar OTMA e o atributo do connection factory gerenciado RRSTransactional estejam configurados como True (ou 1). A configuração do atributo RRSTransactional como True (ou 1) ativa transações RRS para conexões.
- O servidor WebSphere Application Server for z/OS esteja em execução com a variável de ambiente ola_rrs_context_propagate_otma instalada e configurado como True (ou 1).
- O ambiente do IMS esteja em execução com o RRS=YES configurado.
Caso seja necessário implementar alguma dessas definições de configuração, você deverá reiniciar o servidor WebSphere Application Server for z/OS e o ambiente do IMS para que o contexto de transação dos aplicativos em execução em uma transação global com o WebSphere Application Server seja coordenado com os aplicativos em execução no IMS.
Requisitos de Formato de Mensagem para Mensagens de Múltiplos Segmentos
Para mensagens de múltiplos segmentos, o padrão é LLZZ para solicitações a partir dos adaptadores locais otimizados do WebSphere para o IMS. Os dados LLLL+mensagem padrão para respostas do IMS para o WebSphere Application Server permanecem os mesmos.
Há métodos fornecidos com esse suporte que permitem altear esses padrões. Os métodos setOTMARequestLLZZ() e setOTMARequestLLLL() fornecem a possibilidade de configurar o estilo do prefixo de comprimento para as solicitações de mensagens a partir do WebSphere Application Server para o IMS. Os métodos setOTMAResponseLLZZ() e setOTMAResponseLLLL() fornecem a possibilidade de configurar o estilo de prefixo de mensagem para LLZZ ou LLLL para respostas de mensagem. O seguinte exemplo é o formato da mensagem esperado para chamadas para o IMS a partir de aplicativos no WebSphere Application Server:
<----------------- HEADER ------------------>
LL + ZZ + IMS Transaction Name +
(2 bytes) | (2 bytes) | (8 bytes)
<-------------------------- DATA SEGMENT 1 ---------------------->
Message segment 1 data
(up to 32756 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LL + ZZ + Message segment 1 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LL + ZZ + Message segment N data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
<----------------- HEADER ------------------>
LLLLZZ + IMS Transaction Name +
(6 bytes) | (8 bytes)
<-------------------------- DATA SEGMENT 1 ---------------------->
Message segment 1 data
(up to 32754 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
<----- HEADER -----> <----------- DATA SEGMENY 1 ------------>
+ LL + ZZ + Message segment 1 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LL + ZZ + Message segment 2 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LL + ZZ + Message segment N data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
-- HEADER --> <----------- DATA SEGMENT 1 ------------>
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LLLLZZ + Message segment 2 data
(6 bytes) | (up to 32762 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LLLLZZ + Message segment N data
(6 bytes) | (up to 32762 bytes)