Sobre o Fluxo de Mensagens XML_FlightQueryOut
O XML_FlightQueryOut é o fluxo de mensagens de fan-out no exemplo de agregação, XML_FlightQuery.
XML_FlightQuery é construído a partir de três fluxos de mensagens curtos
que se comunicam obtendo, agregando e colocando mensagens nas filas locais do WebSphere
MQ. Os três fluxos de mensagens do XML_FlightQuery
são:
- XML_FlightQueryOut, o fluxo de mensagens de fan-out, que gera e difunde dois pedidos relacionados de informações sobre o vôo e sobre o passageiro.
- XML_FlightQueryReply,
que localiza as informações necessárias para responder aos dois pedidos, consulte
Sobre o fluxo de mensagens
XML_FlightQueryReply.
- XML_FlightQueryIn, o fluxo de mensagens fan-in, que combina as respostas em
uma única mensagem de resposta, consulte Sobre o
fluxo de mensagens XML_FlightQueryIn.
A mensagem de entrada de XML_FlightQuery solicita informações sobre um vôo
específico e os detalhes de passageiros que fizeram reservas de assentos no vôo.
O diagrama a seguir mostra o fluxo de mensagens XML_FlightQueryOut.

A tabela a seguir lista os tipos de nós que são utilizados no fluxo de mensagens XML_FlightQueryOut.
Tipo de Nó |
Nome de Nó |
MQInput |
XML_FLIGHTQUERY_IN |
AggregateControl |
RequestDetails |
MQOutput |
XML_FLIGHTQUERY_FAIL; XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
AggregateRequest |
RecordFlightRequest; RecordPassengerRequest |
Para obter mais informações sobre os nós usados nesta amostra, consulte
Nós integrados na documentação do
WebSphere Message Broker.
Para consultar o ESQL utilizado nesse fluxo de mensagens, consulte Criando o fluxo de mensagens XML_FlightQueryOut.
O fluxo de mensagens XML_FlightQueryOut executa as seguintes ações:
- O nó XML_FLIGHTQUERY_IN pega a mensagem de pedido da fila
XML_FLIGHTQUERY_IN e identifica a mensagem de entrada como estando no
domínio XMLNSC. O fluxo de mensagens deve, portanto, analisar a
mensagem usando o analisador XMLNSC.
- O nó XML_FLIGHTQUERY_IN transmite a mensagem de pedido através do
terminal Out para o nó RequestDetails.
Alternativamente, se uma exceção produziu recebimento de dados e a mensagem é
retornada para cá, o nó XML_FLIGHTQUERY_IN transmite a mensagem através do terminal Catch
para o nó XML_FLIGHTQUERY_FAIL, que coloca a mensagem na fila XML_FLIGHTQUERY_FAIL.
- O nó RequestDetails gera as mensagens de pedidos:
- Um pedido para detalhes do vôo listado na mensagem de entrada: a mensagem de pedido de vôo
- Um pedido para uma lista de passageiros com reservas no vôo listado na mensagem de entrada: a mensagem de pedido de passageiro
- O nó RequestDetails transmite a mensagem de pedido de vôo através do terminal Out
para o nó XML_FLIGHTQUERY_FLIGHT, e transmite a mensagem de pedido de passageiros através
do terminal Out para o nó XML_FLIGHTQUERY_PASSENGERS.
- O nó XML_FLIGHTQUERY_FLIGHT coloca a mensagem de pedido de vôo na fila
XML_FLIGHTQUERY_FLIGHT, e transmite a mensagem de pedido de vôo através do terminal
Out para o nó RecordFlightRequest.
Enquanto isso, o nó XML_FLIGHTQUERY_PASSENGERS coloca a mensagem de pedido de
passageiros na fila XML_FLIGHTQUERY_PASSENGERS, e transmite a mensagem de pedido de
passageiros através do terminal Out para o nó RecordPassengerRequest.
- O nó RequestDetail armazena o estado da agregação internamente no
intermediário.
O fluxo de mensagens XML_FlightQueryReply continua a agregação, consulte
Sobre o fluxo de mensagens XML_FlightQueryReply.
Voltar para a amostra Sobre as Reservas Aéreas