WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Criando um Fluxo de Recepção de Agregação

O fluxo fan-in de agregação recebe as respostas às mensagens de pedido que são enviadas pelo fluxo fan-out e constrói uma mensagem de resposta combinada contendo todas as respostas recebidas.

Antes de começar:

Você pode incluir o fluxo fan-out e fan-in no mesmo fluxo de mensagens. Entretanto, você pode preferir criar dois fluxos separados. Para obter informações adicionais sobre os benefícios de como configurar fluxos de mensagens separados, consulte Associando Fluxos de Agregação de Difusão e Recepção. Não implemente várias cópias do mesmo fluxo de fan-in no mesmo grupo de execução ou em grupos diferentes.

Se você não configurar o fluxo fan-out para ser transacional, os valores de tempo limite especificados podem resultar na mensagem de resposta combinada sendo gerada antes que o fluxo de fan-in receba todas as respostas. Para obter informações adicionais, consulte Criando o Fluxo de Difusão de Agregação.

Para rever um exemplo de um fluxo de fan-in, consulte a amostra a seguir:

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.

Para criar o fluxo de recepção:

  1. Crie um fluxo de mensagens para fornecer o processamento de recepção.
  2. Inclua os seguintes nós na visualização do editor e configure e conecte-os conforme descrito:
    Nó Input
    O nó de entrada recebe as respostas às várias mensagens de pedido geradas do fluxo fan-out.

    Este deve ser um nó de entrada que suporta o modelo de pedido/resposta, como um nó MQInput, ou uma mistura destes nós (dependendo dos requisitos dos aplicativos que enviam estas respostas). A resposta recebida por cada nó de entrada deve ser enviada pelo mesmo protocolo do pedido ao qual ele corresponde. Por exemplo, se você incluir um nó MQOutput no fluxo de fan-out, a resposta para esse pedido deverá ser recebida por um nó MQInput neste fluxo de fan-in.

    1. Selecione o nó de entrada para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Especifique a origem de mensagens de entrada desse nó, por exemplo, especifique o nome de uma fila do WebSphere MQ na propriedade Básica Nome da fila da qual o nó MQInput recupera mensagens.
    3. Opcional: especifique os valores para qualquer outra propriedade que deseja configurar para este nó.
    4. Conecte o terminal de Saída do nó de entrada ao terminal de Entrada de um nó do AggregateReply.

      Conecte os terminais dessa maneira para criar a configuração mais simples; se apropriado, é possível incluir outros nós entre o nó de entrada e o nó AggregateReply, por exemplo, talvez você queira armazenar as respostas dos propósitos de auditoria (em um nó Banco de Dados).

    Inclua apenas um nó de entrada que receba todas as mensagens de resposta de agregação nos inícios do fluxo fan-in conforme descrito anteriormente. Se você incluir vários nós de entrada, os encadeamentos iniciados por um nó de entrada de resposta específico poderão concluir a agregação e execução do fluxo de mensagens enquanto outros encadeamentos estão enviando suas mensagens de resposta para o nó AggregateReply e se tornando elegíveis para tempo limite. Utilize um único nó de entrada para ativar o processamento sequencial de respostas para cada agregação. Especifique instâncias adicionais para fornecer maior rendimento de processamento neste único nó; consulte Propriedades Configuráveis do Fluxo de Mensagens.

    AggregateReply
    O nó AggregateReply recebe as respostas de entrada do nó de entrada por meio de seu terminal In. O nó AggregateReply armazena cada mensagem de resposta para processamento subseqüente.

    Quando todas as respostas para um grupo particular de pedidos de agregação tiverem sido coletadas, o nó do AggregateReply criará uma mensagem de resposta agregada e irá propagá-la por meio do terminal de Saída.

    1. Selecione o nó do AggregateReply para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Configure a propriedade Nome agregado do nó AggregateReply para identificar esta agregação. Configure este valor para ser o mesmo valor configurado para a propriedade Nome agregado no nó AggregateControl correspondente no fluxo de fan-out.
    3. Opcional: para reter uma mensagem não reconhecida antes de propagá-la para o terminal Unknown, configure um valor para a propriedade Tempo limite de mensagem desconhecido. Se você estiver utilizando fluxos fan-out e fan-in separados, defina esse valor com um número diferente de zero se a mensagem de controle puder ser atrasada.
    4. Opcional: para identificar explicitamente mensagens não reconhecidas, conecte o terminal desconhecido a outro nó, ou seqüência de nós. Se você não conectar esse terminal a outro nó no fluxo de mensagens, as mensagens propagadas através desse terminal serão descartadas.
    5. Opcional: se você tiver especificado um valor de tempo limite para esta agregação no nó AggregateControl e desejar manipular explicitamente tempos limite que expiram antes do recebimento de todas as respostas, conecte o terminal Timeout a outro nó, ou seqüência de nós. As respostas agregadas parcialmente concluídas serão enviadas ao terminal de tempo limite se o cronômetro expirar. Se você não conectar esse terminal a outro nó no fluxo de mensagens, as mensagens propagadas através desse terminal serão descartadas.
    6. Opcional: especifique os valores para qualquer outra propriedade que deseja configurar para este nó.
    7. Conecte o terminal Out do nó AggregateReply ao terminal In de um nó Compute.
    Atenção: O terminal de Controle do nó AggregateReply foi descontinuado na Versão 6.0 e, por padrão, qualquer conexão com esse terminal (direta ou indireta) será ignorada. Essa alteração maximiza a eficiência dos fluxos de agregação e não danifica a confiabilidade das agregações. Essa configuração fornece o conteúdo ideal.

    No entanto, se quiser que o nó AggregateReply receba em seu terminal Control a mensagem de controle que foi enviada pelo nó AggregateControl correspondente no fluxo de fan-out, você deve fazer as conexões necessárias, conforme descrito em Criando o Fluxo de Difusão de Agregação. Mantenha o caminho do nó AggregateReply para o nó de saída o mais direto possível para aumentar o desempenho de agregações. Não modifique o conteúdo dessa mensagem de controle.

    Além disso, para que o terminal Control e conexões a ele sejam reconhecidas, você deve ativar a variável de ambiente MQSI_AGGR_COMPAT_MODE. Se você escolher essa opção, o desempenho e comportamento das agregações de mensagens poderão ser afetados; para obter uma descrição integral dessas implicações e da variável de ambiente, consulte Utilizando Mensagens de Controle em Fluxos de Agregação.

    As mensagens agregadas que são enviadas dos terminais de saída do nó AggregateReply (Out e Timeout) não são validadas. A validação de dados deve ser feita antes de as mensagens serem enviadas para o nó AggregateReply, porque ele ignora as opções de validação ao reconstruir as mensagens armazenadas.

    Compute
    O nó Compute recebe a mensagem que contém as respostas combinadas. Geralmente, o formato desta mensagem combinada não é válido para saída, porque a mensagem de resposta agregada possui uma estrutura incomum e não pode ser analisada no fluxo de bits requerido por alguns nós, por exemplo, o nó MQOutput. Os terminais Out e Timeout sempre propagam uma mensagem de resposta agregada, que sempre requer processamento adicional antes de ser propagada para um nó MQOutput. Portanto, é necessário incluir um nó Compute e configurar este nó para criar uma mensagem de saída válida.
    1. Selecione o nó do Compute para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Especifique na propriedade Básica Módulo ESQL o nome do módulo ESQL que customiza a função deste nó.
    3. Clique com o botão direito do mouse no nó e clique em Abrir ESQL para abrir o arquivo ESQL que contém o módulo para esse nó. O módulo é realçado na visualização do editor ESQL.
    4. Codifique o ESQL para criar uma única mensagem de saída a partir de respostas agregadas na mensagem de entrada.

      A mensagem de resposta agregada é propagada através do terminal Out. Informações sobre como é possível acessar seu conteúdo são fornecidas em Acessando o Conteúdo de Mensagens Combinadas.

    5. Opcional: especifique os valores para qualquer outra propriedade que deseja configurar para este nó.
    6. Conecte o terminal Out do nó Compute ao terminal In do nó de saída que representa o destino da única mensagem de resposta.
    Nó Output
    Inclua um nó output para seu fluxo de recepção. Esse nó pode ser qualquer um dos nós integrados ou um nó de saída definido pelo usuário.
    1. Selecione o nó de saída para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Especifique o destino da mensagem de saída desse nó, por exemplo, especifique na propriedade Básica Nome da fila o nome de uma fila do WebSphere MQ para a qual o nó MQOutput envia mensagens.
    3. Opcional: especifique os valores para qualquer outra propriedade que deseja configurar para este nó.
  3. Para salvar o fluxo de mensagens e validar sua configuração, pressione Ctrl-S ou clique em Arquivo > Salvar.

Acessando o Conteúdo de Mensagens Combinadas

O nó AggregateReply cria uma pasta na árvore de mensagens combinada abaixo de Root, chamada ComIbmAggregateReplyBody. Abaixo desta pasta, o nó cria várias subpastas utilizando os nomes configurados nos nós AggregateRequest. Essas subpastas são preenchidas com as mensagens de resposta associadas.

Por exemplo, as mensagens de pedidos podem ter nomes de pastas:

  • TAXI
  • HOTEL

A mensagem de resposta agregada resultante criada pelo nó AggregateReply pode ter uma estrutura como o exemplo a seguir:

O Diagrama Mostra a Árvore para o Conteúdo da Mensagem Agregada Criada sob o Elemento ComIbmAggregateReplyBody na Root. Seu conteúdo está descrito no texto circundante.

Utilize ESQL em um nó Compute para acessar a resposta da empresa de táxi utilizando o seguinte nome de correlação:

InputRoot.ComIbmAggregateReplyBody.TAXI.xyz

O nome da pasta não precisa ser exclusivo. Se você tiver vários pedidos com o nome de pasta TAXI, poderá acessar as respostas separadas utilizando a notação subscrita da matriz, por exemplo:

InputRoot.ComIbmAggregateReplyBody.TAXI[1].xyz
InputRoot.ComIbmAggregateReplyBody.TAXI[2].xyz
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:22


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ac12300_