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:

  1. 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.
  2. XML_FlightQueryReply, que localiza as informações necessárias para responder aos dois pedidos, consulte Sobre o fluxo de mensagens XML_FlightQueryReply.
  3. 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.

Captura de Tela do Fluxo de Mensagens XML_FlightQuery_Out

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:

  1. 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.
  2. 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.
  3. O nó RequestDetails gera as mensagens de pedidos:
  4. 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.
  5. 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.
  6. 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