Acerca del flujo de mensajes XML_FlightQueryIn

XML_FlightQueryIn es el flujo de mensajes de abanico de entrada en el ejemplo de agregación XML_FlightQuery. XML_FlightQuery se crea a partir de tres flujos de mensajes cortos que se comunican poniendo y obteniendo mensajes de las colas de WebSphere MQ. Los tres flujos de mensajes en XML_FlightQuery son:

  1. XML_FlightQueryOut, el flujo de mensajes de abanico de salida, que genera y emite dos peticiones relacionadas de información de vuelos e información de pasajeros.
  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 respuesta.

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 el vuelo.

La siguiente figura muestra el flujo de mensajes XML_FlightQueryIn.

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

Tipo de nodo Nombre de nodo
MQInput XML_FLIGHTQUERY_REPLIES
AggregateReply AggregateReplies
Compute BuildOutputMessage; ProcessTimeout
MQOutput XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

Si desea ver más información, lea lo referente a los nodos en el flujo de mensajes XML_FlightQueryIn 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_FlightQueryIn.

El flujo de mensajes XML_FlightQueryIn realiza las siguientes operaciones:

  1. El nodo XML_FLIGHTQUERY_REPLIES obtiene los dos mensajes de respuesta de la cola XML_FLIGHTQUERY_REPLIES y después pasa cada mensaje de respuesta, a través del terminal de salida (Out) al nodo AggregateReplies. De forma alternativa, si se ha generado una excepción en sentido descendente y el mensaje se ha restituido, el nodo XML_FLIGHTQUERY_REPLIES pasa el mensaje a través del terminal de captación al nodo XML_FLIGHTQUERY_FAIL, que transfiere el mensaje a la cola XML_FLIGHTQUERY_FAIL.
  2. El nodo AggregateReplies combina los dos mensajes de respuesta en un solo mensaje de respuesta agregado y después pasa el mensaje de respuesta agregado a través del terminal Out, al nodo BuildOutputMessage. Si la agregación excede el tiempo de espera debido a que no han llegado todas las respuestas durante el intervalo de tiempo de espera excedido (especificado en las propiedades del nodo AggregateReplies), el nodo AggregateReplies pasa el mensaje agregado incompleto a través del terminal Timeout, al nodo ProcessTimeout. El nodo ProcessTimeout pasa entonces el mensaje al nodo XML_FLIGHTQUERY_TIMEOUT que transfiere el mensaje a la cola XML_FLIGHTQUERY_TIMEOUT.
  3. El nodo BuildOutputMessage crea un solo mensaje de salida a partir de la información del mensaje de respuesta agregado. El mensaje de salida contiene el número y la fecha del vuelo; la capacidad, el número de asientos reservados y el precio del asiento en cada clase; la lista de los nombres de los pasajeros y sus números de reserva.
  4. El nodo BuildOutputMessage pasa el mensaje de salida, a través del terminal Out, al nodo XML_FLIGHTQUERY_OUT, que transfiere el mensaje de salida a la cola XML_FLIGHTQUERY_OUT.

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