About the Airline Reservations sample

The Airline Reservations sample is based on the scenario of an airline reservation system like those used in travel agents. It demonstrates how to use some of the features provided by IBM Integration Bus.

The Airline Reservations sample demonstrates how you can design applications that process self-defining XML messages. XML messages are self-defining because each piece of data is prefixed by a tag name or an attribute name. An XML message definition is in the message itself and is not held anywhere else. Therefore, you can run a message flow that uses an XML message without the aid of an external message set.

If you use self-defining XML messages, you can program the message flow to manipulate messages, as you can if you use an external message set to hold message format information. However, without a message set, you must code all the format information in ESQL in the nodes of the message flow, and you cannot use the full range of built-in nodes.

The Airline Reservations sample performs the following actions:

The following sections describe the Airline Reservations sample in more detail:

The message flows

The Airline Reservations sample includes the following message flows:

Note that, at run time, the XML_FlightQueryOut, XML_FlightQueryReply, and XML_FlightQueryIn message flows function as a single message flow, which is referred to in this documentation as the XML_FlightQuery message flow.

For more information, see Message flows overview in the IBM Integration Bus documentation.

The messages

The Airline Reservations sample processes self-defining, or generic, XML messages. A self-defining XML message carries the information about its content and structure within the message in the form of a document that adheres to the XML specification. A definition of the message is not held anywhere else. When the message flow receives the message, the message is identified by the generic XML parser (XMLNSC), and the message is parsed according to the XML definitions contained within the message itself.

Six self-defining XML input messages are supplied so that you can run the message flows in the Airline Reservations sample:

The database

The Airline Reservations sample has one database called RESERVDB. The message flows in the sample directly access RESERVDB, which contains two database tables called XMLFLIGHTTB and XMLPASSENGERTB. For more information about the database in the Airline Reservations sample, see About the RESERVDB database.

Note that the Airline Reservations sample is driven at its inputs and outputs. In between the inputs and outputs are database interactions, which makes the sample a slightly unusual application. In most IBM Integration Bus applications the true application data is contained in external databases because IBM Integration Bus is typically the integration middleware between a client and a back-end database (which is often found on an existing server platform).

This unusual application does not detract from the usefulness of the sample. If you want, you can remove the database and make it external. Every message flow must then be split in two:

If done carefully, such a system is indistinguishable (to the client) from the samples as supplied here, in which database access is internal.

The WebSphere MQ queues

The Airline Reservations sample message flows interact with WebSphere MQ local queues. The queues are defined on the WebSphere MQ queue manager that hosts the broker on which the message flow runs. For more information about the WebSphere MQ queues in the Airline Reservations sample, see About the WebSphere MQ queues.

Back to sample home