Acerca del flujo de mensajes XML_PassengerQuery

El flujo de mensajes XML_PassengerQuery recupera los detalles de la reserva del pasajero especificado en el mensaje de entrada. El tipo de información en el mensaje de salida depende de la información proporcionada en el mensaje de entrada:

El flujo de mensajes utiliza los nodos RouteToLabel y Label para direccionar dinámicamente un mensaje basado en información del mensaje propiamente dicho sin necesidad de crear una cadena de nodos de filtro, que requeriría un resultado Booleano true/false (verdadero/falso) en vías de acceso determinadas.

Se proporcionan dos mensajes de entrada para ejecutar el flujo de mensajes XML_PassengerQuery, para mostrar la recuperación de los dos tipos de información descritos.

La siguiente figura muestra el flujo de mensajes XML_PassengerQuery.

Una captura de pantalla del flujo de mensajes XML_PassengerQuery

La siguiente tabla lista los tipos de nodos que se utilizan en el flujo de mensajes XML_PassengerQuery.

Tipo de nodo Nombre de nodo
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

Si desea ver más información, lea lo referente a los nodos en el flujo de mensajes XML_PassengerQuery en la documentación de WebSphere Message Broker. Para ver el ESQL que se utiliza en el flujo de mensajes, consulte Crear el flujo de mensajes XML_PassengerQuery.

El flujo de mensajes XML_PassengerQuery realiza las siguientes operaciones:

  1. El nodo XML_PASSENGERQUERY_IN obtiene el mensaje de entrada de la cola XML_PASSENGERQUERY_IN e identifica el mensaje de entrada como perteneciente al dominio XML. Por tanto, el flujo de mensajes debe analizar el mensaje utilizando el analizador XML.
  2. El nodo XML_PASSENGERQUERY_IN pasa el mensaje al nodo DecideOnQuery. De forma alternativa:
  3. El nodo DecideOnQuery decide la vía de acceso que ha de seguir el mensaje a través del flujo de mensajes. La ruta que tome depende del tipo de información que se proporcione en el mensaje. El nodo actualiza el Entorno local con la información de destino:
  4. El nodo DecideOnQuery pasa el mensaje y el LocalEnvironment, a través del terminal de salida, al nodo RouteToLabel.
  5. El nodo RouteToLabel pasa el mensaje de entrada al nodo Label pertinente: el nodo SinglePassenger si el nodo DecideOnQuery trasfirió Single Passenger en LocalEnvironment; el nodo AllReservations si el nodo DecideOnQuery transfirió All Reservations en LocalEnvironment.
  6. Si el nodo RouteToLabel pasó el mensaje de entrada al nodo SinglePassenger, el nodo SinglePassenger pasará el mensaje de entrada, que contiene un número de reserva, a través del terminal de salida, al nodo GetPassengerInformation. El nodo GetPassengerInformation busca el número de reserva en la tabla XMLPASSENGERTB de la base de datos RESERVDB y crea un mensaje de salida a partir de la información que encuentra en la tabla XMLPASSENGERTB. El mensaje incluye el número de reserva, el nombre completo del pasajero, el número de vuelo, la fecha del vuelo y la clase de asiento. El nodo GetPassengerInformation pasa entonces el mensaje de salida a través del terminal Out, al nodo XML_PASSENGERQUERY_OUT.
  7. Si el nodo RouteToLabel pasó el mensaje de entrada al nodo AllReservations, el nodo AllReservations pasará el mensaje de entrada, que contiene un nombre de pasajero a GetReservationsInformation a través del terminal de salida. El nodo GetReservationsInformation busca el nombre del pasajero en la tabla XMLPASSENGERTB de la base de datos RESERVDB y crea un mensaje de salida a partir de la información que encuentra en la tabla XMLPASSENGERTB. El mensaje incluye el nombre completo del pasajero y el número de vuelo, la fecha del vuelo y la clase de asiento que corresponda a cada una de las reservas que haya hecho el pasajero. El nodo GetReservationsInformation pasa entonces el mensaje de salida, a través del terminal de salida, a XML_PASSENGERQUERY_OUT.
  8. El nodo XML_PASSENGERQUERY_OUT transfiere el mensaje de salida a la cola XML_PASSENGERQUERY_OUT.

Icono de la página principal   Volver al ejemplo Acerca de la Reserva de vuelos