Acerca del ejemplo de Reserva de vuelos

El ejemplo Reserva de vuelos se basa en el caso de un sistema de reserva de vuelos como los utilizados en las agencias de viajes. Muestra cómo utilizar algunas de las características proporcionadas por WebSphere Message Broker.

El ejemplo de Reserva de vuelos muestra cómo se pueden diseñar aplicaciones que procesen mensajes XML autodefinidos. Los mensajes XML son autodefinidos porque cada segmento de datos tiene como prefijo un nombre de código o un nombre de atributo. El mensaje mismo contiene una definición de mensaje XML y esta definición no se encuentra en ningún otro sitio. Por tanto, puede ejecutar un flujo de mensajes utilizando un mensaje XML sin la ayuda de ningún conjunto de mensajes externo.

Si utiliza mensajes XML autodefinidos, puede programar el flujo de mensajes para manipular los mensajes, al igual que si la información de formato de mensaje estuviera en un conjunto de mensajes externo. Sin embargo, sin un conjunto de mensajes, debe codificar toda la información de formato en ESQL en los nodos del flujo de mensajes y no puede utilizar el rango completo de nodos incorporados.

El ejemplo de Reserva de vuelos realiza las siguientes operaciones:

Los siguientes apartados describes el ejemplo de Reserva de vuelos más detalladamente:

Los flujos de mensajes

El ejemplo de Reserva de vuelos incluye los siguientes flujos de mensajes:

Tenga en cuenta que, durante la ejecución, los flujos de mensajes XML_FlightQueryOut, XML_FlightQueryReply y XML_FlightQueryIn funcionan como un solo flujo de mensajes llamado XML_FlightQuery en esta documentación.

Si desea ver más información, lea lo referente a flujos de mensajes en la documentación de WebSphere Message Broker.

Los mensajes

El ejemplo de Reserva de vuelos procesa mensajes XML o genéricos. Un mensaje XML autodefinido contiene la información sobre su contenido y estructura dentro de sí mismo, en forma de un documento que satisface la especificación XML. La definición del mensaje no está en ningún otro lugar. Cuando el flujo de mensajes recibe el mensaje, el analizador XML genérico identifica el mensaje y lo analiza según las definiciones XML que contiene el mensaje mismo.

Se proporcionan seis mensajes de entrada XML autodefinidos de forma que puede ejecutar los flujos de mensajes en el ejemplo de Reserva de vuelos.:

La base de datos

El ejemplo de Reserva de vuelos tiene una base de datos llamada RESERVDB. Los flujos de mensajes en el ejemplo acceden directamente a RESERVDB, que contiene dos tablas de base de datos denominadas XMLFLIGHTTB y XMLPASSENGERTB. Para obtener más información sobre la base de datos del ejemplo de Reserva de vuelos, consulte el apartado Acerca de la base de datos.

Tenga en cuenta que el ejemplo de Reserva de vuelos dirige esencialmente a sus entradas y salidas. Entre las entradas y salidas se encuentran las interacciones de bases de datos. Esto hace que el ejemplo sea una aplicación ligeramente atípica. En la mayoría de las aplicaciones de WebSphere Message Broker los verdaderos datos de la aplicación residen en bases de datos externas debido a que frecuentemente WebSphere Message Broker es el middleware de integración entre un cliente y una base de datos de fondo (que a menudo reside en algún tipo de plataforma de servidor existente).

Esto no disminuye la utilidad del ejemplo. Si lo desea, podría eliminar la base de datos y hacerla externa. En ese caso, cada flujo de mensajes debería dividirse en dos:

Si se lleva a cabo cuidadosamente, un sistema así sería imposible de diferenciar (en el cliente) de los ejemplos que se proporcionan aquí, en los que el acceso a la base de datos es interno.

Las colas de WebSphere MQ

Los flujos de mensajes del ejemplo de Reserva de vuelos interactúan con las colas locales de WebSphere MQ. Las colas están definidas en el gestor de colas de WebSphere MQ que aloja el intermediario en el que se ejecuta el flujo de mensajes. Para obtener más información sobre la base de datos del ejemplo de Reserva de vuelos, consulte el apartado Acerca de las colas de WebSphere MQ.

Icono de la página principal    Volver a la página de presentación de ejemplos