Sobre o Fluxo de Mensagens XML_FlightQueryReply

O XML_FlightQueryReply é o fluxo de mensagens de resposta no exemplo de agregação, XML_FlightQuery. O 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 vôo e informações sobre o passageiro.
  2. XML_FlightQueryReply, que localiza as informações necessárias para responder aos dois pedidos.
  3. XML_FlightQueryIn, o fluxo de mensagens de recepção que combina as respostas em uma única mensagem de resposta.

A mensagem de entrada para XML_FlightQuery solicita informações sobre um vôo específico e detalhes sobre os passageiros com assentos reservados nesse vôo.

A figura a seguir mostra o fluxo de mensagens XML_FlightQueryReply.

Uma Captura de Tela do Fluxo de Mensagens XML_FlightQuery_Reply

A tabela a seguir lista os tipos de nós que são utilizados no fluxo de mensagens XML_FlightQueryReply.

Tipo de Nó Nome do Nó
MQInput XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS
Compute GetFlightDetails; GetPassengerDetails
MQReply MQMD_ReplyToQ
MQOutput XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2

Para obter informações adicionais, leia sobre os nós no fluxo de mensagens XML_FlightQueryReply na documentação do WebSphere Message Broker. Para consultar o ESQL utilizado nesse fluxo de mensagens, consulte Criando o fluxo de mensagens XML_FlightQueryReply.

O fluxo de mensagens XML_FlightQueryReply executa as seguintes ações:

  1. O nó XML_FLIGHTQUERY_FLIGHT coloca a mensagem de pedido na fila XML_FLIGHTQUERY_FLIGHT, então, transmite a mensagem de pedido, através do terminal Saída, para o nó GetFlightDetails. Como alternativa, se uma exceção for lançada no recebimento de dados e a mensagem for retrocedida para cá, o nó XML_FLIGHTQUERY_FLIGHT transmitirá a mensagem, através do terminal Capturar, ao nó XML_FLIGHTQUERY_FAIL_1.
  2. O nó XML_FLIGHTQUERY_PASSENGERS obtém a mensagem de pedido na fila XML_FLIGHTQUERY_PASSENGERS, então, transmite a mensagem de pedido, através do terminal Saída, para o nó GetPassengerDetails. Como alternativa, se uma exceção for lançada no recebimento de dados e a mensagem for retrocedida, o nó XML_FLIGHTQUERY_PASSENGERS transmitirá a mensagem, através do terminal Capturar, ao nó XML_FLIGHTQUERY_FAIL_2, que coloca a mensagem na fila XML_FLIGHT_QUERY_FAIL.
  3. O nó GetFlightDetails acessa a tabela XMLFLIGHTTB no banco de dados RESERVDB para obter informações sobre o vôo especificado na mensagem de pedido e anexa à mensagem de pedido informações sobre capacidade, assentos alocados e preço para a Primeira Classe e a Classe Econômica e informações sobre a origem e o destino do vôo.
  4. O nó GetFlightDetails transmite a mensagem de pedido modificada, através do terminal Saída, para MQMD_ReplyToQ.
  5. O nó GetPassengerDetails acessa a tabela XMLPASSENGERTB do banco de dados RESERVDB para obter informações sobre os passageiros com reservas para o vôo especificado na mensagem de pedido e anexa à mensagem de pedido uma lista de passageiros com reserva para o vôo.
  6. O nó GetPassengerDetails transmite a mensagem de pedido modificada, através do terminal Saída, para MQMD_ReplyToQ.
  7. O nó MQMD_ReplyTo verifica no cabeçalho MQMD da mensagem os valores ReplyToQ e ReplyToQMgr. O valor de ReplyToQ é XML_FLIGHTQUERY_REPLIES e o valor de ReplyToQMgr é WBRK6_DEFAULT_QUEUE_MANAGER.
  8. O nó MQMD_ReplyTo coloca a mensagem na fila XML_FLIGHTQUERY_REPLIES. Observe que esse nome de fila não está nas propriedades do nó; está no cabeçalho MQMD da mensagem.

O fluxo de mensagens XML_FlightQueryIn continua a agregação.

Ícone Página Principal   Voltar para Sobre a Amostra Reservas Aéreas