Utilize o nó de CICSRequest para chamar os programas do CICS Transaction Server para z/OS sobre o protocolo IP InterCommunications (IPIC) baseado em TCP/IP.
É possível usar o nó CICSRequest para conectar WebSphere® Message Broker aos aplicativos CICS. O nó CICSRequest se comunica com o CICS enviando pedidos Distributed Program Link (DPL) sobre protocolo IP InterCommunications (IPIC) baseado em TCP/IP. É possível criar um fluxo de mensagens que contém um nó CICSRequest, que chama um aplicativo CICS em uma região de destino. O nó CICSRequest pode ser usado por um fluxo de mensagens implementado para qualquer plataforma do broker. O nó CICSRequest suporta CICS Transaction Server para z/OS Versão 3.2 e posterior.
Um uso possível de um nó CICSRequest é conectar-se a um aplicativo CICS usando um estilo síncrono de fluxo de mensagens. Você pode obter essa conexão criando o seguinte fluxo de mensagens:
O suporte ao nó CICSRequest no WebSphere Message Broker fornece comunicação direta com o CICS (conexão de duas camadas) enviando as solicitações de Link de Programa Distribuído (DPL) sobre IPIC baseado em TCP/IP, ou comunicação com o CICS através do CICS Transaction Gateway para Multiplataformas (conexão de três camadas). Para obter mais informações sobre os modelos de conexão de duas e três camadas, consulte Visão Geral do CICS Transaction Server para z/OS para obter uma visão geral resumida, ou Conectividade de Duas Camadas do CICS Transaction Server para z/OS e Conectividade de Três Camadas do CICS Transaction Server para z/OS para obter informações conceituais detalhadas.
Você pode especificar uma estrutura de dados COMMAREA ou uma estrutura de dados de canal no nó CICSRequest a ser usada como entrada para link com programas CICS. A estrutura de dados que é especificada como entrada retorna a mesma estrutura de dados como saída. Os canais são uma alternativa às COMMAREAs, fornecendo amparo do tamanho máximo da COMMAREA de 32767 bytes e permitindo maior flexibilidade nas estruturas de dados de entrada/saída. Para obter mais informações sobre o uso de uma estrutura de dados COMMAREA ou de canal, consulte Estruturas de Dados COMMAREA ou de Canal.
Os canais CICS contêm várias estruturas chamadas contêineres. No WebSphere Message Broker, um canal CICS é representado como uma estrutura de coleção de mensagens. Uma coleção de mensagens pode conter mensagens filhas, cada uma tratada como um contêiner pelo nó CICSRequest. Para obter informações sobre como usar ESQL para criar uma coleção de mensagens, consulte Criando uma Coleção de Mensagens Usando ESQL.
Se um único contêiner for necessário para entrada somente, uma coleção de mensagens não precisa ser construída. Em vez disso, uma mensagem comum pode ser usada, desde que o nome do canal alfanumérico de no máximo 16 caracteres e o nome do contêiner alfanumérico único de no máximo 16 caracteres sejam especificados no ambiente local. Para obter mais informações sobre o uso do modo de mensagem única, consulte Estruturas de Dados COMMAREA ou de Canal.
Como não é possível saber quantos contêineres estão na resposta, uma coleção de mensagens é sempre produzida como saída. No entanto, a propriedade Local dos dados do resultado do nó CICSRequest pode ser usada para reduzir a árvore de resultados a uma única pasta de mensagens, ou a um único campo ou uma subárvore para saída.
Você pode incluir atributos de nome/valor em uma coleção de mensagens para criar contêineres CICS. Os atributos de nome/valor na coleção de mensagens, a não ser CollectionName, podem ser usados no lugar de pastas de mensagens completas para dados simples. Por exemplo, um atributo de sequência de nome/valor pode ser configurado na coleção de mensagens e usado diretamente pelo nó CICSRequest sem precisar criar um conjunto de mensagens para o elemento. Para obter informações sobre como usar atributos, consulte Estruturas de Dados COMMAREA ou de Canal.
Os atributos de nome/valor podem ser produzidos a partir de contêineres na saída, bem como aceitos para entrada. Para criar um atributo em vez de uma pasta de mensagem a partir de um contêiner, marque a caixa de seleção que está disponível na guia Análise de Mensagem de Resposta.
O nó CICSRequest está contido no repositório CICS da paleta do nó do fluxo de mensagens e é representado no WebSphere Message Broker Toolkit pelo seguinte ícone:
Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.
O nó CICSRequest pode usar uma identidade que esteja presente em uma mensagem de entrada e pode propagá-la para o CICS, usando a propriedade Propagar no perfil de segurança que é definido para o nó. Para obter informações adicionais, consulte Propagando as Credenciais de Segurança para o CICS Transaction Server para z/OS e Propagação do Token de Identidade e Segurança.
Você pode especificar um nome de transação espelhada no nó CICSRequest com o qual tarefas e programas do CICS são executados. Esse agrupamento auxilia muito na coleção de estatísticas, contabilidade e ajuda na tomada de decisões sobre prioridade de tarefas. Para obter mais informações sobre transações espelhadas, consulte Transações Espelhadas do CICS Transaction Server para z/OS.
Usando serviços configuráveis para o nó CICSRequest:
É possível configurar o nó CICSRequest para obter detalhes de conexão de um serviço configurável. Para obter detalhes sobre criar, alterar, relatar e excluir os serviços configuráveis, consulte Alterando Informações de Conexão para o Nó CICSRequest.
Quando tiver colocado uma instância do nó CICSRequest em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades.
Todas as propriedades obrigatórias para as quais é necessário inserir um valor (propriedades que não possuem um valor-padrão definido) são marcadas com um asterisco.
Configurando o nó CICSRequest para transações coordenadas:
O valor configurado para Nó de Transação define se as solicitações para o nó CICSRequest são tratadas como transacionais ou não transacionais.
Se um encerramento de forma anormal ocorrer e o nó CICSRequest estiver configurado para participar da transação do broker, a tarefa CICS será imediatamente retrocedida. Se diversos nós do CICS estiverem envolvidos na unidade de trabalho, a atividade do CICS de cada um dos nós será retrocedida, independentemente se o encerramento anormal for manipulado por meio de um terminal com erro ou falha. Qualquer trabalho adicional realizado pelo CICS como parte do processamento da mensagem é efetuado sob uma nova unidade de trabalho.
Você pode substituir valores dinamicamente, em uma base por mensagem, no ambiente local. É possível substituir o programa CICS que você está chamando, o comprimento da COMMAREA, as transações espelhadas e o processamento da mensagem de resposta. Para informações adicionais, consulte Substituições do Ambiente Local para o Nó de CICSRequest.
Terminal | Descrição |
---|---|
In | O terminal de entrada que aceita a mensagem para processamento pelo nó. O nó CICSRequest é conduzido por uma mensagem que chega no terminal In. Os dados são obtidos da árvore de mensagens e são enviados para CICS. |
Out | O terminal de saída a partir do qual a árvore de mensagens é propagada, incluindo os dados retornados do CICS. |
Falha | O terminal de saída para o qual um mensagem é roteada se for detectada uma exceção do nó de CICSRequest ou ocorrer uma falha de conexão do nó de CICSRequest com o CICS. |
Erro | O terminal de saída para o qual uma mensagem é propagada se ocorre um erro do CICS (encerramento de forma anormal). A mensagem de entrada é propagada com um campo CICS\AbendCode no LocalEnvironment. Se o terminal Error não estiver conectado e ocorrer um encerramento de forma anormal do CICS, o encerramento de forma anormal será perdido. |
Timeout | O terminal de saída para o qual a mensagem é propagada se ocorre um tempo limite por pedido quando um pedido individual é enviado ao CICS, mas o pedido demora muito tempo. A mensagem de saída contém o corpo da mensagem de entrada e uma exceção de tempo limite na ExceptionList. Se o terminal Timeout não estiver conectado e ocorrer um tempo limite, a exceção de tempo limite do pedido será roteada para o terminal Failure. Se o terminal Failure não estiver conectado, o broker lançará uma exceção e retornará o controle para o nó de envio de dados mais próximo que pode processá-lo. O comportamento padrão é que a mensagem seja retornada ao nó de entrada. |
As tabelas a seguir descrevem as propriedades do nó CICSRequest.
A coluna da tabela intitulada O indica se a propriedade é obrigatória. Por exemplo, a propriedade é marcada com um asterisco significando que é necessário inserir um valor se nenhum padrão é definido.
A coluna intitulada C indica se a propriedade é configurável. Por exemplo, é possível alterar o valor quando você inclui o fluxo de mensagens no arquivo BAR para implementá-lo.
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Nome de nó | SIM | Não | Pedido CICS | O nome do nó. |
Descrição curta | Não | Não | Nenhum | Uma breve descrição do nó. |
Descrição Longa | Não | Não | Nenhum | Texto que descreve a finalidade do nó no fluxo de mensagens. |
Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Servidor CICS | SIM | SIM | Nenhum | A propriedade de
servidor CICS é definida como um nome de
serviço configurável, por exemplo: myCICSConnection, ou como uma URL. Uma URL permite especificar um protocolo, um nome do host e
um número da porta, que são as informações mínimas necessárias para conectar-se
à região de destino do CICS. A URL deve ser constituída da seguinte estrutura: protocol://hostname:port Em que:
Por exemplo: tcp://mycicsregion.com:12345 ou ssl://mycicsregion.com:56789. É possível obter os valores de hostname e port a partir da definição de IPIC TCPIPSERVICE na região CICS de destino. |
cicsServer |
Nome do Programa | SIM | Não | Nenhum | A propriedade Nome de programa é o nome do aplicativo que está na região do CICS de destino que você está chamando. Os programas que usam COMMAREAs ou canais são suportados. Você pode substituir essa propriedade no ambiente local especificando um valor no seguinte local:
|
|
Estrutura de dados | SIM | Não | Commarea | Se deve ser usada uma estrutura de dados de canal ou COMMAREA. O padrão para essa propriedade é Commarea. A decisão depende do programa CICS de destino, por exemplo; se o programa de destino é baseado em canal ou não. | |
Comprimento da Commarea | SIM | Não | 0 | A propriedade Comprimento da Commarea é o tamanho, em bytes, da COMMAREA que é usada pelo programa CICS. O valor do tamanho do byte é enviado para o CICS, e antes de o programa ser iniciado, uma área da memória é criada para corresponder a esse número. Por exemplo, se você enviar um valor de Comprimento da Commarea igual a 100, 100 bytes serão alocados. O programa acessa esta área como a DFHCOMMAREA. Assegure-se de que o valor da propriedade Comprimento da Commarea seja grande o suficiente para conter os dados da solicitação de entrada, ou os dados de resposta de saída, mas não exceda o valor máximo de 32767 bytes. Se o valor de Comprimento da Commarea não for grande o suficiente para ser utilizado para os dados de resposta ou dados do pedido, ocorrerá uma fuga de memória no CICS. O tamanho da COMMAREA não pode ser alterado pelo programa CICS. Se os dados do pedido serializados forem maiores que o Comprimento da Commarea, os dados serão truncados no Comprimento da Commarea. É possível obter o valor Comprimento da Commarea do administrador ou desenvolvedor do CICS. Você pode substituir essa propriedade no ambiente local especificando um valor no seguinte local:
Essa propriedade não será configurável se um valor de Canal for selecionado para a propriedade Estrutura de Dados. |
|
Identidade de Segurança | Não | SIM | Nenhum | O nome do objeto de identidade de segurança que é criado e configurado pelo comando mqsisetdbparms, que contém o ID do usuário e a senha
a serem utilizados pelo broker para autenticar a conexão com o CICS.
Utilize o comando mqsisetdbparms para configurar o ID do usuário e a senha da identidade de segurança a ser acessado pelo broker. O valor-padrão para esta propriedade é None, o que significa que o ID do usuário e a senha não são transmitidos para o CICS. Para obter informações adicionais sobre o suporte à identidade de segurança do CICS, consulte Comando mqsisetdbparms. |
securityIdentity |
Tempo limite do pedido (em segundos) | SIM | SIM | 120 | Se os pedidos individuais enviados ao CICS demorarem mais tempo do que o especificado
aqui, a tentativa de pedido será abandonada. Um tempo limite de pedido faz com que uma exceção seja propagada a partir do terminal Timeout. Se o terminal Timeout não estiver conectado, a exceção de tempo limite do pedido será roteada para o terminal Failure. Se o terminal Failure não estiver conectado, o broker lançará uma exceção e retornará o controle para o nó de envio de dados mais próximo que pode processá-lo. O comportamento padrão é que a mensagem seja retornada ao nó de entrada. Um valor 0 indica que não ocorre nenhum tempo limite. |
requestTimeoutSecs |
ID de transação espelhada | Não | SIM | Nenhum | Você pode especificar um nome de transação espelhada configurando essa propriedade; entretanto, o valor da propriedade ID de Transação Espelhada que você especifica deve corresponder a um recurso definido TRANSACTION no CICS. Por exemplo, se você tiver um recurso TRANSACTION definido de ATRN no CICS, e quiser que tarefas e programas sejam executados nessa transação, deverá configurar ATRN como o valor da propriedade ID de Transação Espelhada. Quando o fluxo de mensagens que contém o nó CICSRequest configurado é implementado, qualquer programa CICS que for iniciado depois disso aparecerá no CICS como em execução na transação espelhada especificada. Se o valor da propriedade ID de Transação Espelhada não for configurado, o nome da transação espelhada será por padrão CPMI se chamada por uma plataforma distribuída, ou CSMI, se chamada por um sistema z/OS. Para obter mais informações sobre transações espelhadas, consulte Transações Espelhadas do CICS Transaction Server para z/OS. |
mirrorTran |
Configurar EIBTRNID somente | Não | SIM | Desmarcada | Você pode usar a forma mais fraca de transação espelhada que não altera o recurso TRANSACTION, mas configura uma variável chamada EIBTRNID, que está disponível ao programa chamado. É possível configurar a variável EIBTRNID para informar ao programa em qual recurso TRANSACTION ele está em execução, sem o recurso TRANSACTION sendo definido no CICS. Por exemplo, você pode especificar essa forma mais fraca de transação espelhada configurando a propriedade ID de Transação Espelhada com o nome do recurso TRANSACTION obrigatório; por exemplo, ATRN, e selecionando essa propriedade. Quando o fluxo de mensagens que contém o nó CICSRequest configurado é implementado, qualquer programa CICS que for iniciado depois disso aparecerá no CICS como em execução na transação espelhada especificada. Se o valor da propriedade ID de Transação Espelhada não for configurado, o nome da transação espelhada será por padrão CPMI se chamada por uma plataforma distribuída, ou CSMI, se chamada por um sistema z/OS. Para obter mais informações sobre transações espelhadas, consulte Transações Espelhadas do CICS Transaction Server para z/OS. |
eibtrnidOnly |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Modo de Transação | Não | Não | Automático | Especifica como as atualizações são gerenciadas.
Para obter informações adicionais sobre transacionalidade, consulte Transações de Fluxos de Mensagens. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Local dos dados | SIM | Não | $Body | O local na árvore de mensagem recebida a partir do qual dados são recuperados para e a partir do pedido enviado do nó CICSRequest para o CICS. O valor padrão $Body representa o corpo da mensagem que chega. É possível inserir qualquer expressão XPath ou ESQL que define o local da árvore de mensagens para serializar e enviar ao CICS. |
Local da substituição do nome do programa | Não | Não | $LocalEnvironment/Destination/CICS/CICSProgramName | O elemento da montagem da mensagem que contém o nome do programa a executar no CICS. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Local de dados de resultado | Não | Não | $ResultRoot | Essa propriedade especifica qual subárvore do resultado colocar na
mensagem. Se um valor não for especificado para essa propriedade,
$ResultRoot será usado como padrão e a
resposta inteira será colocada na mensagem de saída no local especificado em
Local de Dados de Saída. Consulte o Combinando uma Mensagem de Resultado com uma Mensagem Recebida. |
Local de dados de saída | Não | Não | $OutputRoot | O local da árvore de mensagens para o qual o nó CICSRequest
envia saída.
O valor padrão $OutputRoot substitui a mensagem que chega com a resposta. Consulte o Combinando uma Mensagem de Resultado com uma Mensagem Recebida. |
Copiar ambiente local | Não | Não | Selecionados | Esta propriedade controla se o ambiente local de entrada é copiado ou propagado. Por padrão, esta caixa de opções está selecionada, o que significa que o ambiente de local é copiado para que o ambiente local de entrada seja preservado. As inclusões ao ambiente local são visíveis apenas aos nós de recebimento de dados deste nó. Se esta caixa de resposta estiver selecionada, o ambiente local de entrada é utilizado para as mensagens de saída. Quaisquer alterações feitas no ambiente local por este nó são visíveis em ambos fluxos de envio e recebimento de dados após este nó ter sido concluído. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Domínio de mensagem | Não | Não | Nenhum |
É possível substituir essa propriedade no ambiente local especificando um valor no local a seguir:
|
Conjunto de Mensagens | Não | Não | Nenhum |
Se você configurar esta propriedade e, em seguida, atualizar as dependências do projeto para remover esta referência do conjunto de mensagens, será emitido um aviso. Atualize a propriedade Conjunto de Mensagens ou restaure a referência para este projeto de conjunto de mensagens. Você pode substituir essa propriedade no ambiente local especificando um valor no seguinte local:
|
Tipo de mensagem | Não | Não | Nenhum |
É possível substituir essa propriedade no ambiente local especificando um valor no local a seguir:
|
Formato de Mensagem | Não | Não | Nenhum |
É possível substituir essa propriedade no ambiente local especificando um valor no local a seguir:
|
ID do conjunto de caracteres codificados de mensagens | Não | Não | EBCDIC (037) |
É possível substituir essa propriedade no ambiente local especificando um valor no local a seguir:
Para obter uma lista de valores válidos, consulte Páginas de Códigos Suportadas. |
Codificação de mensagens | Não | Não | Big Endian, com S390 Floating Point (785) |
Os valores válidos são:
Você pode substituir essa propriedade no ambiente local especificando um valor no seguinte local:
|
Se os detalhes do contêiner forem especificados na tabela Opções de Canal, esses detalhes serão usados preferencialmente às propriedades de modelo de mensagem padrão. Se os detalhes do contêiner não forem especificados na tabela Opções de Canal e a caixa de seleção de atributo for marcada, um par nome-valor será criado. Se os detalhes do contêiner não forem especificados na tabela Opções de Canal e a caixa de seleção de atributo de nome/valor não for marcada, serão usadas as propriedades de modelo de mensagem padrão.
As propriedades Opções do Analisador do nó CICSRequest são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Cronometragem de análise | SIM | Não | On Demand | Essa propriedade controla quando uma mensagem de resposta é analisada. Os valores
válidos são On
Demand,
Imediato e
Completo. Para obter uma descrição completa desta propriedade, consulte Analisando On Demand. |
Construir árvore utilizando tipos de dados de esquema XML | SIM | Não | Desmarcada | Esta propriedade controla se o analisador XMLNSC cria elementos de sintaxe na árvore de mensagens com tipos de dados retirados do Esquema XML. Você pode selecionar esta propriedades apenas se configurar a propriedade Validar na guia Validação ou Conteúdo ou Conteúdo e Valor. |
Utilizar analisador compacto XMLNSC para domínio XMLNS | SIM | Não | Desmarcada | Essa propriedade controla se o Analisador Compacto XMLNSC (XMLNSC Compact Parser) é utilizado para mensagens no Domínio XMLNS (XMLNS Domain). Se você definir essa propriedade, os dados da mensagem de resposta serão exibidos em XMLNSC nos nós que estão conectados ao terminal de saída, quando o cabeçalho MQRFH2 de entrada ou o domínio das propriedades Análise de Mensagem de Resposta for XMLNS. |
Reter conteúdo misto (Retain mixed content) | SIM | Não | Desmarcada | Essa propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar texto misto em uma mensagem de resposta. Se você selecionar a caixa de opções, serão criados elementos para texto misto. Se você desmarcar a caixa de opções, texto misto será ignorado e nenhum elemento será criado. |
Reter comentários (Retain comments) | SIM | Não | Desmarcada | Essa propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar comentários em uma mensagem de resposta. Se você selecionar a caixa de opções, serão criados elementos para comentários. Se você desmarcar a caixa de opções, comentários serão ignorados e nenhum elemento será criado. |
Reter instruções de processamento (Retain processing instructions) | SIM | Não | Desmarcada | Essa propriedade controla se o analisador XMLNSC cria elementos na árvore de mensagens ao encontrar instruções de processamento em uma mensagem de resposta. Se você selecionar a caixa de opções, serão criados elementos para instruções de processamento. Se você desmarcar a caixa de opções, instruções de processamento serão ignoradas e nenhum elemento será criado. |
Elementos opacos | Não | Não | Em Branco | Essa propriedade é utilizada para especificar uma lista de elementos na mensagem de resposta que devem ser analisados em segundo plano pelo analisador XMLNSC. A análise de ignorados será desempenhada apenas se a validação não estiver ativada (ou seja, se Validar for Nenhum); as entradas especificadas em Elementos Ignorados serão ignoradas se a validação estiver ativada. |
As propriedades Validação do nó CICSRequest são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Validate | SIM | SIM | Nenhum(a) | Essa propriedade controla se a validação ocorre. Os valores válidos são Nenhum, Conteúdo e Valor, Conteúdo e Herdar. | validateMaster |
Ação de falha | SIM | Não | Exceção | Essa propriedade controla o que acontecerá se a validação falhar. Você pode configurar essa propriedade somente se configurar Validar como Conteúdo ou Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceções. |
Propriedade | M | P | Default | Descrição |
---|---|---|---|---|
Eventos | Não | Não | Nenhum | Eventos definidos para o nó são exibidos nesta guia. Por padrão, nenhum evento de monitoramento é definido em um nó do fluxo de mensagens. Utilize Incluir, Editar,
e Excluir para criar, alterar ou excluir eventos de monitoração no nó; consulte Configurando fontes de eventos de monitoramento utilizando propriedades de monitoramento para detalhes. É possível ativar e desativar eventos mostrados aqui selecionando ou desmarcando a caixa de opções Ativado. |