This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
1. Functional Description
The functionality of Travel Agency Solution has been divided in two components.
This WSServer acts as a server component and provides the following major functionalities.
* Reads the flight information from an XML file using JAXB.
* Reads the hotel information from an XML file using JAXB.
* Flight Information Service Implementation that gets the flight information for a given city.
* Hotel Information Service Implementation that gets the hotel information for a given hotel.
* Service Implementation that books the flight.
* Service Implementation that books the hotel.
This class provides the flight information by working with flight.xml data source.
This class provides the hotel information by working with hotel.xml data source
This class provides the following functionalities as part to FlightWS web service
· It provides the function to get the flight information.
· It provides the function to book the flight using the information provided by the end user.
This class provides the following functionalities as part to HotelWS web service
· It provides the function to get the hotel information of particular city provided as parameter.
· It provides the function to reserve hotel room using the hotel city and room type as parameter provided by the end user.
Since the data source of our web services is based on xml, therefore we have used JAXB tools to generate helper classes to represent the xml schemas.
This WSClient act as client component and provides the following major functionalities.
* Provides the end user interface to view the flight information and hotel information.
* Provides the end user with interface to providing flight and hotel booking information.
a) IndexServlet.java processes the index page.
b) FlightBookingServlet.java processes flight booking using web services.
c) HotelBookingServlet.java processes hotel booking using web services.
d) CurrencyServlet.java Servlet processes currency conversion using web services.
e) ComboBookingServlet.java process flight and hotel booking using integrated service.
f) ComboBookingServlet.java is the servlet that processes flight and hotel booking using integrated service. It uses a helper class (FlightHotelCombo) to hold the flight and hotel information.
g) FlightClient.java consumes the FlightWS webservice to provide flight information and to provide the function to update flight information using flight booking details.
h) ComboClient.java consumes the FlightWS and HotelWS service to provide combined information of flight with its corresponding destination city hotels. It also provides the feature of filtering the hotel list related to particular flight destination city, if hotel proximity from the city centre is greater than 15.
i) CurrencyClient.java consumes the currency web service provided by "http://webservicex.net/currencyconvertor.asmx?WSDL" and converts the currencies.
j) HotelClient.java is the client class that consumes the web service HotelWS to provide the hotel information.
Travel agency solution is designed using following factors in mind.
In order to achieve flexible design the functionalities are implemented in the form of well defined classes. By doing so reusability, low coupling and high cohesion has been achieved.
* Web Services implemented as part of WSServer provides low coupling.
* Helping classes are introduced which provide clean separation of functionality so that it can be reused resulting in low coupling.
* The user web services to build an integrated solution provide high cohesion by keeping in low coupling and high reusability.
a) The implementation will take advantage of Java EE6 features - especially generics and annotations.
b) Web Service implementation will be implemented as a stateless session bean.
c) JDK 1.6 Update 17, Glassfish v3 and Netbeans 6.8 were used to develop the solution.
Travel Agency solution is implemented using SOA architecture which focuses on reusability and rapid development of software applications using existing services. Web Services provides one of the ways of implementing SOA architecture. Travel Agency solution is an attempt to design application using newly designed plus existing web services. But overall it's a good achievement. It has helped me to get familiar with basic implementation of Service Oriented Architecture through web services.
4. Workflow vs. Semantic Composition
1. Discuss the attributes of web services that allow to build a SOA (Service Oriented Architecture) consisting of composable enterprise application components.
Web services are software building blocks that can be accessed over the Internet in a standard programmatic way using SOAP messaging. They allow programmers to access data from remote providers without extracting it from HTML web pages or using proprietary protocols. Web services are used in various areas: product search and ordering, address validation, currency converter, and so on.
The integration of web services is called 'web service composition' and is feasible to achieve because of being platform, language neutral and loosely coupled. Web services composition techniques use the business workflow-management mainly based on the Business Process Execution Language (BPEL). Using BPEL, a programmer formally describes a business process that will take place across the web in such a way that any cooperating entity can perform one or more steps in the process the same way. The BPEL techniques have capabilities that fulfil the needs of a business environment.
Composition techniques based on the semantic web, such as OWL-S use ontology's to provide a mechanism to describe the web services functionality in machine understandable form. This makes it possible to integrate web services automatically.
2. Contrast the workflow based and semantic-based approach to Web services composition. Justify why the Industry remains faithful to the workflow approach despite the clear advantages of the semantic-based composition.
Recently, web service composition has been clearly developing in two similar approaches. Firstly the 'workflow-based composition', approaches web service composition as a Business Process Management (BPM). Business processes includes, customer orders, order status and verifying orders. BPM deals with these individual applications integrating to achieve a business process view. WS-BPEL is the main industrial to achieve such composition of web services, which uses WSDL at length to compile the composition scheme.
Secondly the 'semantic web-based composition' is to extend web's currently human-oriented interface to a design that is understandable to software program's, which can lead to automation of services selection and execution. The web service is described semantically to achieve the automation, therefore allowing software agents to make all the decisions related to the composition on behalf of the user. Normally these decisions involve the selection of appropriate services, their actual composition and examination of how they meet the user's criteria. OWL-S (Ontology Web Language for Web Services) is the top semantic composition research effort. Its ontologies allow it to describe the web services functionality in machine understandable form. This makes is possible to find out and integrate web services automatically.
Although large actions have taken place to attempt to automate composition web description through semantic web based approach, they have been attempted mainly in isolation to developments in the workflow-based approach, that are preferred by commercial organisations. Most business organisations favour a composition technique that allows for their business requirements to be met more often and more efficiently. The semantic alternative is considered by these organisations to be somewhat undeveloped and that the dynamic composition techniques are too focused on its automatic capabilities. The business industry remains faithful to the workflow approach rather then the semantic approach could be because a number of factors. The standards are built on top of workflow management theory, making it ideal to model business processes interaction. Also BPEL and its components are now mature standards that provide a lengthy scale of features for business processes. Overall the workflow approach is preferred by organisations as they are better suited to the business objectives of their organisation.
Bridging the Semantic Web - Article
Web Services Composition - Article
i) Web Service 1 - Flight Booking
ii) Web Service 2 - Hotel Booking
iii) Web Service 3 - Currency Converter
iv) Web Service 4 - Combo Booking