TRAVEL RESERVATION SYSTEM
USING WEB SERVICES
Pratik K Kadakia
Adviser: Dr. Haiping Xu
CIS Department, UMass Dartmouth
Web Service Roles
Service Provider Service Consumer
12/16/2005 CIS Dept., UMass Dartmouth 2
The Functions of the Travel
Search for Flights by entering source and
Search for Hotels by entering city name.
Search for rent-a-car companies.
Allow users to book flight, hotel as well as car.
12/16/2005 CIS Dept., UMass Dartmouth 3
Architecture for the Travel
12/16/2005 CIS Dept., UMass Dartmouth 4
Java Server Pages (JSP – used as the front end)
J2SE v1.5.0_06 SDK (used as a development
Mysql 4.0.21-win. (used as the back end database)
Java Web Services Developer Pack v 1.6 ( used for
developing and deploying web services)(jwsdp-1.6)
Tomcat Server tomat50-jwsdp (used as the server and
also serves as a container for jwsdp-1.6 )
12/16/2005 CIS Dept., UMass Dartmouth 5
Home Page of Travel Application
12/16/2005 CIS Dept., UMass Dartmouth 6
Snapshot - 1
After login, user can select one of the web services.
12/16/2005 CIS Dept., UMass Dartmouth 7
Snapshot - 2
The WSDL (Web Service Definition Language) of the
hotel web service.
12/16/2005 CIS Dept., UMass Dartmouth 8
Snapshot - 3
Web services result is returned to the travel agent.
12/16/2005 CIS Dept., UMass Dartmouth 9
Travel Reservation System using Web
Service Composition Language
Web Services Composition
Is the task of combining and linking existing
Web services to create new Web processes.
It adds value to the collection of services, by
combining them according to the requirements of
12/16/2005 CIS Dept., UMass Dartmouth 10
Advantages of using Web Services
The logic for composition of web services is
modularized and is separated from the rest of
This logic can be re-used by different
Any changes to the business logic can be
directly made in the module without varying
the other parts of the application.
12/16/2005 CIS Dept., UMass Dartmouth 11
Examples of Web Service
BPEL is an XML language that supports process
oriented service composition. Developed by BEA,
IBM, Microsoft, SAP, and Siebel.
Semantic Web (OWL-S)
The Web Ontology Language for Services OWL-S
(previously known as DAML-S) is a ontology that
enables automatic service discovery, invocation,
composition, interoperation, and execution
12/16/2005 CIS Dept., UMass Dartmouth 12
Business Process Execution Language
for Web Services (BPEL4WS)
It stands for Business Process Execution
Language for Web Services.
It provides a language for the formal
specification of business processes and
business interaction protocols.
It enables efficient integration of existing Web
12/16/2005 CIS Dept., UMass Dartmouth 13
Some Terminologies in BPEL4WS
In BPEL, participating services are called
Message exchange or intermediate result
transformation is called an activity.
The composition result is called a process.
A process consists of a set of activities.
12/16/2005 CIS Dept., UMass Dartmouth 14
How to Define a Process
To define a process, we use
a BPEL source file (.bpel), which describes
a process interface (.wsdl), which enables a
process to interact partner services.
an optional deployment descriptor (.xml),
which contains the partner services’ physical
12/16/2005 CIS Dept., UMass Dartmouth 15
The ActiveBPEL engine is an Open Source
implementation of a BPEL engine.
It reads BPEL process definitions (and other
inputs such as WSDL files) and creates BPEL
The ActiveBPEL engine runs in any standard
servlet container such as Tomcat.
12/16/2005 CIS Dept., UMass Dartmouth 16
Introduction to ActiveBPEL 2.0
There are three main areas in the architecture of the
ActiveBPEL engine: the engine, processes, and
The ActiveBPEL engine coordinates the execution of
one or more BPEL processes.
Processes are in turn made up of activities, which
may in turn contain or link to further activities.
The ActiveBPEL engine creates a process from a
BPEL process definition (an XML file) and then
executes this process
12/16/2005 CIS Dept., UMass Dartmouth 17
A Snapshot of the ActiveBPEL
The Active BPEL engine requires an installed and
properly configured servlet container like tomcat.
12/16/2005 CIS Dept., UMass Dartmouth 18
Architecture for the Travel Reservation
System Using BPEL4WS
12/16/2005 CIS Dept., UMass Dartmouth 19
BPEL Pseudo Code
If (Hotel provides shuttle service to
Invoke Car Services with criteria to sort
results according to cost.
Invoke Car Service with criteria to sort
results according to nearest to airport
12/16/2005 CIS Dept., UMass Dartmouth 20
Our approach offers value-added
integrated services by combining existing
It supports reuse and extension of
It is scalable in terms of increasing
number of online services.
12/16/2005 CIS Dept., UMass Dartmouth 21
Show the feasibility of this approach using
more complicated case studies.
Model web services composition using formal
languages such as Petri nets to support formal
Use agent technique to automate the web
services composition process.
12/16/2005 CIS Dept., UMass Dartmouth 22
Current Solutions for Web Service
Composition, by Nikola Milanovic and
Miroslaw Malek • Humboldt University, Berlin
12/16/2005 CIS Dept., UMass Dartmouth 23
12/16/2005 CIS Dept., UMass Dartmouth 24