Sobre o Fluxo de Mensagens XML_FlightQueryIn

O XML_FlightQueryIn é um fluxo de mensagens de fan-in no exemplo de agregação, XML_FlightQuery. O XML_FlightQuery é construído a partir de três fluxos de mensagens curtos que comunicam-se através da colocação e da obtenção de mensagens das filas 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 o XML_FlightQuery solicita informações sobre um vôo específico e detalhes sobre os passageiros com assentos reservados no vôo.

A figura a seguir mostra o fluxo de mensagens XML_FlightQueryIn.

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_FlightQueryIn.

Tipo de Nó Nome do Nó
MQInput XML_FLIGHTQUERY_REPLIES
AggregateReply AggregateReplies
Compute BuildOutputMessage; ProcessTimeout
MQOutput XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

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

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

  1. O nó XML_FLIGHTQUERY_REPLIES obtém as duas mensagens de resposta da fila XML_FLIGHTQUERY_REPLIES, então, transmite cada mensagem de resposta, através do terminal Saída, para o nó AggregateReplies. Como alternativa, se uma exceção for lançada no recebimento de dados e a mensagem for retrocedida para cá, o nó XML_FLIGHTQUERY_REPLIES transmitirá a mensagem, através do terminal Capturar, ao nó XML_FLIGHTQUERY_FAIL, que coloca a mensagem na fila XML_FLIGHTQUERY_FAIL.
  2. O nó AggregateReplies combina as duas mensagens de resposta em uma única mensagem de resposta agregada, então, transmite a mensagem de resposta agregada, através do terminal Saída, para o nó BuildOutputMessage. Se a agregação exceder o tempo limite porque nem todas as respostas chegaram no intervalo de tempo limite (especificado nas propriedades do nó AggregateReplies), o nó AggregateReplies transmitirá a mensagem agregada incompleta, através do terminal Tempo Limite, para o nó ProcessTimeout. O nó ProcessTimeout, então, transmite a mensagem para o nó XML_FLIGHTQUERY_TIMEOUT, que coloca a mensagem na fila XML_FLIGHTQUERY_TIMEOUT.
  3. O nó BuildOutputMessage constrói uma mensagem de saída única a partir das informações na mensagem de resposta agregada. A mensagem de saída contém o número e a data do vôo; a capacidade, número de poltronas reservadas e o preço da poltrona para cada classe; uma lista de nomes de passageiros e seus números de reservas.
  4. O nó BuildOutputMessage transmite a mensagem de saída, através do terminal Saída, para o nó XML_FLIGHTQUERY_OUT, que coloca a mensagem de saída na fila XML_FLIGHTQUERY_OUT.

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