Sobre o Fluxo de Mensagens XML_PassengerQuery

O fluxo de mensagens XML_PassengerQuery recupera os detalhes da reserva do passageiro especificado na mensagem de entrada. O tipo de informações na mensagem de saída depende das informações especificadas na mensagem de entrada:

Os fluxos de mensagens utilizam os nós RouteToLabel e Label para rotear dinamicamente uma mensagem, com base em informações da mensagem e sem ter que criar uma cadeia de nós de filtros, o que exigiria um resultado booleano true/false para rotear as mensagens ao longo de caminhos específicos.

Duas mensagens de entrada são fornecidas para a execução do fluxo de mensagens XML_PassengerQuery para demonstrar a recuperação dos dois tipos de informações descritos.

A figura a seguir mostra o fluxo de mensagens XML_PassengerQuery.

Uma Captura de Tela do Fluxo de Mensagens XML_PassengerQuery

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

Tipo de Nó Nome do Nó
MQInput XML_PASSENGERQUERY_IN
Compute DecideOnQuery; GetPassengerInformation; GetReservationsInformation
RouteToLabel

RouteToLabel

Label SinglePassenger; AllReservations
MQOutput XML_PASSENGERQUERY_FAIL_1; XML_PASSENGERQUERY_FAIL_2; XML_PASSENGERQUERY_OUT

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

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

  1. O nó XML_PASSENGERQUERY_IN obtém a mensagem de entrada da fila XML_PASSENGERQUERY_IN e identifica a mensagem de entrada como estando em um domínio XML. O fluxo de mensagens deve, portanto, analisar a mensagem utilizando o analisador de XML.
  2. O nó XML_PASSENGERQUERY_IN transmite a mensagem para o nó DecideOnQuery. Como alternativa:
  3. O nó DecideOnQuery decide qual caminho a mensagem deve seguir através do fluxo de mensagens. O caminho que a mensagem segue depende do tipo de informações fornecidas na mensagem. O nó atualiza o LocalEnvironment com as informações sobre o destino:
  4. O nó DecideOnQuery transmite a mensagem e o LocalEnvironment, através do terminal Saída, ao nó RouteToLabel.
  5. O nó RouteToLabel transmite a mensagem de entrada ao nó Label relevante: o nó SinglePassenger se o nó DecideOnQuery colocar Single Passenger no LocalEnvironment; o nó AllReservations se o nó DecideOnQuery colocar All Reservations no LocalEnvironment.
  6. O nó RouteToLabel transmite a mensagem de entrada para o nó SinglePassenger, o nó SinglePassenger transmite a mensagem de entrada, que contém um número de reserva, através do terminal Saída, para o nó GetPassengerInformation. O nó GetPassengerInformation procura o número da reserva na tabela XMLPASSENGERTB no banco de dados RESERVDB e constrói uma mensagem de saída a partir das informações encontradas na tabela XMLPASSENGERTB, incluindo o número da reserva, o nome completo do passageiro, o número do vôo, a data do vôo e a classe do assento. O nó GetPassengerInformation transmite a mensagem de saída, através do terminal Saída, ao nó XML_PASSENGERQUERY_OUT.
  7. Se o nó RouteToLabel transmitiu a mensagem de entrada para o nó AllReservations, o nó AllReservations transmitirá a mensagem de entrada, que contém um nome de passageiro, através do terminal Saída, para GetReservationsInformation. O nó GetReservationsInformation procura o nome do passageiro na tabela XMLPASSENGERTB no banco de dados RESERVDB e constrói uma mensagem de saída a partir das informações encontradas na tabela XMLPASSENGERTB, incluindo o nome completo do passageiro, o número do vôo, a data do vôo e a classe do assento para cada reserva que o passageiro fez. O nó GetReservationsInformation, então, transmite a mensagem de saída, através do terminal Saída, para XML_PASSENGERQUERY_OUT.
  8. O nó XML_PASSENGERQUERY_OUT coloca a mensagem de saída na fila XML_PASSENGERQUERY_OUT.

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