Acerca del flujo de mensajes XML_FlightQueryReply

XML_FlightQueryReply es el flujo de mensajes de respuesta del ejemplo de agregación, XML_FlightQuery. XML_FlightQuery se construye a partir de tres flujos de mensajes cortos que se comunican obteniendo, agregando y poniendo mensajes en colas locales de WebSphere MQ. Los tres flujos de mensajes en XML_FlightQuery son:

  1. XML_FlightQueryOut, el flujo de mensajes de abanico, que genera y emite dos peticiones relacionadas con la información de vuelos y la información de pasajeros, consulte Acerca del flujo de mensajes XML_FlightQueryOut.
  2. XML_FlightQueryReply, que busca la información necesaria para responder a las dos peticiones.
  3. XML_FlightQueryIn, el flujo de mensajes de abanico de entrada, que combina las respuestas en un solo mensaje de respuestas, consulte Acerca del flujo de mensajes XML_FlightQueryIn.

El mensaje de entrada para XML_FlightQuery solicita información sobre un vuelo específico y detalles sobre los pasajeros que han reservado asientos en ese vuelo.

El diagrama siguiente muestra el flujo de mensajes XML_FlightQueryReply.

Una captura de pantalla del flujo de mensajes XML_FlightQuery_Reply

La siguiente tabla lista los tipos de nodos utilizados en el flujo de mensajes XML_FlightQueryReply.

Tipo de nodo Nombre de nodo
MQInput XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS
Compute GetFlightDetails; GetPassengerDetails
MQReply MQMD_ReplyToQ
MQOutput XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2

Para obtener más información sobre los nodos que se utilizan en este ejemplo, consulte Nodos incorporados 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_FlightQueryReply.

El flujo de mensajes XML_FlightQueryReply realiza las siguientes operaciones:

  1. El nodo XML_FLIGHTQUERY_FLIGHT obtiene el mensaje de petición de la cola XML_FLIGHTQUERY_FLIGHT y después lo pasa a través del terminal de salida (Out) al nodo GetFlightDetails. De forma alternativa, si se ha generado una excepción en sentido descendente y el mensaje se ha restituido, el nodo XML_FLIGHTQUERY_FLIGHT pasa el mensaje a través del terminal de captación (Catch) al nodo XML_FLIGHTQUERY_FAIL_1.
  2. El nodo XML_FLIGHTQUERY_PASSENGERS obtiene el mensaje de petición de la cola XML_FLIGHTQUERY_PASSENGERS y después lo pasa a través del terminal de salida (Out) al nodo GetPassengerDetails. De forma alternativa, si se ha generado una excepción en sentido descendente y el mensaje se ha restituido, el nodo XML_FLIGHTQUERY_PASSENGERS pasa el mensaje a través del terminal de captación (Catch) al nodo XML_FLIGHTQUERY_FAIL_2, que transfiere el mensaje a la cola XML_FLIGHT_QUERY_FAIL.
  3. El nodo GetFlightDetails accede a la tabla XMLFLIGHTTB en la base de datos RESERVDB para obtener información sobre el vuelo especificado en el mensaje de petición y añade al mensaje de petición información sobre la capacidad, las plazas asignadas y el precio para las clases Turista y Primera, e información sobre el origen y destino del vuelo.
  4. El nodo GetFlightDetails pasa el mensaje de petición modificado a través del terminal de salida (Out) a la cola MQMD_ReplyToQ.
  5. El nodo GetPassengerDetails accede a la tabla XMLPASSENGERTB en la base de datos RESERVDB para obtener información sobre los pasajeros que tienen reserva en el vuelo especificado en el mensaje de petición, y añade al mensaje de petición una lista de los pasajeros que tienen reserva en el vuelo.
  6. El nodo GetPassengerDetails pasa el mensaje de petición modificado a través del terminal de salida (Out) a la cola MQMD_ReplyToQ.
  7. El nodo MQMD_ReplyTo comprueba el MQMD de la cabecera del mensaje para ver los valores de ReplyToQ y ReplyToQMgr. El valor de ReplyToQ es XML_FLIGHTQUERY_REPLIES, y el valor de ReplyToQMgr es WBRK61_DEFAULT_QUEUE_MANAGER.
  8. El nodo MQMD_ReplyTo transfiere el mensaje a la cola XML_FLIGHTQUERY_REPLIES. Este nombre de cola no está en las propiedades del nodo; está en la cabecera MQMD del mensaje.

El flujo de mensajes XML_FlightQueryIn continúa la agregación, consulte Acerca del flujo de mensajes XML_FlightQueryIn.

Volver a Acerca del Ejemplo Reserva de vuelos