Docstoc

SATINE Deliverable 7.1.1

Document Sample
SATINE Deliverable 7.1.1 Powered By Docstoc
					                                         IST-2104 STP

                                                  SATINE
            "A Semantic-based Interoperability Infrastructure for
             integrating Web Service Platforms to Peer-to-Peer
                                Networks"

         SPECIFIC TARGETED RESEARCH PROJECT

         PRIORITY 2.3.1.9
         Networked Businesses and Governments


Satine – Deliveble 7.1.1- The Initial Specification

of the Pilot Application
                                                                     FINAL VERSION

       Due Date:                        October 1, 2005
       Actual Submission Date:          November 10, 2005
       Project Dates:                   Project Start Date: January 1, 2004
                                        Project End Date: June 30, 2006
                                        Project Duration: 30 months
       Leading Contractor               INTRO
       Organization:

   Project co-funded by the European Commission within the Sixth Framework Programme (2002-2006)
                                                  Dissemination Level
  PU       Public                                                                                  X
  PP       Restricted to other programme participants (including the Commission Services)
  RE       Restricted to a group specified by the consortium (including the Commission Services)
  CO       Confidential, only for members of the consortium (including the Commission Services)
Short Description: This document describes the specifications and business level scenario(s) of
the Pilot Application for the SATINE Project. In this Final version, the scenarios and settings
defined during the lifetime of the project and used as input for Requirement Analysis phase and
the Story Boards of the Demonstrations, are described.

SATINE Consortium Contacts:

Organisation    Name               Phone               Fax                   E-Mail
METU-SRDC       Asuman Dogac       +90-312-2105598     +90(312)2101004       asuman@srdc.metu.edu.tr
Fraunhofer      Matthias Flügge    +49 30 3463 7135    +49 30 3463 8000      matthias.fluegge@fokus.fraunhof
FOKUS                                                                        er.de
ED              Nikitas Tsopelas   +30 210 8094 500    +30 210 8094 508      Nikitas.Tsopelas@eurodyn.com
Oxymel          Dominique Le       +33 1 39 43 00 65   +33 1 39 43 65 21     dleroux@oxymel.com
                Roux
INTRO           Onur Evren         ++90 312 4472514    +90 312 4469177       onur.evren@introsolutions.com
RMIT            Lin Padgham        ++61 3 9925 3214    +61 3 96621617        linpa@cs.rmit.edu.au



Document History:

Version      Date          Changes                                         From               Review

0.1.4        February 25, Initial version                                  INTRO              All partners
             2005

0.2.5        March    02, INTRO’s Revisions. Major Items:                  INTRO              All partners
             2005         Layout/Structure changes, revisions in
                          Business Processes, section 1.3.2 added,
                          Technological Aspects detailed

0.3.1        April    01, Information on Content Provider services,        INTRO              All partners
             2005         References to global ontologies, minor
                          revisions

0.4          April    08, METU’s revisions are incorporated                INTRO-METU         All Partners
             2005

0.5          November      New functionalities incorporated into the       INTRO              All Partners
             08, 2005      setting, including new actors and new
                           services.

0.6          November      METU’s revisions are incorporated               INTRO-METU         All Partners
             09, 2005




D7.1.1. The Initial Specification of the Pilot Application Page 2 of 43
0.7         November      Scenario is improved to include reviewer’s INTRO   All Partners
            10, 2005      comments.




D7.1.1. The Initial Specification of the Pilot Application Page 3 of 43
Abstract
The SATINE project develops a semantic-based interoperability framework for the Travel and
Tourism Industry. The framework provides tools and mechanisms for publishing, discovering and
invoking Web services through their semantics in peer-to-peer networks, thus exploiting the
synergies between these two technologies. This document describes the specifications for the
Pilot Application of the SATINE project, to be developed specifically for the Travel Industry,
within the scope of Work Package 7.
This final version of the deliverable forms the basis for implementation of the major results of the
SATINE Project, which will be exploited further by Intro Solutions, the end-user partner.
This document contains both the previous versions of the scenarios that provided the basis for
implementation of the pilots and the final version of the settings and the scenario. The contents
presented herein were improved iteratively at the end of each review meeting by taking
reviewers’ comments into consideration, incorporating at least one more player from the SME
pool that will most probably participate in the SATINE network and adding new functionalities
that proved to be popular in the commercial front-end of a commercial web-site..




D7.1.1. The Initial Specification of the Pilot Application Page 4 of 43
Table of contents
1      INTRODUCTION..................................................................................................... 8
    1.1      PURPOSE AND SCOPE ........................................................................................... 8
    1.2      OVERVIEW ........................................................................................................... 8
    1.3      DEFINITIONS AND NOTATION ............................................................................... 9
       1.3.1     Requirement Levels Indications .................................................................. 9
       1.3.2     Travel Domain Related Technologies and Concepts .................................. 9
2      SPECIFICATION OF THE BUSINESS PROCESSES ...................................... 11
    2.1      FLIGHT BOOKING SEQUENCE ............................................................................. 11
       2.1.1     Overview ................................................................................................... 11
       2.1.2     Steps .......................................................................................................... 11
    2.2      HOTEL RESERVATION SEQUENCE ...................................................................... 12
       2.2.1     Overview ................................................................................................... 12
       2.2.2     Steps .......................................................................................................... 13
    2.3      CAR RENTAL SEQUENCE .................................................................................... 15
       2.3.1     Overview ................................................................................................... 15
       2.3.2     Steps .......................................................................................................... 15
3      SETTINGS AND SCENARIOS ............................................................................ 16
    3.1      SCENARIO INPUT TO THE REQUIREMENT ANALYSIS PHASE ............................... 16
       3.1.1     Overview ................................................................................................... 16
       3.1.2     Scenario Execution ................................................................................... 17
    3.2      SCENARIO FOR THE INITIAL PROTOTYPE ............................................................ 19
    3.3      SETTING AND SCENARIO FOR THE FIRST PROTOTYPE OF SATINE ..................... 20
       3.3.1     Overview ................................................................................................... 20
       3.3.2     Setting ....................................................................................................... 22
          3.3.2.1 Service Providers .................................................................................. 22
          3.3.2.2 Service Consumer – Corporate Travel – A Travel Agency .................. 24
       3.3.3     Scenario Execution ................................................................................... 24
    3.4      SETTING AND SCENARIO FOR THE FINAL PILOT APPLICATION ......................... 26
       3.4.1     Content Provider Services ........................................................................ 26
          3.4.1.1 Detailed Hotel Information ................................................................... 26
          3.4.1.2 Hotel Images ......................................................................................... 27
       3.4.2     Setting ....................................................................................................... 27
          3.4.2.1 Service Providers .................................................................................. 27
          3.4.2.2 Service Providers .................................................................................. 28
          3.4.2.3 Service Consumer ................................................................................. 32
       3.4.3     Scenario Execution ................................................................................... 34
          3.4.3.1 Web-Based Scenario ............................................................................. 34
4      TECHNOLOGICAL ASPECTS ........................................................................... 37
    4.1      SERVICE CONSUMER INTEGRATION ................................................................... 37
    4.2      SERVICE PROVIDER INTEGRATION ..................................................................... 37
       4.2.1     Overview ................................................................................................... 37
       4.2.2     Web Services Encapsulating Existing Business Functionalities ............... 38
       4.2.3     Web Services Wrapping Data Sources ..................................................... 40


D7.1.1. The Initial Specification of the Pilot Application Page 5 of 43
5     REFERENCES ........................................................................................................ 42
6     APPENDICES ......................................................................................................... 43
    6.1      OTA BASED TRAVEL FUNCTIONALITY ONTOLOGY ........................................... 43
    6.2      OTA BASED GLOBAL AIR MESSAGE ONTOLOGY .............................................. 43




D7.1.1. The Initial Specification of the Pilot Application Page 6 of 43
       LIST OF FIGURES
FIGURE 1 BOOKING AN AIR ITINERARY.............................................................................. 12
FIGURE 2 GETTING THE LIST OF HOTELS AT A GIVEN LOCATION ....................................... 13
FIGURE 3 LEARNING THE AVAILABILITY OF ROOMS AND CORRESPONDING RATES ........... 14
FIGURE 4 RESERVATION OF AN HOTEL ROOM .................................................................... 14
FIGURE 5 GETTING THE LIST OF AVAILABLE CAR-RENTAL COMPANIES AND RESPECTIVE
    RATES ........................................................................................................................ 15
FIGURE 6 OVERALL VIEW OF THE PLAYERS IN THE SETTING FOR THE FIRST PROTOTYPE .. 21
FIGURE 7 OVERALL VIEW OF THE PLAYERS IN THE SETTING FOR THE FIRST PROTOTYPE .. 28
FIGURE 8 TOURISTIX.COM AIR INTERFACE ........................................................................ 32
FIGURE 9 TOURISTIX.COM HOTEL INTERFACE ................................................................... 33
FIGURE 10 TOURISTIX.COM CAR-RENTAL SERVICE INTERFACE ........................................ 34
FIGURE 11 - SATINE MOBILE APPLICATION ...................................................................... 36
FIGURE 12 NORMALIZATION OF THE XML BASED INTERFACES ........................................ 38
FIGURE 13 INTERACTION WITH THE AMADEUS API / GDS ................................................ 39
FIGURE 14 INTERNAL LOGIC OF A WEB SERVICE ............................................................... 40




D7.1.1. The Initial Specification of the Pilot Application Page 7 of 43
1 Introduction
1.1 PURPOSE AND SCOPE
The SATINE project develops a semantic-based interoperability framework for the Travel and
Tourism industry. The framework provides tools and mechanisms for publishing, discovering and
invoking Web services through their semantics in peer-to-peer networks, thus exploiting the
synergies between these two technologies. By means of the SATINE tools and infrastructure
tourism companies, such as hotel chains, car rental agencies and airline companies, become able
to
       wrap their applications with Web services,
       enrich those services with semantic descriptions,
       publish them on the P2P network.
Service consumers, such as travel agencies, become able to
       discover services based on their semantics,
       invoke them,
       combine simple travel services to complex ones.
Within the scope of the SATINE project, a Pilot Application specific for the Travel and Tourism
Industry will be implemented under Work Package 7. Through this Pilot Application SATINE
project will provide a concrete product that can be used by real Industrial Companies.
This document describes the specifications for the Pilot Application of the SATINE project, in
terms of the settings and scenarios that will be covered, business processes that will exists in the
Pilot Application setting, and relevant technological requirements regarding the use of
information resources.
This final version of the deliverable describes the setting and scenario that are going to be
implemented in the Pilot Application.



1.2 OVERVIEW
Section 2 of the document describes the Business Processes that are commonly found in the
Travel Domain and are related with purchasing of major Travel products, i.e. Air, Hotel and
Rent-a-car services. These processes will be considered and handled within the Prototypes and
Pilot Application.
Section 3 presents the settings describing the characteristics of the participants involved in the
SATINE based Travel network and relevant scenarios utilizing the services of these participants.
All the scenerios used in implementation of the prototypes are included as they were improved
iteratively. Final settings and the specifications are presented in Section 3.4. This section includes
improvements suggested by the reviewers and new features that the consortium will include in the
pilot application. These can be enumerated as:



D7.1.1. The Initial Specification of the Pilot Application Page 8 of 43
          A payment mechanism for the end-users
          Improving the prototype with more correlated inputs
          Using the web services located at geographically dispersed places
          Using services from the real players
Technical details of these items will be provided in the storyboard that will be presented to the
commission before the final review meeting.
In Section 4, the technological aspects and specifications of the relevant Prototype and Pilot
Application implementations are defined.
Within the course of the document, the details about the specifications and descriptions are
omitted where appropriate, and references are provided to corresponding deliverables. As an
example the ontologies defined for the services developed within the scope of each prototype are
given in corresponding Story Board documents and are not replicated here. The corresponding
references are provided at Section 5.


1.3 DEFINITIONS AND NOTATION

                 1.3.1 Requirement Levels Indications
Occasionally in the text certain imperatives and adjectives will appear in uppercase. These words
indicate a specific level of requirement as presented by RFC 21191. A quick summary of these
definitions are as follows:
MUST, REQUIRED or SHALL: the definition is an absolute requirement of the specification.
MUST NOT or SHALL NOT: the definition is an absolute prohibition of the requirement.
SHOULD or RECOMMENDED: there may exist valid reasons in particular circumstances to
ignore the said definition, but the full implications should be understood and the case carefully
weighed before omitting any behavior described by this label.
SHOULD NOT or NOT RECOMMENDED: there may exist valid reasons in particular
circumstances to accept the said definition, but the full implications should be understood and the
case carefully weighed before implementing any behaviors described by this label.
MAY or OPTIONAL: means that the definition is truly optional, and can be included or omitted
from the implementation at the discretion of the implementer.

                 1.3.2 Travel Domain Related Technologies and
                       Concepts
The technologies and terms that are related with the Travel and Tourism Industry and are
referenced in this document, are listed and described in the following:
GLOBAL DISTRIBUTION SYSTEM (GDS): allows registered Travel Agencies and similar
companies, have access to on-line information about travel services like Flight and Hotel, and
make instant operations such as Flight Booking.

1
    RFC 2119, S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, March 1999


D7.1.1. The Initial Specification of the Pilot Application Page 9 of 43
PROPERTY MANAGEMENT SYSTEM (PMS): a local or distributed system that is used for
the management of hotels, hotel chains and similar travel organizations, e.g. rooms, prices and
services.
CENTRAL RESERVATION SYSTEM (CRS): provides an interface to GDSs, PMSs and
other information networks through a single point
OPEN TRAVEL ALLIANCE (OTA): A specification which includes the description of travel
domain services, message sets to perform B2B interactions between travel companies and their
installed systems, such as between a CRS (Central Reservation System) and a PMS (Property
Management System). Several major GDS, CRS and PMS companies provide or are working
towards OTA compliancy.
AMADEUS, and GALILEO: Two of the major GDSs. Others are Worldspan and Sabre.




D7.1.1. The Initial Specification of the Pilot Application Page 10 of 43
2 Specification of the Business
  Processes
The requirements specified in the Requirements and Specifications of SATINE, D3.1.1 [1]
document also applies to the Pilot Application. In terms of the Pilot Application that will be
developed specifically for the Travel Industry, the SATINE system is expected to be able to
handle the most common business process scenarios that are found in the domain, i.e. Flight
Booking, Hotel Reservation and Rent-a-Car. In the following sections, the sequence of operations
to achieve these services, are presented. The business processes are described through snapshots
of the state between the Service Consumer and the Service Provider, which are favored over the
use of UML Sequence Diagrams. The contents of the messages, i.e. request and response pairs,
are also indicated through sample data.
Note that the sequences indicate the minimal number and type of actions to achieve the results.
There can be cases where additional services are invoked before finalizing the activity, e.g. for
receiving better service fares and more detailed service information.


2.1 FLIGHT BOOKING SEQUENCE
               2.1.1 Overview
Airline Flight Booking is considered as the major operation handled through Application Systems
related with the Travel Domain, e.g. Global Distribution Systems. There are three main steps in
making a flight booking:
    1. Checking Available Flights
    2. Getting Information about Flight(s)
    3. Booking Flight(s)
In general, getting information about a certain flight does not affect the whole business operation
directly. Nevertheless, this transaction provides data on some key points, such as the meal type
included in the flight, that may affect the choice of the end-user or the travel agent.
On the other hand, the third step, i.e. booking the flights that form the travel itinerary, is usually
composed of several small and atomic steps comprising the generation of a passenger record,
associating flights and fares with the record, validating and closing the record. However, in
terms of the Pilot Application, these steps are considered as a single step, which should be
implemented by the Service Provider, based on the information provider’s technology and
business logic, e.g. Amadeus GDS Transactions.

               2.1.2 Steps
In the first step of Flight Booking, the service consumer gives the information about the requested
travel itinerary for which the service provider will check the availability. The request is a list of
flight leg descriptions containing the date of flight, departure and arrival location, and type of seat




D7.1.1. The Initial Specification of the Pilot Application Page 11 of 43
class, i.e. first, business or economy. The service provider lists the available flights for each leg,
through the carrier company identification, flight number, the airports for departure and arrival.
Next, detailed information about individual flights is received. Flight information includes the
type of meal served during the given segment, e.g. snacks or breakfast, the type of equipment
(aircraft), and the duration of the flight.
Once the flights forming the itinerary are decided, the Booking function is called with the list of
flight segments, and the traveler(s) for whom the booking is made; so that the ticketing can be
realized on the respective travel agent’s side. The booking operation is visualized in Figure 1.


                                                   AirBookRQ

                                                   Passenger,
                                                   seat type and flight
                                                   segment(s).




                                Service                                          Service
                               Consumer                                          Supplier




                                                   AirBookRS

                                                   Confirmation number,
         18MAR05 IST-BER TK140,                    i.e. the passenger
         18MAR05 BER-FCO TK1765                    record associated with
         Passenger Record: 4FER53D34               the booking.



                                       Figure 1 Booking an Air Itinerary


2.2 HOTEL RESERVATION SEQUENCE

              2.2.1 Overview
Apart from Global Distribution Systems, there are many types of applications, such as Central
Reservation Systems and Property Management Systems, that enable reservation of hotel
properties (In Travel Domain, the term Hotel Property is used to identify an individual hotel).
Despite the large set of application types, the sequence for hotel reservation is basically the same
in all systems, and is realized in four steps:
    1. Getting the list of Hotel Properties
    2. Checking the Availability of an Hotel Property
    3. Getting Information about an Hotel Property
    4. Reserving a Room in a Hotel Property
There are systems that combine the first two steps to form a more sophisticated function that can
realize hotel searching, in addition to checking availability and rate information. Nevertheless,
these two steps will be considered separately within the scope of the Pilot Application, to enable a
more general approach. Another point is that, the second and the third steps can switch places in



D7.1.1. The Initial Specification of the Pilot Application Page 12 of 43
the reservation sequence, since, similar to the air flight service, getting information about an hotel
property is technically an optional element in the sequence and can be executed at any time.

               2.2.2 Steps
Initially, the service consumer asks for the list of hotel properties that are located at a given
destination point that is identified mostly at the city level or an associated airport. Optionally, this
service may be asked for availability in a given date period and may respond with estimated cost
of hotel rooms in terms of maximum and minimum price levels. Figure 2 presents a sample
execution of this step.


                                                    HotelSearchRQ

                                                    Which hotels in Rome
                                                    have available rooms,
                                                    on April 17th for
                                                    four nights



                                   Service                                         Service
                                  Consumer                                         Supplier




                                                    HotelSearchRS

                                                    List of hotels with
          Hotels available:                         rooms available, on
          - Grand Hotel                             17th to 20th of April
          - Regina Hotel
          … Other Hotels available …


                           Figure 2 Getting the List of Hotels at a Given Location

The service consumer asks for the available room types and room rates of a given hotel property
that is listed in the result set of Hotel Listing / Search step. The operation returns data about the
room types and bed types that are available at the selected hotel for the given date period. The
rates are usually associated with the type of the room, but also may reflect a promotion for
customer with certain criteria, e.g. a corporate customer. Figure 3 below, presents a sample
request / response pair, for this operation.




D7.1.1. The Initial Specification of the Pilot Application Page 13 of 43
                                                       HotelAvailRQ

                                                       What are the available
                                                       room types and
                                                       corresponding rates in
                                                       the Grand Hotel, Rome,
                                                       on 17-20 April


                                  Service                                         Service
                                 Consumer                                         Supplier




                                                       HotelAvailRS

                                                       Room types / rates
         Superior Room, King Bed: RAC                  available at Grand
         Rate 280EU, COR Rate 230EU                    Hotel, Rome on 17-20
         Standart Room, Queen Bed: RAC                 April
         Rate 180EU, COR Rate 135EU


                  Figure 3 Learning the Availability of Rooms and Corresponding Rates
The next operation in the sequence returns detailed information about an hotel, including its
description text, the facilities included in the hotel and its relative location in the city along with
directions. It is an optional element in the reservation sequence, nevertheless, is mostly used
considering that the service consumer may not know all the details of the hotel, just from the
name.

                                                       HotelResRQ
                                                       Reserve a single
                                                       roomwith double bed
                                                       in Grand Hotel on
                                                       17-20 of April, for John
                                                       Smith


                                  Service                                         Service
                                 Consumer                                         Supplier




                                                       HotelResRS


                                                       Confirmation number, if
         Single available double bed in
         Hotels room withon 17-20 April
                                                       the reservation is
         in Rome:
         Grand Hotel, Rome is reserved                 successful
         … List ofSmith on 17-20 of April
         for John Hotels available …
         Reservation Number: 34CD231
         Grand Hotel: Cable TV, A/C, …
         in all
         rooms, two restaurants, c/in: Figure   4 Reservation of an Hotel Room
         15:00, …
In the final step of the sequence, in addition to the identification of the selected hotel property and
the requested date period, the room type, the rate type, and the traveler name for whom the
reservation is being made, is indicated to the service provider. The service provider responds with
the reservation number which acts like the passenger record in the flight booking sequence. The
reservation operation is shown in Figure 4.




D7.1.1. The Initial Specification of the Pilot Application Page 14 of 43
2.3 CAR RENTAL SEQUENCE

               2.3.1 Overview
Making a rent-a-car request is relatively simpler when compared to flight booking and hotel
reservation. It is comprised of two steps: checking the list of available rent-a-car services and
issuing a rent-a-car request.
In most Applications Systems related with the Travel Domain, the rent-a-car operation requires
an Airport Code as the location for the service. The main reason is that, the rent-a-car service is
thought to be a complementary service for Flight Booking, especially for business travel; hence is
managed along with corresponding air itinerary operations.

               2.3.2 Steps
When the list of available car rental services is requested, the service provider replies with the
rent-a-car agencies located at the selected airport, and corresponding vehicle types and rates
available on the given date duration. The following figure presents a sample operation:

                                                         VehAvailRateRQ

                                                         List of rent-a-car
                                                         agencies and respective
                                                         rates available on 17-20
                                                         April, at airport FCO,
                                                         Rome


                                    Service                                         Service
                                   Consumer                                         Supplier




                                                         VehAvailRateRS


                                                         Rent-a-car agencies and
         Hertz – Economy on 17-20 April
         Hotels available Class – 45EU                   Available Vehicle Types
         Hertz – Superior Class – 86EU
         in Rome:                                        / Rates
         … List of Hotels Class – 55EU
         AVIS – Standard available …

         Grand Hotel: Cable TV, A/C, …
         in all
            Figure 5 Getting the
         rooms, two restaurants, c/in: List   of Available Car-Rental Companies and Respective Rates
         15:00, …
Later on, the service consumer issues a car-rental request to the service provider, indicating the
selected agency, type of vehicle, as well as the date period and the name of the traveler. Similar to
the other sequences, the car-rental request returns the corresponding reservation code.




D7.1.1. The Initial Specification of the Pilot Application Page 15 of 43
3 Settings and Scenarios
In this section, the settings and scenarios that are defined during the lifetime of the SATINE
project and that were used as input for the Requirement Analysis phase and for the Story Boards
of the Demonstrations, are presented.


3.1 SCENARIO INPUT TO THE REQUIREMENT ANALYSIS
    PHASE
          The following scenario instance was developed as a view to how travel services
          advertised in the SATINE network can be used by service consumers, and is used
          as a major input to the Requirement Analysis Phase of the project.. The study
          acts as a guideline for the scenarios detailed in D3.1.1 Requirement Analysis of
          SATINE [1] document. It is also presumed that this setting / scenario will act as
          the baseline for the Pilot Application specification.



                3.1.1 Overview
In this scenario, the client application is a travel e-commerce site, built on the Marco Polo
Framework2 selling various types of travel services. The application is connected to the SATINE
network hence, based on the requests obtained from the end users, the queries, bookings and other
operations on the travel services are realized through the functionality provided by the SATINE
Framework, through the Web services published by the service providers connected to the
network. The scenario presented here, encapsulates the process of searching for services
published in the SATINE framework and querying them.
The travel e-commerce site has a special Trip Constructor facility, which is a tool built into the
Web application that enables the end users to quickly construct a travel package with tourism
services that are commonly found in most trips. In this scenario, the following services are
considered:
         Flight Booking
         Hotel Reservation
         Car Rental
         Sightseeing Tour Service
Through the interface associated for that tool, the user will define the location that she will depart
from and the location that she will arrive at. The application will make an appropriate hotel
reservation for the user for the duration of the visit. A rent-a-car service will also be
recommended, as she may need some type of transportation service in the city. In addition, a
sightseeing tour will be offered, so that she will find the opportunity to visit historical or cultural
places around.



2
    Marco Polo is an Application Development Framework product of Intro Solutions.


D7.1.1. The Initial Specification of the Pilot Application Page 16 of 43
Note that, there are two consecutive stages for searching a service that suits with the user’s
request, working on two separate levels of information bound to a service:
The first stage is to determine the service instances that are of the given service type and
corresponds to the general parameters given by the user, such as location at which the service is
offered and service-class with respect to a service-based rating scheme. Such parameters make up
the static information describing the service and should be stored along with the service
description, in order to facilitate the query activities. As an example, the SATINE Framework
will be able to return the hotel services located in London, to a given query. The user, i.e. the
application owner, should not need to ask a hotel service if it is located in London or not, to get
this information.
The second stage in searching a suitable service is to check the dynamic information, bound to
that service, such as availability and the pricing. The dynamic information is usually based on
date intervals and on different parameters about the service, like room type for a hotel service.
Once a service instance is found in the first stage, it should be queried in order to check whether
the service is available based on the given criteria, e.g. day, number of people and other kinds of
service specific attributes such as room type, through its Web service interface.
SATINE Framework is required to query the service definitions with respect to the first stage of
searching process, i.e. checking the static information describing the service. The located services
that conform to the service search parameters should be queried for availability and pricing. This
style of operation is needed to prevent redundant searches and queries, e.g. there is no sense in
searching a hotel in Paris for availability, if the user is requesting a hotel for her visit to London.


                3.1.2 Scenario Execution
The end-user provides her request through the Web interface of the travel e-commerce
application, built around the Marco Polo Framework. The UI collects the following trip
requirements from the user:
       Departure and Arrival Location
            o    Specific Airport, if more than one airport is available on that location
       Start and End Dates of the Trip
       Hotel Preference
            o    Hotel class based on the respective rating levels, e.g. superior first, economy,
            o    Room type, e.g. suite, economy,
            o    Bed type, such as king bed, queen bed or twin bed,
            o    Amenities that should be found in the hotel, e.g. swimming pool
       Rent-a-car Preference (Optional Service)
            o    Car class
            o    Requested point of rental, like the airport or hotel
       Sightseeing Tour Preference (Optional Service)
            o    Type of tour: historical, cultural, etc.


D7.1.1. The Initial Specification of the Pilot Application Page 17 of 43
            o    Duration preferred (Most sightseeing tours are half a day, or one day, where
                 there are instances that span more than 2 days.)
Based on her needs, the user provides the needed fields and indicates which services will be
included in the trip. In this scenario, the rent-a-car and sightseeing tour services are indicated as
optional items in the package. The style of collecting the information from the user is dependent
on the structure of the user interface, where all information can be obtained inside a single form,
to provide a package tour, or the user may be guided through a series of forms, each dedicated to
a given sub-service in the trip package.
The general structure of the travel itinerary was discussed in the previous section. A round-trip
flight is booked between the departure and arrival locations on the start and end dates of the trip.
A hotel service is also included for the duration of the trip. In addition, the user may choose to
subscribe for a sightseeing tour service, to visit historical or cultural places around town, and a
rent-a-car service.
The static information about the services forms the ground for the queries that will be sent to the
SATINE network, in order to find the suitable services. The request of the user, that will be used
to generate the required queries, is delegated to the communication components of the Web
application that are responsible for interactions with the SATINE Network. The following
services are searched for, within the network, through those queries:
       An airline service, that provides booking for flights between the given departure and
        arrival locations
       A hotel service, that is located at the arrival location, and that conforms to the user
        request based on the hotel class, and the included amenities.
       A rent-a-car service (if included), that provides car rental at the arrival location
       A tour service (if included), providing sightseeing tours at the arrival location
The static information that is associated with the service descriptions and is used in the queries is
indicated in italics in the above text. The queries do not include the dynamic information about
the service, e.g. start and end dates of the trip. Note that, it is possible to assume the type of room
and bed for the hotel service as being static information. Nevertheless, in the Travel Domain, this
information is generally dynamic, and is bound to change based on tourism seasons and on the
request of the customer, hence are not included in the query for locating the appropriate service.
Besides, the availability and pricing information of the service, is affected with this information,
e.g. price of an economy-class room with single-bed is different than that of a suite with king bed.
Another point to note is related with the tour service. In this example, we are locating a tour
operator that is providing a sightseeing tour service, as is generally the common pattern in the
Travel and Tourism Industry, not locating an individual sightseeing tour instance.
SATINE Framework issues the search requests through queries propagated in the P2P network.
The results are collected and provided to the Web application as a list of appropriate services.
Each entry in the list comprises the corresponding travel service definition and associated Web
services. The Web application issues the dynamic queries on the respective Web interfaces of
these travel services hence probe each service individually to check for availability and pricing.
Based on the results of the queries on the dynamic data, the Web application has enough
knowledge about the services that are suitable for the user’s needs, and presents them through the
user interface for final selection – e.g. there may be two different hotel alternatives that are


D7.1.1. The Initial Specification of the Pilot Application Page 18 of 43
suitable for the user, and she may want to select the one to include in the trip. The Web
application constructs a trip that suits to the request of the user most and may possibly include
alternatives constructed from the services that are found in the SATINE Framework, if not
already finalized by the user. The user selects the package and afterwards the Web application
proceeds on the booking operations. The booking is realized through the booking Web services
for each travel service that is included in the prepared trip. Additional information necessary for
booking, such as name of the traveler, credit card information, are received from the user, and
included in the Web service invocations. At this point in the scenario, the user has booked the
whole package.
Note that, for a given travel service we have possibly more than one Web service associated with
it, e.g. availability Web service, booking Web service, information Web service. It is critical to
stress that, the first query to find the candidate services is realized through sending special
querying commands to the SATINE framework, including the desired travel service attributes –
static information –, where the subsequent queries on the dynamic data such as availability and
pricing, are done through invocations of availability Web services associated with the travel
service.


3.2 SCENARIO FOR THE INITIAL PROTOTYPE
        The following scenario is used in the demonstration of the initial prototype
        during the 1st Review Meeting of SATINE, as well as the presentation of project
        during e-Challenges 2004. The setting describes the utilization of SATINE
        platform from the aspect of an end-user reaching SATINE services through a
        travel agency as the gateway. The details of the scenario in terms of execution
        sequences in the ‘use-case’ level are provided in D3.2.1.5 StoryBoard of the
        Initial Prototype [2] document.


Mr. Thomas Meier is a German businessman, living in Berlin. Mr. Meier has to attend a business
meeting in Paris which will be held in two weeks time and will continue for three days. He is not
concerned about the seat class for the airline in which he will fly to Paris and on the way back to
Berlin. On the other side, he decides to stay in a high quality hotel during his trip, like one of the
first-class hotels in Paris.
In order to arrange the travel itinerary, Mr. Thomas Meier consults his company’s corporate-
travel application which is connected to the SATINE Framework. He chooses to reserve the
round-trip flight first, and then decide on the hotel accordingly. He queries SATINE Network for
the available flights from Berlin to Paris on the 15th of December. The company’s corporate-
travel application already knows a Flight Availability service to query, hence does not ask Mr.
Meier.
The system returns the list of the available flights. Mr. Meier choses to discover additional flight
details, since the departure and arrival times are important for him, as he does not prefer to fly
early morning nor late at night. He invokes the corresponding Flight Information service to obtain
the details of the flight he chose. Mr. Thomas Meier finds a suitable flight and makes a
reservation for it by using the Flight Booking service available in SATINE.




D7.1.1. The Initial Specification of the Pilot Application Page 19 of 43
After the reservation of the flight, Mr. Meier starts looking for an hotel. He wants to locate an
hotel near the Opera Building in Paris, since the meeting that will take place in a nearby building.
In order to find the appropriate hotels in Paris, he queries a Hotel Search Web service in the
SATINE Framework, and receives a list of candidates. Consecutively, He gets more detailed
information about some of hotels discovered, through Hotel Information service. While
examining the list and information on hotels, he realizes that actually one of the hotels in the list,
seems to be appropriate for his business trip. He gets curious if that hotel has an available room
within the time interval of his trip, hence he receives the availability information about the hotel
he chose, through SATINE Framework, and finds out that there are rooms available during his
trip. However, he still has some doubts whether he should book a room at that hotel or not. He
decides to choose later, and leaves his office.
When he reaches the ground floor of the office building, he comes across a friend of his, and tells
him about his business trip to Paris. During the conversation, he mentions the hotel he found. His
friend tells him that the hotel is one of the most comfortable hotels in Paris and advices him that
he should book a room immediately. Following that advice, Mr. Meier takes his PDA out of his
pocket. Luckily, there is a bluetooth network connection in the building. He runs the SATINE
Mobile Peer, check the hotel information again, and finally books a nice suite at that hotel.


3.3 SETTING AND SCENARIO FOR THE FIRST PROTOTYPE OF
    SATINE
        The following scenario instance is utilized in the demonstration of the 1 st
        Prototype of SATINE platform, during 2nd Review Meeting. It utilizes the basic
        concepts described in the previous settings and presents a B2B view of the
        SATINE system. Details on each sequence of operation comprising the
        development and advertisement of travel services, searching the SATINE network
        and invocation of corresponding Web services, are given in Story Board of the
        First Prototype [3] document.


              3.3.1 Overview
In this scenario, we consider several travel industry related companies that are connected to the
SATINE based Travel Network, which provides services related with Air, Hotel and Car-Rental
travel products. The service user is a Travel Agency which provides trip organization service to
large corporations. This company resells travel products found in the SATINE Travel Network,
benefiting from the rich set of alternatives with special prices. The application deployed at this
company is connected to the SATINE network hence, based on the requests obtained from the
end users, the queries, bookings and other operations on the travel services are realized through
the web services published by the service providers connected to the network.
Through the set of interfaces, the agent at the service user company, i.e. the reselling Travel
Agency, will be able to search for web services providing a certain travel service from the
functional ontology. Later on, she can invoke the web service with appropriate inputs to check for
availability and pricing, to get detailed information on the travel product, and finally make
corresponding reservations and booking.




D7.1.1. The Initial Specification of the Pilot Application Page 20 of 43
Note that, these are two consecutive stages for searching a travel product that suits with the user’s
request. The first stage is to determine the service instances that are of the given service type,
such as locating services which provide Flight Availability functionality. The second stage in
searching a suitable travel product is to check the dynamic information bound to the service, such
as availability and the pricing, through executing the corresponding service, e.g. Flight
Availability, with appropriate arguments.



                                                                            Allotment / Pricing
                                                                            Managed Locally
                                                        European Travel -
                                      Fly to Europe –
                                                         Travel Agency
                GDS                   Travel Agency
             Connectivity




                                   SATINE
                                    Travel
                                   Network

               Through SATINE
              enabled Interfaces
                                                                                             On-line connectivity
                                                                                                      to
                            Corporate Travel -                                                Amadeus GDS
  Agent UI                    Service User
                                                                   Marco Polo CRS
                     Figure 6 Overall View of the Players in the Setting for the First Prototype
Figure 6, presents an overall view of the players in the setting and scenario described in this
document, comprising the data management scheme and list of services provided at each end.
Each player is located at geographically different locations and connected to the SATINE Travel
Network, via its dedicated peer application. The service users has several different characteristics,
including
       Resource Management, e.g. travel products are provided through GDS which is
        communicated via proprietary protocol, or managed within a local database
       Language for Communication, e.g. XML Schema validated XML interface, or SQL
        based querying
       Business Rules, e.g. special-prices for certain travel products
The services of these providers will be made available to the SATINE platform, either through
XML based messaging or through the Semantic Wrapper module, both comprising semantics
based on local ontologies, in order to facilitate interoperability by mapping to and from global
travel ontology.
The P2P structure of the SATINE network will facilitate the search for available services
published in the network.




D7.1.1. The Initial Specification of the Pilot Application Page 21 of 43
In the following sections, the characteristics of the service user and the service providers are
presented, accompanied by the definition of the services available, regarding each travel product
category.


              3.3.2 Setting
3.3.2.1 Service Providers
There are several types of service providers considered for the setting of the SATINE prototype.
Each has individual characteristics, i.e. provides different set of services, comprises different
technologies and has separate input/output structures.
Each service provider enables a set of atomic travel services in the network, based on the travel
products they sell (or re-sell).


European Travel – A Small Travel Agency
European Travel is a small-scale travel agency which provides custom travel services such as
holiday tour packages.
The travel agency has made special agreements with several hotels around Europe and has
negotiated for special-priced rooms in the corresponding properties. The hotels allocate a certain
room quota for the European Travel, and the travel agency sells rooms from its allocated quota.
In time, the travel agency constructed a simple database that keeps information about the hotels,
e.g. amenities in the hotels and addresses, and daily prices and allocation for the hotel rooms.
European Travel participates in the SATINE Travel Network, in order to expand its customer
base. Henceforth, the travel agencies and tour operators that have joined the travel network will
locate European Travel, and book hotel rooms directly from its quota, with special prices. As a
result, European Travel will not need to invest its effort for finding customers but expanding its
business, via finding new hotel properties for collaboration.
The Semantic Database Wrapper module of SATINE will be utilized to deploy the information
within the hotel management database of European Travel in the form of SATINE compliant web
services.
Through the special RDBMS Wrapper, European Travel will provide the following atomic
services related hotel reservation.
    1. Search and Availability:
        This function provides the room availability of several properties located at a certain city,
        including the corresponding room type information and associated rates.
    2. Detailed Hotel Information
        Presents detailed information about a given property, including but not limited to hotel
        and facility information, area and transportation information, as well as the hotel and
        room amenities.
    3. Reservation




D7.1.1. The Initial Specification of the Pilot Application Page 22 of 43
        This function enables the reservation of hotel rooms for a given date period. The service
        users also indicate the requested room type as well as the traveler information for whom,
        the reservation is made.


Marco Polo - Central Reservation System
Central Reservation Systems provide a one-point access to different travel resources and their
respective services. Through its connectivity to Amadeus GDS, Marco Polo CRS provides on-line
services in several travel categories, i.e. Air, Hotel and Car-Rental products.
Marco Polo CRS has several web services with well-defined input and output structures
exchanging messages in XML format, and respective XML Schemas defining these messages.
The mapping tool and other related utilities of SATINE will be utilized to generate a mapping
between the Marco Polo CRS and the global travel ontology of SATINE.
Marco Polo CRS provides several travel related services, through its connectivity to Amadeus
GDS. The enabled services are categorized as air, hotel and car-rental.
    1. Air Services
            a. Multi Availability
                This function provides the flight availability between two locations (city or
                airports) on a specific date.
            b. Detailed Flight Information
                Presents detailed information about a given flight, including equipment, meal and
                duration information for each segment
            c. Flight Booking
                Enables booking of a specific air service itinerary; specific flight(s), seat type and
                passenger information.
    2. Hotel Services
            a. Multi Properties Availability Search
                Lists the available properties located at a given city, with minimum and
                maximum room rates.
            b. Single Property Availability Search
                Provides detailed room availability of a specific property, including the
                corresponding room information and rates
            c. Detailed Hotel Information
                Presents detailed information about a given property, including but not limited to
                hotel and facility information, policies, area and transportation information
            d. Room Reservation
                This function enables the reservation of hotel rooms of given type for a specific
                date period.
    3. Car Services


D7.1.1. The Initial Specification of the Pilot Application Page 23 of 43
            a. Car-Rental Availability with Rates
                Availability search on rental facilities at a given location, along with information
                about provided vehicle types and their respective rates
            b. Car Rental - Reservation
                Single reservation based on the location and identification of the rental facility,
                date period and times (pick-up and return) and vehicle type


Fly to Europe – Travel Agency
This travel agency has a special application that provides connectivity to a Global Distribution
System. It publishes Air Services, which are maintained by the GDS in the backend, to the
SATINE travel network. The services of Fly to Europe Travel Agency will be provided based on
the Galileo GDS API.
Fly to Europe provides several services regarding flight reservation, to the companies
participating in the SATINE Travel Network.
    1. Multi Availability
        This function provides the flight availability between two locations (city or airports) on a
        specific date (with/out a return flight).
    2. Flight Information
        Presents additional information about a given flight segment, including equipment, meal
        and duration information.
    3. Flight Booking
        Enables booking of a specific air service itinerary; specific flight(s) with given seat type
        and passenger information.


3.3.2.2 Service Consumer – Corporate Travel – A Travel Agency
Corporate Travel has made business agreements with travel companies and SATINE, in order to
be able to use their available services with special prices. SATINE has provided them with a set
of applications to search for services, check the availability and gather detailed information, and
finally make reservations and bookings. The generic user interfaces supplied by SATINE, enable
the invocation of services related with different travel service categories, such as Air, Hotel and
Car-rental.


              3.3.3 Scenario Execution
One of the clients of Corporate Travel requested an organization of a business trip in Europe.
One of the agents in Corporate Travel is assigned to organize the requested itinerary. The agent
logs into the SATINE Client Application, in order to reserve or book travel services to construct
the trip. The requested travel itinerary is as follows:




D7.1.1. The Initial Specification of the Pilot Application Page 24 of 43
                  One of the associate directors of the company will attend a
                  conference in Rome, Italy. The conference will continue for
                  three days, and the associate director arranged a few
                  additional business meetings for possible collaboration with
                  Italian companies, during that time. In this respect, a flight
                  from London, U.K. to Rome, Italy is requested, in addition to a
                  4 day hotel reservation for the duration of the stay. The
                  associate director has visited Rome a few times in the past
                  hence he is confident with the general directions within the
                  city. In this regard, a car-rental service will be reserved to
                  enable transportation within the city. The company has also
                  indicated that, a first class trip is not necessary, i.e. the flight
                  will be booked from the economy class, and the hotel does not
                  need to be luxurious.


The agent, first, books the necessary flight from London to Rome. SATINE Travel Network is
queried for Flight Availability services, and the system returns the list of alternative services
found in the network. The agent selects the service from Fly to Europe, provides the date
parameters and indicates that an economy class flight is requested. Once the service is invoked,
the system returns the available flights with the given properties, on the selected date. The agent
receives additional information about the flight, via the associated Flight Information service, and
later on does the booking for the name of the client, i.e. the associate director.
The next operation is the reservation of the hotel room. Again, the agent queries the system and
receives two alternative services for Hotel Availability, from Marco Polo CRS and from
European Travel. The agent chooses the service provided by the Marco Polo CRS, provides the
necessary input, comprising the date of stay, the relative location of the hotel (she knows that the
conference will be held on the north region of Rome, and tries to locate a hotel in the
corresponding vicinity), and the hotel rating (both first class and luxury, since she will select the
most appropriate one later on).
In response to that invocation Marco Polo CRS provides a list of hotels, from the Amadeus GDS.
The agent examines the information and gets more detailed description about the hotels, through
additional Hotel Information queries. She identifies two alternatives suitable for the associate
director nevertheless the prices seem to be a little higher than expected. For this reason, she
decides to try the other company found in the SATINE Travel Network, European Travel.
The Hotel Availability service of European Travel is also invoked with the appropriate
parameters. She sees that one of the hotels that she had identified has agreements with European
Travel for special prices. She gets the hotel ID of that property, submits consecutive Hotel
Information queries, and checks the room availability and price. The prices advertised are cheaper
than that of Marco Polo CRS hence the agent reserves the hotel through European Travel.
The final service is Car-Rental. The agent queries the system for Car-Rental services and sees that
Marco Polo CRS provides the requested functionality. She interacts with the corresponding Car-
Rental Availability service, and locates a car-rental agency at the airport has availability for the
duration of the stay. The agent makes the reservation, with the corresponding attributes;
comprising the date of arrival and departure, as well as the pick up and drop off locations for the
car.


D7.1.1. The Initial Specification of the Pilot Application Page 25 of 43
As soon as the car-rental reservation is made, the business trip of the associate director is ready.

3.4 SETTING AND SCENARIO FOR THE FINAL PILOT
    APPLICATION
Scenarios were provided to the consortium in an iterative manner; while updating the actors the
scenarios were improved to include more realistic content. This final scenario includes a real
commercial application as the end-user and includes two major Global Distribution Systems
participating in this domain.
Initial version of the scenario presented in this section was demonstrated in the 3rd Review
meeting of the project. The final version contains both the comments from the reviewers and
improvements that are going to be implemented in the remainder of the project.
Most of the actors that may participate in the SATINE Network will be SMEs that will only have
business agreements with local service providers as a reseller without any content. The following
section explores one of the new major functionalities; namely content providing to players in the
network.

              3.4.1 Content Provider Services
Apart from Travel Service Providers participating in the network, such as Travel Agencies and
Central Reservation Systems, it is envisioned that the SATINE based Travel Network may also
include Content Provider companies, which will enable access to a rich set of information about
travel services of different types and scales, travel locations, airline corporations and maybe on
Travel Industry related regulations of countries. A Content Provider may be a Travel Service
Provider, which maintains rich content related with Travel and Services, and provides access to
this content through a supplementary service. On the other side, a Content Provider may also be
an individual company that only specializes on gathering and publishing information and has a
business model based on this argument.
It is planned to include several information services of Content Provider companies, within the
Pilot Application of SATINE. Two sample services are described below.


3.4.1.1 Detailed Hotel Information
This service will provide detailed information about hotel properties, possibly including rules and
policies, e.g. payment, cancellation, facility utilization policies; hotel and room amenities, hotel
and room descriptions, directions relative to key locations in the vicinity, as well as hotel contact
information.
Although the Travel Service Providers usually supply a hotel information service as a part of the
hotel reservation business process, this service is not meant for separate use. These services are
generally of limited scope where information content is generally purchasing oriented, aimed for
Travel Agents that are familiar with the industrial concepts and terms, and does not take
marketing into consideration, i.e. not suitable for the end-user travelers. In addition, it is not
expected that these services present up-to-date information about hotel properties, since managing
information about thousands of hotels requires a significant amount of effort.
Intro Solutions has already constructed a Hotel Information Database, which comprises
information about more than 40.000 hotel properties, as a part of Marco Polo Travel Application



D7.1.1. The Initial Specification of the Pilot Application Page 26 of 43
Framework. The content of this database will be enriched and processed further, and a detailed
hotel information service that accesses the underlying content, will be developed within the scope
of the demonstration of the Pilot Application.


3.4.1.2 Hotel Images
Similar to the detailed hotel information service, hotel images is a marketing oriented supporting
service. This service provides pictures about hotel properties, in different categories, such as
room views, lobby view, pictures from the restaurant, bar and breakfast room, as well as the
included facilities.
Intro Solutions has constructed a categorized image database of thousands of hotel properties
around the world. Within the scope of the Pilot Application, a hotel images service will be
implemented, in order to provide hotel pictures to travel agencies and other travel companies
participating in the SATINE network.
This service introduces an important requirement to the SATINE platform in the technical sense.
The web services, peer applications and ontology related modules will be able to handle binary
data, i.e. hotel pictures in this case. Necessary enhancements will be realized further in the course
of the project, to handle this requirement.

               3.4.2 Setting
Figure 7 describes the actors in the final setting of the pilot application.
3.4.2.1 Service Providers
This section describes the parties that provide services to the services provided. There are several
types of service providers considered for the setting of the SATINE prototype. Each has
individual characteristics, i.e. provides different set of services, comprises different technologies
and has separate input/output structures.
Each service provider enables a set of atomic travel services in the network, based on the travel
products they sell (or re-sell).
European Travel – A Small Travel Agency
European Travel is a small-scale travel agency which was described in detail in section 3.3.2.1
The Semantic Database Wrapper module of SATINE will be utilized to deploy the information
within the hotel management database of European Travel in the form of SATINE compliant web
services.
Through the special RDBMS Wrapper, European Travel will provide the following atomic
services .
    1. Hotel Booking
             a. Search and Availability:
                 This function provides the room availability of several properties located at a
                 certain city, including the corresponding room type information and associated
                 rates.
             b. Detailed Hotel Information



D7.1.1. The Initial Specification of the Pilot Application Page 27 of 43
            Presents detailed information about a given property, including but not limited to
            hotel and facility information, area and transportation information, as well as the
            hotel and room amenities.
            c. Reservation
            This function enables the reservation of hotel rooms for a given date period. The
            service users also indicate the requested room type as well as the traveler information
            for whom, the reservation is made.



                                                                                                           Allotment / Pricing
                                                                                                           Managed Locally
                                                                            European Travel - Travel
                                                Fly to Europe –                    Agency
                                                Travel Agency
              Local System




                                            SATINE
                                     Travel Network



             Touristix.com



                                                                                                                               On-line connectivity
                                                    Satine Peer Interface                                                               to
                                                                                                                             Amadeus and Galileo GDS
                Through Internet
                                       Turmek Travel - Service User
                                                                                                Marco Polo CRS




                                   SATINE Mobile
                                    Application



                 Figure 7 Overall View of the Players in the Setting for the First Prototype
3.4.2.2 Service Providers
This section describes the parties that provide services to the services provided. There are several
types of service providers considered for the setting of the SATINE prototype. Each has
individual characteristics, i.e. provides different set of services, comprises different technologies
and has separate input/output structures.
Each service provider enables a set of atomic travel services in the network, based on the travel
products they sell (or re-sell).
European Travel – A Small Travel Agency
European Travel is a small-scale travel agency which was described in detail in section 3.3.2.1


D7.1.1. The Initial Specification of the Pilot Application Page 28 of 43
The Semantic Database Wrapper module of SATINE will be utilized to deploy the information
within the hotel management database of European Travel in the form of SATINE compliant web
services.
Through the special RDBMS Wrapper, European Travel will provide the following atomic
services .
    2. Hotel Booking
            a. Search and Availability:
                This function provides the room availability of several properties located at a
                certain city, including the corresponding room type information and associated
                rates.
            b. Detailed Hotel Information
            Presents detailed information about a given property, including but not limited to
            hotel and facility information, area and transportation information, as well as the
            hotel and room amenities.
            c. Reservation
            This function enables the reservation of hotel rooms for a given date period. The
            service users also indicate the requested room type as well as the traveler information
            for whom, the reservation is made.
    3. Bike rental services
        This function enables the clients to rent bikes for sightseeing around the city
    4. Reservation for restaurants
        This function enables reservation of a place in a restaurant of the client’s choice at
        the specified time.
Marco Polo - Central Reservation System
Central Reservation Systems provide single point access to multiple travel service providers and
their respective services. Through its connectivity to Amadeus and Galileo GDSs, Marco Polo
CRS of Turmek Travel Agency provides on-line services in a wide variety of service categories
such Air, Hotel and Car-Rental.
Being a CRS system Marco Polo can issue queries to GDSs for the services requested by the
users. However, GDS systems also have their limitations; in order to overcome these limitations
Marco Polo provides hotel content information. When a query is made through MarcoPolo; it first
retrieves the list of available hotels from GDSs and then it searches for detailed information in its
database. Detailed information about a hotel includes photos of the hotels, rooms and amenities.
The aggregated information is then returned to the end-user
Connectivity with different GDSs require a stable communication layer. Marco Polo makes
extensive use of messages defined through XML Schemas. These messages are created and
exchanged with the GDS based on the received requests. Ontology mapping tools made available
within the SATINE is utilized to generate a mapping between these messages schemas and the
global travel ontology.




D7.1.1. The Initial Specification of the Pilot Application Page 29 of 43
Marco Polo CRS provides several travel related services, through its connectivity to Amadeus
and Galileo GDS. Provided services are categorized as air, hotel and car-rental.
    1. Air Services
            a. Lowest Fare
                This function provides the flight availability between two locations (city or
                airports) on a specific date.
            b. Detailed Flight Information
                Presents detailed information about a given flight, including equipment, meal and
                duration information for each segment
            c. Flight Booking
                Enables booking of a specific air service itinerary; specific flight(s), seat type and
                passenger information can be used to specify a request.
    2. Hotel Services
            a. Multi Properties Availability Search
                Lists the available properties located at a given city, with minimum and
                maximum rates for the requested room.
            b. Single Property Availability Search
                Provides detailed room availability of a specific property, including the
                corresponding room information and rates
            c. Detailed Hotel Information
                Presents detailed information about a given property, including but not limited to
                hotel and facility information, policies, area and transportation information
            d. Room Reservation
                This function enables reservation of hotel rooms of given type for a specific date
                period.
    3. Car Services
            a. Car-Rental Availability with Rates
                Availability search on rental facilities at a given location, along with information
                about provided vehicle types and their respective rates
            b. Car Rental - Reservation
                Single reservation based on the location and identification of the rental facility,
                date period and times (pick-up and return) and vehicle type
    4. Composite Services
        Marco Polo CRS has web services for Air, Car, and Hotel services as specified
        above. Turmek Travel specifies another service by using WSCompositionTool
        provided to the clients of SATINE Network. They provide a fly-and-drive service
        by composing the Air and Car services of Marco Polo. The idea of the “Fly&Drive”
        service is to provide customers with an integrated express search and booking of the


D7.1.1. The Initial Specification of the Pilot Application Page 30 of 43
        cheapest flight and the cheapest rental car for a given destination and time period. The
        “Fly&Drive” service thereby responds to the need of people who are in an emergency
        situation and who need to immediately book a flight and a rental car by using their
        mobile device. In order to provide that kind of service various other services available in
        the SATINE network need to be discovered and coordinated. Turmek decides to use the
        SATINE service composition toolkit in order to design the Fly&Drive process.

        Turmek Travel has a specialized SATINE mobile application which is very suitable for
        traveling tourists. They make this composite service available to mobile clients. The
        SATINE mobile application is developed by METU and it will be attached to the Turmek
        Travel actor within the scope of the scenario. Through mobile application the user will be
        able to reach the composite services designed by the tool provided as part of the SATINE
        Network.
Fly to Europe – Travel Agency
Fly to Europe is a local travel agency providing flight reservation services. Since it could not
justify the annual subscription fees of GDS; it specialized in providing low-fare flight
reservations and signed contract with several airline companies. Throughout the years, they
developed a back-office application to keep track of the bookings and flight information. This
legacy application operates on a database and do not have any other interfaces to the external
world. The services provided by Fly to Europe Travel Agency are made available to the SATINE
network by utilizing web service technology.
Fly to Europe provides several services regarding flight reservation, to the companies
participating in the SATINE Travel Network.
    1. Multi Availability
        This function provides the flight availability between two locations (city or airports) on a
        specific date (with/out a return flight).
    2. Flight Information
        Presents additional information about a given flight segment, including equipment, meal
        and duration information.
    3. Flight Booking
        Enables booking specific air service itineraries; specific flight(s) with given seat type and
        passenger information.
Local Information Services – Weather Information
The Bureau of Meteorology of the target destination, Sydney provides weather information via
web services. Whenever a query is issued; touristix.com checks whether there are local
information services for the destination. If the query returns results; those services are invoked
with the dates the passenger will be in the destination. The output from the service is displayed in
the result of the service query user interface.

Local Information Services – Distance Information

Another local service made available to the SATINE network is calculating the distance between
cities in a given country. This service requests city names as the input and returns the calculated



D7.1.1. The Initial Specification of the Pilot Application Page 31 of 43
distance. The interface to this web service is not invoked automatically but only after a request
from the end-user with a click on calculate distance button.
3.4.2.3 Service Consumer
Turmek Travel – A Travel Agency
Turmek Travel has made business agreements with major GDSs and SATINE, in order to be able
to use their available services with special prices. SATINE will provide a peer with web services
interface to let front-end of Turmek Travel access SATINE network. As a result, Turmek travel
will be able to search for services, check the availability and gather detailed information, and
finally make reservations and bookings through SATINE. The user interfaces similar to
touristix.com (which already commercially exists, implemented by Intro and owned by Turmek)
is implemented by INTRO and services related with different travel service categories, such as
Air, Hotel and Car-rental are invoked.
Air Services




                                   Figure 8 Touristix.com Air Interface
In the user-interface of the site, customer is requested to enter origin, destination and date info as
the query parameters to search for available flights. It is also possible to give the class type as
another parameter.
Selecting an available flight gives detailed information about flight such as flight segment,
including equipment, meal and duration information




D7.1.1. The Initial Specification of the Pilot Application Page 32 of 43
Customer will enter information about passenger and number of seats and then will activate the
booking service so that selected flight will be reserved.
Hotel Services




                                  Figure 9 Touristix.com Hotel Interface
Customer is able to search for hotels by giving city, date, class, and location of the (near the
center of the city/urban area) information. In the result list, selecting an available hotel will show
information about hotel. Customer possibly can see the detailed information of the hotel including
photos. Customer will give guest information and will reserve the room.




D7.1.1. The Initial Specification of the Pilot Application Page 33 of 43
Car Services




                          Figure 10 Touristix.com Car-Rental Service Interface
Customer is able to search for available cars from SATINE network. In web site customer will
give location, vehicle type and price information, for querying available cars. After selecting an
available car, customer info will be given and the car will be reserved.



               3.4.3 Scenario Execution
3.4.3.1 Web-Based Scenario
A customer has visited the Turmek Travel web site to arrange a trip in Europe. First of all, the
customer has to log into the site so that booking services can use her information for reservations.
The requested travel itinerary is as follows:



D7.1.1. The Initial Specification of the Pilot Application Page 34 of 43
                  An EU Project member Sofia Brown is planning to attend a
                  conference in Sydney, Australia. This meeting will take place
                  in Sydney for 20 days in mid October, including a vacation for
                  15 days for reef diving. In this respect, a flight from Athens,
                  Greece to Sydney, Australia is requested, in addition to a 20
                  day hotel reservation for the duration of the stay. Sofia is also
                  planning to visit the museums and other historical places in
                  the city. However she did not make up her mind about
                  traveling to cities nearby. She prefers staying in a comfortable
                  hotel, however due to budgetary limitations she chooses flying
                  with economy classs.


Sofia clicks on air search tab to search for available flights from Athens to Sydney. Touristix asks
her to specify departure city, destination city; preferred flight class; departure and return dates.
When Sofia clicks on search button; a query for Flight Availability services is submitted to the
SATINE Network.
At the time of the query only two services accept connections namely Fly to Europe and Marco
Polo. Input from the user is converted to input requested by Flight Availability services of the
providers. Results from these services are aggregated and are displayed to Sofia. Site also checks
whether a weather service is available and displays the weather information during her stay along
with the results of the query.
She selects a flight for her itinerary and the site requests more information using Flight
Information service. Having decided that the flight is appropriate for her she clicks on book
button and the site invokes FlightBooking service of the provider for that particular service.
Next step in arranging her trip is finding accommodation. She asks the system to bring list of
available hotels by specifying the dates she will stay, preferred room type; location of the hotel
within the city; bed type and so on.
Site asks the SATINE Network for a list of hotel service providers. Marco Polo CRS and
European Travel are the providers connected to the network. Providers are supplied with
necessary input data while invoking Hotel Availability services; which in turn return the found
hotels.
The results are sorted according to business logic of the site which prioritizes room rates above all
criteria. Small descriptive text about each of the returned hotels is provided to the customer along
with the room rates. She identifies that two hotels are within her budget and selects detailed
information option to check the room pictures and amenities. The client invokes Detailed Hotel
Information service from Marco Polo and displays the results. After checking the detailed
information on both alternatives, she decides to stay in the hotel provided Marco Polo; since it
includes a swimming pool for a minor price difference. Finally she clicks on book button and the
request is sent to the Hotel Booking service of the provider which is Marco Polo CRS.
The final step in booking her trip is renting a car to get to the hotel and the conference. She clicks
on Car Rental tab of the site. She checks the distance between Canberra and Sydney by invoking
the “Distance Calculator” and finds out that she may arrange her itinerary for a trip to Canberra.
Based on the returned result she decides on the Mileage Type preference for car rental query. She
specifies her preferences for the car she requests. Site finds out that the sole provider for the car-


D7.1.1. The Initial Specification of the Pilot Application Page 35 of 43
rentals is Marco Polo CRS. Cars meeting the requirements are displayed to her. She selects one of
the results and specifies that she wants to get the car at the airport and will drop the car off at the
same place.
During her stay in Sydney, she receives a phone call from her mother saying that her
father’s health condition has gone considerably worse. She decides to take a break from
her trip and pay a quick visit to her parents. She uses her mobile device to reserve a flight
and a car very quickly through a fly and drive service. After searching for a flight from
Sydney to Los Angeles and a suitable car for two days; Turmek mobile application
connects to SATINE network and performs the required flight and car reservations. As
soon as the reservations are finished, start dates of the services and service names are
saved to her agenda.




                                  Figure 11 - SATINE mobile application




D7.1.1. The Initial Specification of the Pilot Application Page 36 of 43
4 Technological Aspects
The SATINE Framework based Travel Network is beneficial only when there are Service
Consumers and Service Providers communicating and collaborating with each other in the
network. In this section technological specifications and assumptions regarding the integration
with the Service Consumers and Service Providers are described


4.1 SERVICE CONSUMER INTEGRATION
In the current version of the scenarios, integration with the Service Consumer systems is not
considered. It is assumed that, the end-users in the form of Travel Agents, will access the relevant
SATINE functionalities through tools and applications developed within the scope of the
respective Work Packages and Prototype implementations, e.g. Web Service Advertisement,
Searching and Invocation.
SATINE API to access the Framework functionalities will be constructed and used further in the
project life-cycle, during Pilot Application implementation.


4.2 SERVICE PROVIDER INTEGRATION
              4.2.1 Overview
The Service Providers will present their business operations, which the service consumers can
interact with, through Web services. Specifications of the SATINE Framework encapsulates
information on how these Web services are advertised and published in the network, how they are
located, and finally how these services are interacted with. The internal structure of the Web
services does not need to follow strict rules, nevertheless, a small set of assumptions are made for
a smoother integrability with the SATINE network
In the initial prototype of the SATINE project [2], the Web services were using RDF instances as
input and output parameters. During that study, it seemed that this requirement is not feasible,
since SATINE cannot expect the Web service providers to create such Web services. On the other
hand, most of the current systems found in Travel Industry accepted XML input and output that
conform to a given XSD Schema; and it is also much easier to use, since there are tools to help
automated generation of schemas from data sources or classes in an Object-Oriented language. As
an example, Galileo Web Services API enables web services that are comprised of a single input
and a single output element, which are the request and response messages respectively, as XML
documents. In this respect, starting with the first prototype, it is assumed that the service
providers generally follow that rule, hence the respective prototype Web services are
implemented accordingly.
In the meanwhile new SATINE Ontologies in OWL are provided.




D7.1.1. The Initial Specification of the Pilot Application Page 37 of 43
For the purpose of conversion between OWL instances and XML strings, a special Normalization
tool is developed, based on the work by Harmonise Project3. With the help of this tool, Web
services that have interfaces based on XML documents, will easily join SATINE Network. Using
the XSD schema that describe the format of input and output XML documents, local ontologies
for the services will be created in OWL and a normalization file will be saved which stores the
information needed for the conversion of OWL instances to XML and vice versa. The ontology
development process also benefits from the Normalization tool, i.e. ontology skeleton will be
generated from the XML schema. The following figure reflects the Normalization process and
how XML based Web Services can be used within the SATINE network, without the need for
reimplementation.




                         Figure 12 Normalization of the XML Based Interfaces
The message and function ontologies utilized in the prototypes are provided in Story Board of the
Initial Prototype [2], Story Board of the First Prototype [3] and Story Board of the Third Review
Meeting Demonstration [5] documents. These are dynamic elements of the project, hence will
be revised and enhanced during the course of Prototype development and Pilot Application
implementation effort. The current version of the global ontology of the SATINE Travel Network
based on the OTA Specification, is described in D4.2.1, Software Tools to Associate the
Semantic Information Stored in the Registry with the Services Advertised in the Registry [4]
deliverable, and sample ontologies are referenced in the Appendices.

               4.2.2 Web Services Encapsulating Existing Business
                     Functionalities
As mentioned before, the Travel Companies may have existing systems that provide information
and travel services through a GDS, a CRS or a locally managed PMS. In this case, the business
functions enabled through the Service Provider applications, will be wrapped as Web services so
that they can be used through the SATINE Network. In the Prototype implementations of
SATINE, the business operations of a Travel Agency, achieved through interaction with
Amadeus and Galileo GDSs, were considered.
Although there are several differences in these GDSs, e.g. regarding the structure of messages,
communication technology and special travel codes, both GDS technologies can be considered as
being similar. Access to both Amadeus and Galileo systems is achieved through the use of a
proprietary API based on COM technology, i.e. Amadeus COM API and Galileo XML Select


3
    Harmonise, IST200029329, Tourism Harmonisation Network


D7.1.1. The Initial Specification of the Pilot Application Page 38 of 43
API, which accepts requests and returns responses in XML format. This special component
handles all the communication related issues, including authentication with the server and
message encoding/decoding.
A typical scenario of how a request is executed through the Amadeus GDS, is shown in Figure
13. The application that will enable Amadeus GDS access, will generate the appropriate XML
message corresponding to a particular request, e.g. Air Availability, and pass this message to the
Amadeus COM API component which handles the communication with the Amadeus GDS. The
Amadeus COM API component is responsible for pooling, session management, time-out
management, and validation and preprocessing of the XML messages, to ensure a successful
interaction. The response that is received, is send back to the Application components that
initiated the communication, and is processed accordingly. The sequence of operations is also
similar in the case of Galileo XML Select API.
     <PoweredAir_MultiAvailability>
       <messageActionDetails> . . .
       <departureLocationInfo>
         <cityAirport>IST</cityAirport>
       </departureLocationInfo> . . .


                                                 XML message
                                                                               1 – Application
                   2 – Amadeus XML Msg.         generator/parser                 Command

 Amadeus                                                                                  Search for flight
                                                                                          From: Istanbul
 API DLL                                                                                  To: Paris
                        4 – Amadeus XML Msg.                                              Date: 17/06/04
                        as Response                                                       …
                                                                5 – Response
      3                                                         to the
                                                                Application
                                           Flight Itineraries
                                           1---
                                            TK-140 Ist-Mun                     Application
                                            TK-1490 Mun-Par
                                           2---
                                                                               Component
               Amadeus                     …

                Server
                            Figure 13 Interaction with the Amadeus API / GDS


Note that, the application components do not depend on the particular XML format, but produces
and receives data within internal Class Structures. A special XML generator / parser component
is responsible for necessary transformation between XML format and Class Structures. This is the
common strategy adopted in developing applications based on a GDS specific API. The GDS
transaction messages are rather dynamic and change in periods set over the year. In this strategy,
the only thing necessary to upgrade to a new version of the XML message set is to change the
XML generator / parser component, without touching the internal structure of the application; if
the changes are minimal and does not affect the business logic.
This strategy is also adopted for the development of Web services for the Prototype
implementations of SATINE. The XML messages received through Amadeus and Galileo GDSs
are not presented directly to the network but are wrapped through appropriate classes and
decorators. A brief overview about the implementation of Amadeus and Galileo API based Web
services and relevant technologies used, is presented in the following.




D7.1.1. The Initial Specification of the Pilot Application Page 39 of 43
A specific information class pair is constructed for each request and response message
encapsulating the information that is sent to the corresponding GDS and is received, respectively.
These classes constitute to the Class Structures described above. Although the information
content is the same, the view for the SATINE side and the relevant GDS side is slightly different;
i.e. one conforms to the XML Schema that describes the local ontology, while the other has
additional elements for the corresponding COM API which needn’t (or in some cases, should not)
be presented to the SATINE Network.
For this reason, special decorator classes which generate the specific XML view of the relevant
information, are developed. The decorators providing XML messages conforming to the XML
Schema for SATINE, are used in the Web services, while the decorators providing GDS specific
XML messages are used with the specific COM component. The following figure presents the
overall structure and the sequence of operations realized for a Web service invocation from
SATINE.
        XML document                                                   XML document
        complying to the                  Decorators                   complying to the format
        XML Schema                                                     defined for the GDS API



                                                                                           DLL

                                               Class
   Web Service                               Structures                            GDS API
                                                                                  Component




                                   Travel Agent Application
   1          4                                                                  3               2
                             Steps:
                             1. Web service receives request XML
                                 complying to the XSD Schema
                             2. GDS specific XML is generated and
                                 sent to the GDS API Component
                             3. Request is handled, GDS returns the
                                 response XML
                             4. Web service output is generated and
    SATINE                       sent back to the invoker                        GDS Server
 Travel Network                                                              ( Amadeus / Galileo )


                                Figure 14 Internal Logic of a Web Service


The decorators for the Web services that will be presented to the SATINE Network, benefits from
the use of Java Architecture for XML Binding, JAXB, so that XML parser classes are generated
directly from the respective XML Schema. On the other hand, Amadeus and Galileo APIs do not
have a well-formed structure and relevant XML Schemas, hence the decorators for the GDS API
communication are developed with SAX and DOM parsers.



                 4.2.3 Web Services Wrapping Data Sources
The business functions that are executed on a data source, e.g. a relational database management
system, will be wrapped as Web Services to be deployed in the SATINE Network, through the



D7.1.1. The Initial Specification of the Pilot Application Page 40 of 43
Web Service Generator Tool. This tool will generate the relevant Web services enabling Travel
related operations, in three main steps:
    1. Definition of the Web service: In this step, the data source on which the operations are
       executed, is defined, in terms of how to access the given database and the schema of the
       database. In addition, in compliance with the notion of developing Web services with
       inputs and outputs as XML documents, the respective XSD Schema describing the XML
       documents that will encapsulate the information that is used in the data source operations,
       is generated.
    2. Definition of Operations: The XQueries that will enable each business function are
       defined and tested on the defined Data Source. The XQueries will be managed through
       the XLive framework developed by Oxymel.
    3. Generation of the Web Service: The respective Java classes and configuration files will
       be generated dynamically based on the queries that reflect the business functions. The
       package of Java classes will be deployed through an Java Application Server such as
       Tomcat.
The Web service creation tool will allow SME level Travel Companies, participate in the network
along with the travel services, through only a small amount of development and deployment
effort.




D7.1.1. The Initial Specification of the Pilot Application Page 41 of 43
5 References
[1]     SATINE Consortium, Requirements and Specifications of SATINE (D3.1.1, Final
        Version), May 2004
[2]     SATINE Consortium, Storyboard of the Initial Prototype (D3.2.1.5, Final Version),
        October 2004
[3]     SATINE Consortium, Storyboard of the First Prototype, February 2005
[4]     SATINE Consortium, Software Tools to Associate the Semantic Information Stored in the
        Registry with the Services Advertised in the Registry (D4.2.1), April 2005
[5]    SATINE Consortium, Storyboard of the Third Review Meeting Demonstration,
September 2005




D7.1.1. The Initial Specification of the Pilot Application Page 42 of 43
6 APPENDICES
6.1 OTA BASED TRAVEL FUNCTIONALITY ONTOLOGY

http://bostanci:8080/downloadedOntologies/TravelFunctionalityOntology.owl

6.2 OTA BASED GLOBAL AIR MESSAGE ONTOLOGY

http://bostanci:8080/ontology/owl/OTAAirMessageOntology.owl




D7.1.1. The Initial Specification of the Pilot Application Page 43 of 43

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:14
posted:6/23/2011
language:English
pages:43