Agregação de Fluxo de Mensagens

Agregação é a geração e difusão de pedidos relacionados derivados de uma única mensagem de entrada e a recepção de respostas correspondentes para produzir uma mensagem de resposta única e agregada.

O pedido inicial recebido pelo fluxo de mensagens, representando uma coleção de itens de pedido relacionados, é dividido no número apropriado de pedidos individuais para atender às subtarefas do pedido inicial. Esse processo é conhecido como difusão e é fornecido por um fluxo de mensagens que inclui nós de agregação.

As respostas de subtarefas são combinadas e intercaladas em uma única resposta que é retornada ao solicitante original (ou outro aplicativo de destino) para indicar a conclusão do processamento. Esse processo é conhecido como recepção e também é fornecido por um fluxo de mensagens que inclui nós de agregação.

Você pode iniciar a agregação enviando uma mensagem para um fluxo de mensagens de um aplicativo cliente que está conectado ao intermediário através de qualquer protocolo suportado e a resposta agregada também pode ser enviada para um aplicativo cliente através de todos esses protocolos. As mensagens emitidas pelo fluxo de mensagens de difusão e as respostas recebidas pelo fluxo de mensagens de recepção devem ser mensagens de pedido/resposta. Você fica, portanto, limitado aos aplicativos cliente que conectam utilizando o WebSphere MQ Enterprise Transport (enviando e recebendo mensagens para e a partir dos nós MQInput e MQOutput) ou aos clientes que utilizam outro protocolo suportado por nós de entrada e saída definidos pelo usuário que estão de acordo com o modelo de comunicação de pedido/resposta.

O WebSphere Message Broker fornece três nós do fluxo de mensagens que suportam agregação:

Quando você inclui esses nós em seus fluxos de mensagens, os diversos pedidos de difusão são emitidos em paralelo a partir de um fluxo de mensagens. Isso está em contraste com a operação padrão do fluxo de mensagens no qual cada nó executa seu processamento em seqüência.

Você também pode utilizar esses nós para emitir pedidos para aplicativos fora do ambiente do intermediário; as mensagens podem ser enviadas de forma assíncrona para aplicativos externos ou serviços, respostas recuperadas desses aplicativos e respostas combinadas para fornecer uma única resposta para a mensagem de pedido original.

Esses nós também permitem um aperfeiçoamento no tempo de resposta, porque pedidos lentos podem ser executados em paralelo e não precisam seguir uns aos outros seqüencialmente. Se as subtarefas puderem ser processadas de forma independente, e não precisarem ser tratadas como parte de uma única unidade de trabalho, elas poderão ser processadas por fluxos de mensagens separados.

Você pode projetar e configurar um fluxo de mensagens que fornece uma função semelhante sem utilizar os nós agregados, emitindo os pedidos de subtarefas para outro aplicativo (por exemplo, utilizando o nó HTTPRequest) e registrando os resultados de cada um no Ambiente Local. Após a conclusão de cada subtarefa, você pode intercalar os resultados de LocalEnvironment em um nó Compute e criar a mensagem de resposta combinada para propagar o aplicativo de destino. Se você fizer isso, todas as subtarefas serão executadas seqüencialmente e não fornecerão os benefícios de desempenho de operação paralela que podem ser obtidos utilizando os nós agregados.

Exemplos de fluxos de agregação utilizando os nós agregados são fornecidos na Amostra Aggregation e na Amostra Airline Reservations. A amostra Aggregation demonstra uma agregação simples de quatro vias e a amostra Airline Reservations simula pedidos relacionados a um serviço de reserva de vôo e ilustra as técnicas associadas aos fluxos de agregação.

Início da mudançaEm releases anteriores do WebSphere Message Broker, a agregação utilizava uma tabela no banco de dados do intermediário para persistir pedidos de agregação. Do WebSphere Business Integration Message Broker Versão 5.0 em diante, você pode utilizar o WebSphere MQ. O funcionamento externo dos nós de agregação está inalterado, mas você pode configurar um grupo de execução para utilizar filas do WebSphere MQ para armazenar agregações em vez de uma tabela de banco de dados. A utilização do WebSphere MQ dessa forma aprimora o desempenho e significa que a agregação pode ser executada em um modo não-persistente quando a persistência dos pedidos de agregação não for requerida. Para obter detalhes sobre como migrar e configurar um grupo de execução para utilizar o WebSphere MQ, consulte Utilizando WebSphere MQ para Armazenar Estado em Nós de Agregação.Fim da mudança

Início da mudançaQuando você deixa de utilizar uma tabela de banco de dados para utilizar o WebSphere MQ para armazenar o estado da agregação, não acontece uma migração de agregações existentes, por isso é importante garantir que não existam agregações pendentes, pois essas agregações não serão migradas.Fim da mudança

Início da mudançaOs novos nós de agregação utilizam uma expiração de mensagem do WebSphere MQ para gerenciar os tempos limites de mensagens. Para que a expiração de mensagens funcione, as filas de mensagens devem ser procuradas. Os nós de agregação procuram as filas automaticamente para garantir que as mensagens expiradas sejam processadas. No z/OS, é possível configurar o WebSphere MQ para executar um processo de varredura que faça essa procura em vez de os nós de agregação. Para ativar a varredura, configure a propriedade EXPRYINT do gerenciador de filas do intermediário para 5 segundos. Se EXPRYINT não for configurada ou for configurada para um valor maior que 10 segundos, as agregações serão invertidas e passam a procurar automaticamente as filas de agregação.Fim da mudança

Conceitos relacionados
Nós do Fluxo de Mensagens
Tarefas relacionadas
Projetando um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Configurando Fluxos de Agregação
Referências relacionadas
Nós Internos
Nó AggregateControl
Nó AggregateReply
Nó AggregateRequest
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac00660_