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 o Fluxo de Difusão de Agregação

O fluxo de difusão de agregação recebe a mensagem de entrada inicial e a reestrutura para apresentar vários pedidos a vários aplicativos de destino.

Antes de começar:

É possível incluir os fluxos 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.

Para revisar um exemplo de um fluxo de fan-out fornecido com o WebSphere Message Broker, consulte a seguinte amostra:

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 difusão:

  1. Crie um fluxo de mensagens para fornecer o processamento de difusão. Para obter informações adicionais, consulte Criação de um Fluxo de Mensagens.
  2. Inclua os nós a seguir no fluxo de mensagens e, em seguida, configure-os e conecte-os conforme descrito.
    Nó Input
    O nó input recebe uma mensagem de entrada a partir da qual várias mensagens de pedido são geradas. Esse nó pode ser qualquer um dos nós incorporados ou um nó de entrada definido pelo usuário.
    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 para esse nó. Por exemplo, especifique o nome de uma fila do WebSphere MQ na propriedade Nome da fila. O nó MQInput recupera mensagens dessa fila.
    3. Opcional: configure valores para qualquer outra propriedade que desejar configurar para esse nó. Por exemplo, para assegurar-se de que mensagens de solicitação agregada sejam colocadas sob o ponto de sincronização, configure a propriedade Modo de transação como Sim. Essa opção evita a situação em que o nó AggregateReply recebe mensagens de resposta antes de receber a mensagem de controle que o informa sobre a instância de agregação. Colocar o fluxo de fan-out sob controle transacional assegura que o fluxo de fan-out seja concluído antes das mensagens de resposta chegarem ao AggregateReply.
    4. Conecte o terminal Out do nó de entrada ao terminal In de um nó AggregateControl. Esta opção representa a configuração mais simples; se apropriado, você pode incluir outros nós entre o nó de entrada e o nó AggregateControl. Por exemplo, armazene a solicitação para fins de auditoria (em um nó Banco de Dados), ou inclua um identificador exclusivo na mensagem (em um nó Compute).
    5. Opcional: se os fluxos fan-out e fan-in forem combinados em um fluxo de mensagens, modifique a propriedade Modo de ordem na guia Avançado. Selecione a opção Por Ordem de Fila e certifique-se de que a propriedade Ordem Lógica também esteja selecionada. Essas opções forçam o nó de entrada a ter um encadeamento único para manter a ordem lógica das mensagens que chegam na fila. Os encadeamentos de instâncias adicionais disponibilizados são então compartilhados apenas entre os nós de entrada de fan-in para melhorar o desempenho de agregação. Se os fluxos fan-in e fan-out estiverem em fluxos de mensagens separados, esta etapa não será necessária, porque você poderá disponibilizar encadeamentos adicionais especificamente para o fluxo de fan-in.
    AggregateControl
    O nó AggregateControl atualiza o ambiente local associado à mensagem de entrada com informações necessárias para o nó AggregateRequest. O nó AggregateControl cria a pasta LocalEnvironment.ComIbmAggregateControlNode. Essa pasta e seus campos são para uso interno pelo WebSphere Message Broker e você não deve contar com sua existência ou seus valores ao desenvolver seus fluxos de mensagens.
    1. Selecione o nó do AggregateControl para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Configure a propriedade Nome agregado do nó AggregateControl para identificar esta agregação específica. Ela é utilizada posteriormente para associar este nó AggregateControl a um nó AggregateReply específico. O nome Agregado que você especifica deve ser contextualmente exclusivo em um broker.
    3. Opcional: configure a propriedade Tempo Limite para especificar quanto tempo o broker aguardará a chegada de respostas antes de executar ação (descrito em Configurando Valores de Tempo Limite para Agregação). Se um tempo limite não estiver configurado no nó AggregateControl, os pedidos agregados armazenados internamente não serão removidos, a menos que todas as mensagens de resposta agregadas sejam retornadas. Esta situação pode levar a um acúmulo gradual de mensagens nas filas internas. Para evitar esta situação, configure o tempo limite como um valor diferente de zero (zero significa que um tempo limite nunca ocorre) para que, quando o tempo limite for atingido, os pedidos sejam removidos e as filas não sejam preenchidas com pedidos redundantes. Mesmo que os tempos limite não sejam necessários ou esperados, é recomendável configurar o valor de tempo limite como um valor alto, por exemplo, 86400 segundos (24 horas) para que as filas, ocasionalmente, sejam limpas de agregações antigas.
    4. Conecte o terminal Out do nó AggregateControl ao terminal In de um ou mais nós Compute que fornecem a análise e interrupção do pedido na mensagem de entrada propagada neste terminal.
    Atenção: O terminal de controle do nó do AggregateControl foi reprovado no Versão 6.0 e, por padrão, qualquer conexão deste terminal com o nó do AggregateReply (direta ou indireta) será ignorada. Esta configuração aumenta a eficiência de fluxos de agregação e não danifica a confiabilidade de agregações. Essa é a configuração ideal.

    No entanto, se não desejar que uma mensagem de controle seja enviada do nó AggregateControl para o nó AggregateReply, será necessário conectar o terminal Control ao nó AggregateReply correspondente no fluxo de fan-in (direta ou indiretamente, conforme descrito em Associando Fluxos de Agregação de Difusão e Recepção). Se você conectá-lo indiretamente ao nó AggregateReply, por exemplo, por meio de um nó MQOutput, deverá incluir um nó Compute para incluir os cabeçalhos apropriados na mensagem para assegurar que ele possa ser transmitido com segurança.

    Além disso, para que o terminal Control e conexões dele sejam reconhecidas, você deve ativar a variável de ambiente MQSI_AGGR_COMPAT_MODE. No entanto, escolher essa opção tem implicações em relação ao desempenho e ao comportamento das agregações de mensagens. Para obter uma descrição completa dessas implicações e da variável de ambiente, consulte Utilizando Mensagens de Controle em Fluxos de Agregação.

    Compute
    O nó Compute extrai informações da mensagem de entrada e constrói uma nova mensagem de saída.

    Se os aplicativos de destino que manipulam os pedidos de subtarefa puderem extrair informações de que precisam da única mensagem de saída, não será necessário incluir um nó Compute para dividir a mensagem. Você pode transmitir toda a mensagem de entrada para todos os aplicativos de destino.

    Se seus aplicativos de destino esperam receber um pedido individual, não a mensagem de entrada inteira, será necessário incluir um nó Compute para gerar cada mensagem de saída de subtarefa individual a partir da mensagem de entrada. Configure cada nó Compute da seguinte maneira, copiando o subconjunto apropriado da mensagem de entrada para cada mensagem de saída:

    1. Selecione o nó do Compute para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Selecione um valor para a propriedade Básica Modo de cálculo. Essa propriedade especifica quais seções da árvore de mensagens são modificadas pelo nó. O nó AggregateControl insere elementos na árvore de ambiente local na mensagem de entrada que o nó AggregateRequest lê quando a mensagem o atinge. Assegure-se de que o ambiente local seja copiado da mensagem de entrada para a mensagem de saída no nó Compute. Esta configuração acontece automaticamente, a menos que você especifique um valor que inclua ambiente local (um de Todos, LocalEnvironment, LocalEnvironment e Mensagem ou Exceção e LocalEnvironment).

      Se você especificar um desses valores, o broker assumirá que o nó Compute está sendo customizado com o ESQL que grava no ambiente local e que todos os elementos dessa árvore que forem necessários na mensagem de saída estão sendo copiados.

      Para modificar o ambiente local, inclua a seguinte instrução para copiar as informações agregadas necessárias da mensagem de entrada para a mensagem de saída:

      SET OutputLocalEnvironment.ComIbmAggregateControlNode = 
                  InputLocalEnvironment.ComIbmAggregateControlNode;
    3. Opcional: configure valores para qualquer outra propriedade que desejar configurar para esse nó.
    4. Conecte o terminal Out de cada nó Compute ao terminal In do nó de saída que representa o destino da mensagem de pedido de saída criada a partir da mensagem de entrada neste nó.
    Nó Output
    Inclua um nó de saída para cada mensagem de saída gerada no fluxo de difusão. Configure cada nó, conforme descrito posteriormente nesta seção, com as modificações apropriadas para cada destino.

    O nó de saída deve ser um nó de saída que suporta o modelo de pedido/resposta, como um nó MQOutput, ou uma mistura destes nós (dependendo dos requisitos dos aplicativos de destino).

    1. Selecione o nó de saída para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Especifique o destino das mensagens de saída para esse nó. Por exemplo, especifique o nome de uma fila do WebSphere MQ na propriedade Nome da fila para a qual o nó MQOutput envia mensagens. O aplicativo de destino deve processar seu pedido e enviar a resposta ao destino de reposta indicado na sua mensagem de entrada (por exemplo o WebSphere MQ ReplyToQueue).
    3. Clique em Solicitação na visualização esquerda e configure valores para essas propriedades para especificar que as respostas sejam enviadas para a fila de entrada do fluxo de fan-in.
    4. Opcional: configure valores para qualquer outra propriedade que desejar configurar para esse nó.
    5. Conecte o terminal Out do nó de saída ao terminal In de um nó AggregateRequest. Quando a mensagem é propagada pelo terminal de Saída do nó de saída, o nó de saída integrado atualiza a pasta WrittenDestination no ambiente local associado com as informações adicionais exigidas pelo nó AggregateRequest.

      As informações gravadas pelos nós integrados são o nome da fila, o nome do gerenciador de filas, o ID da mensagem e o ID de correlação (do MQMD), além do identificador de resposta da mensagem (configurado com o mesmo valor que o ID da mensagem).

    AggregateRequest
    Inclua um nó AggregateRequest para cada mensagem de saída gerada em seu fluxo de fan-out.
    1. Selecione o nó do AggregateRequest para abrir a visualização Propriedades. As propriedades do nó são exibidas.
    2. Configure a propriedade Básica Nome da pasta como um valor que identifique o tipo de pedido que foi enviado. Este valor é utilizado pelo nó AggregateReply para corresponder à mensagem de resposta quando ela for recebida no fluxo de fan-in. O nome da pasta especificado para cada pedido gerado pelo fluxo de difusão deve ser exclusivo.

    O nó AggregateRequest grava um registro no WebSphere MQ para cada mensagem que ele processa. Este registro permite que o nó AggregateReply identifique a qual pedido cada resposta está associada. Se seus nós de saída não forem transacionais, a mensagem de resposta poderá chegar no fluxo de recepção antes da consolidação da atualização desse banco de dados. Para obter detalhes sobre como é possível utilizar tempos limites para evitar essa situação, consulte Configurando Valores de Tempo Limite para Agregação.

    CUIDADO:
    Embora o uso de tempos limite possa ajudar a evitar a situação descrita anteriormente, configure seu fluxo de fan-out para ser transacional. Portanto, as mensagens de resposta não podem chegar ao fluxo de fan-in antes de os nós AggregateRequest correspondentes terem confirmado suas atualizações do banco de dados.
  3. Para salvar o fluxo de mensagens e validar sua configuração, pressione Ctrl-S ou clique em Arquivo > Salvar.
Para coletar as respostas de agregação iniciadas por seu fluxo de fan-out, crie um fluxo de fan-in, conforme descrito em Criando um Fluxo de Recepção de Agregação.
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:21


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