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:

O fluxo de mensagens utiliza nós RouteToLabel e Label para rotear dinamicamente uma mensagem com base nas informações na mensagem em si, sem precisar criar uma cadeia de nós Filtro, que requer um resultado Booleano verdadeiro ou falso para rotear mensagens ao longo de caminhos particulares.

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.

O diagrama a seguir mostra o fluxo de mensagens XML_PassengerQuery.

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 de Nó
MQInput XML_PASSENGERQUERY_IN
Compute DecideOnQuery; GetPassengerInformation; GetReservationsInformation
RouteToLabel

RouteToLabel

Rótulo SinglePassenger; AllReservations
MQOutput XML_PASSENGERQUERY_FAIL_1; XML_PASSENGERQUERY_FAIL_2; XML_PASSENGERQUERY_OUT

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_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 XMLNSC. O fluxo de mensagens deve, portanto, analisar a mensagem usando o analisador XMLNSC.
  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 ambiente local com as informações de destino.
  4. O nó DecideOnQuery transmite a mensagem e o ambiente local através do terminal Out para o nó RouteToLabel.
  5. O nó RouteToLabel transmite a mensagem de entrada para o nó Label relevante: o nó SinglePassenger se o nó DecideOnQuery colocou Single Passenger no ambiente local; o nó AllReservations se o nó DecideOnQuery colocou All Reservations no ambiente local.
  6. Se o nó RouteToLabel transmitiu 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 Out 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 então transmite a mensagem de saída através do terminal Out para o nó XML_PASSENGERQUERY_OUT.
  7. Se o nó RouteToLabel transmitiu a mensagem de entrada para o nó AllReservations, o nó AllReservations transmite a mensagem de entrada, que contém o nome de um passageiro, através do terminal Out para o nó 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 Out para XML_PASSENGERQUERY_OUT.
  8. O nó XML_PASSENGERQUERY_OUT coloca a mensagem de saída na fila XML_PASSENGERQUERY_OUT.

Voltar para a amostra Sobre as Reservas Aéreas