The itour Travel Distribution Suite is a modular system that caters for every type and size of tour operator. Clients are: Thomas Cook, Slattery's Travel, First Choice Independent Travel and Markwarner
The following diagram shows the overall architecture employed by the itour application and its integration with the ESB.
The presentation-tier components are:
The Façade service library. This is logically part of the mid-tier but is deployed into each instance of the presentation-tier in order to minimise traffic between the two tiers. It is an implementation of the Business Delegate pattern.
Browser application. This uses Oracle’s UIX library to delivery a rich and consistent browser based user interface.
Web Services application. This delivers a sub-set of the Façade functionality in a way that is designed to support in-house Web sites (both B2B and B2C) accessing the system to implement search & book functionality as well as basic booking administration.
The browser application and its Façade are delivered in the itourClient.ear package.
The Web Services application and its Façade are delivered in the itourAPI.ear package.
The mid-tier components are:
The itour core, which delivers its services as a set of Enterprise Java Beans. These beans are accessed only from the Façade library or directly from the mid-tier itself.
The generic inventory API which is simply a common model which is used to define the identification and booking of any external component (flight, car etc.)
Generic APIs to support identification and booking of each type of external service (flight, car etc.)
The implementations which interface to specific services (e.g. Partners, Alamo etc.).
The set of generic interfaces to external systems which will be supported by the ESB (e.g. credit card and accounting services etc.).
Detail Architectural Overview
The itour system is a relatively new system built entirely using Oracle’s Enterprise class technology platforms. It has been designed from the outset to handle the massive loads imposed by reservations system activity in the largest global travel groups.
The above diagram illustrates the technical architecture of itour. This is briefly described below to provide the context in which to consider the later responses in this section.
Within the diagram, the blue items are those delivered by BlueSky, the yellow items are the Oracle technology platform components and the green items are third party devices or systems.
The itour application is implemented using a three tier architecture (Database, Application and Web). Details of the features of each tier are discussed below.
Database tier
At the bottom of the diagram, the database tier holds two logical schemas; these are the Operational Schema which is used for day-to-day system operations and the Warehouse Schema which is used for management information (MI) activity. These two schemas can exist in a single physical database instance or on separate databases for improved performance.
Each physical database can be deployed across multiple servers using Oracle’s Real Application Clusters (RAC). In a RAC environment, the failure of a database server will not result in the failure of the database service. Applications connected to the failed server will seamlessly re-connect to one of the remaining servers and continue processing.
In addition, Oracle’s Data Guard product can be used to maintain fully synchronised copies of a database across multiple sites. So, for example, there may be a hot standby service located near to the primary database and ready to support application failover, with another copy located on a different continent for disaster recovery purposes.
Oracle features also enable rapid recovery to a point in time in the event of a data corruption or database service failure.
The ability to back-up the database on-line ensures that 24x7 operation is available in this tier.
Mid-tier
The main application logic sits in this tier. It is a modular J2EE application, deployed within Oracle’s Application Server product, whose services are exposed as Enterprise Java Beans (EJBs). Multiple clustered servers in this layer can provide a load-balanced resilient service for use by the Web tier.
The synchronisation capabilities of Oracle’s Application Server permit state for Stateful Session Beans to be replicated across all servers in a cluster. This feature enables seamless failover from the Web tier servers in the event that an Application tier server fails.
Within the Application tier, itour implements a proprietary memory mounted database which holds all product, pricing and inventory data for owned inventory as well as rules governing mark-ups and combinability rules for dynamically packaged and priced inventory from third party sources. This database does not implement a delayed view of the current inventory situation, as is the case in many other solutions. It is the arbiter of inventory with itour and, as such and by definition, is completely up-to-date and real-time.
In addition to session state replication afforded by the Oracle Application Server, itour itself synchronises inventory updates across servers in a cluster.
After a failed server is repaired and re-started, it synchronises its inventory database with peer servers before making its services available. This capability is used to ensure 24x7 operations as, when it is required to cycle Application Servers, this can be done one server at a time to ensure that the service is never off-line.
Within this tier, there are a set of Adapters which are responsible for communication from this tier to third party systems such as inventory suppliers or credit card authorisation services. Within GLOBE, these services are presented by the IBM integration layer.
Presentation-tier
The Web tier is the layer that delivers itour’s services to users or to third party systems. Delivery mechanisms from this tier include
The standard browser interface to itour. This is developed using UIX, Oracle’s Servlet based technology, which delivers an extremely consistent and rich set of tools for building complex browser based user interfaces. User interfaces are designed according to Oracle’s Browser Look and Feel (BLAF) guidelines which are documented at www.oracle.com/technology/tech/blaf/index.html [4].
The Web Services API. This API provides services which support B2C and B2B Web sites and enables them to search for inventory, create bookings, and make credit card payments. Additionally B2B Web site users can examine Direct Debit statements. The functionality delivered through this API will be extended over time.
Reporting tier
All standard reports produced by itour are delivered as .PDF documents using Oracle Reports. Reports is implemented as a Servlet which is invoked through an HTTP post to deliver reports either directly back to the user’s browser window, or to a nominated system printer.
Additionally, user and supplier documentation is generated using Reports, and can be delivered directly by email as a .PDF attachment.
Oracle’s Discoverer MI tool is also implemented at this layer and is delivered in two flavours.
Discoverer Plus: A Java Applet which provides a rich interface enabling users to construct and share MI reports from the warehouse schema.
Discoverer Viewer: A browser based tool which allows users to view previously constructed reports and to drill down from a high level summary to the detail beneath.
Both tools allow the user to export a report to a number of formats, including Excel, CSV, XML and PDF.
Environment: Java, Oracle, JDeveloper, Sql Developer, SQLJ, JPA, UIX, JUint, Ant, Windows