m a s t e r s t h e s i s
play

M a s t e r ' s T h e s i s The Web Services Framework: A Survey - PDF document

Technische Universitt Wien M a s t e r ' s T h e s i s The Web Services Framework: A Survey of WSDL, SOAP and UDDI carried out at the Information Systems Institute Distributed Systems Group Vienna University of Technology under the


  1. Technische Universität Wien M a s t e r ' s T h e s i s The Web Services Framework: A Survey of WSDL, SOAP and UDDI carried out at the Information Systems Institute Distributed Systems Group Vienna University of Technology under the guidance of Ao.Univ.Prof. Dr. Harald Gall and Univ.Ass. Dr. Schahram Dustdar by Günter Orth Neubaugasse 48-50/17 A-1070 Wien Vienna, 21. May 2002 ______________________________ Günter Orth

  2. 1. Introduction and Motivation 1. I NTRODUCTION AND M OTIVATION 1.1. Introduction Previous attempts in distributed computing (such as CORBA, COM+ / DCOM, or Java RMI) have yielded systems of tightly coupled monolithic components [Iwsat00]. Some of the problems resulting from these approaches and application architectures are as follows: • They are highly complex and require a huge infrastructure investment [Hess01]. • They are not designed to pass information through firewalls. • The software infrastructure provided by a certain vendor is widely limited to a specific platform. For example, in a distributed COM+ / DCOM application, all participating nodes would have to run on the Microsoft Windows platform. Moreover, interoperation between single components often requires that they are of the same vendor. For example, in the case of CORBA, every node in the application environment would need to run the same ORB product, or there would be at least interoperability limitations for nodes with different products and any vendor specific optimizations would be lost in this situation. [Gis01] • They depend on a closely administered environment. Performing a successful call from outside of this environment is quite impossible or at least improbable. • They use complex and proprietary communication protocols, each with specific message formats and data representation the developers have to deal with (e.g. CORBA's IIOP). • They require too much agreement and shared context among business systems from different organizations to be reliable for open business-to-business (B2B) communication. • A cross-platform application-to-application (A2A) integration is time consuming and expensive [Ches01] or even impossible. Looking for an alternative approach capable of avoiding these shortcomings, the concepts of the Web can be regarded. It is based on a set of simple, open standards. Communication between the participants uses HTTP, an inexpensive and easy-to-use network transport protocol [Ches01] which is available on almost every system platform. Additionally, many firewalls today are configured to allow HTTP traffic [Sho01]. The transmitted information is represented in HTML, which is also widely accepted on the Web [Pred01]. All that leads the Web to be an open system, across enterprise and platform boundaries. And that is exactly what would be desirable also for distributed computing in general. However, the WWW is currently mainly designed for human-readable interfaces, the semantic interpretation of the content is left to human users [Pred01]. It is primarily suited for human access [Max02], not for A2A interoperation. The Web Services concept aims to adopt the principles of the WWW for its vision of seamless A2A integration, regardless of differences in programming languages and platforms, featuring the same level of openness between loosely coupled systems. The key for the broad acceptance of the WWW is that it is based on open standards. Consequently, Web Services are also founded on the basis of such standards. On the one hand, they use well-established standards already known from the WWW, for example in the way that HTTP is intended to be the most favourite transport protocol for Web Services communication. On the other hand, new standards are defined under supervision of independent and accepted authorities, such as the World Wide Web Consortium (W3C). These new emerging standards will be examined later in this work. XML is one of the most Page 1

  3. 1. Introduction and Motivation important fundamental technologies for Web Services and the basis for rising other standards. XML is simple to use, offers a flexible easy-to-extend data format, and is supported on almost every computing platform [Gis01]. Using XML as its foundation makes the Web Services concept robust and independent from platforms, vendors, applications, and programming languages ([Ches01] and [Sho01]). Despite these promising characteristics, the Web Services concept is not designed to replace current approaches for distributed computing. It is rather designated to link existing systems and to enable a higher level of integration and interoperability. 1.2. Problem Definition Web Services are essentially based upon three major technologies and standards [Roy01]: • The "Web Services Description Language" (WSDL) which is used to describe the interfaces of a service. • The "Simple Object Access Protocol" (SOAP) that provides the means for communication between Web Services and Client Applications. • "Universal Description, Discovery and Integration" (UDDI) that is used to register and publish Web Services and their characteristics so that they can be found from potential clients. The focus of this master's thesis is to provide a description of these core Web Services technologies, and show how they work together to meet the expectations of this new emerging concept in distributed computing. For that purpose, this thesis is limited to a technical perspective of the Web Services concept. The new strategic opportunities related to this concept from a business view (e.g. in e-business) are beyond the scope of this work. Page 2

  4. 1. Introduction and Motivation 1.3. A guided tour on Web Services As an introduction to the area of Web Services, this section provides a sample scenario for that new approach in distributed computing. For that purpose, a documented application case of a travel service is demonstrated, taken from [Curb02]. 1.3.1. The Web Services Framework The Web Services approach is emerging to provide a systematic and extensible framework for application-to-application (A2A) interaction, built on top of existing Web protocols and based on open XML standards. For our travel service example, consider that someone intends to purchase a vacation package using an online travel agent. To locate the best prices on airline tickets, hotels, and rental cars, the travel agency will have to poll multiple companies, each of which likely uses different, incompatible applications for pricing and reservations. Web Services aim to simplify this process by defining a standardized mechanism to describe, locate, and communicate with online applications. Essentially, each application becomes an accessible Web Service component that is described using open standards. The Web Services framework is divided into three areas – communication protocol, service description, and service discovery – and specifications are being developed for each: • the "Simple Object Access Protocol" (SOAP), which enables communication among Web Services; • the "Web Services Description Language" (WSDL), which provides a formal, computer- readable description of Web Services; and • "Universal Description, Discovery and Integration" (UDDI), which is a registry of Web Services descriptions. 1.3.2. Communication: SOAP Given the Web's distributed and heterogeneous nature, communication mechanisms must be platform-independent, international, and as lightweight as possible. XML is now firmly established as the language for information and data encoding for platform independence and internationalization. Building a communication protocol using XML is thus a natural answer for Web Services. SOAP is an XML-based protocol for messaging and remote procedure calls (RPCs). Rather than define a new transport protocol, SOAP works on existing transports, such as HTTP, or SMTP. At its core, a SOAP message has a very simple structure: an XML element (the <Envelope> ) with two child elements, one of which contains the optional <Header> and the other the < Body >. The < Header > contents and the < Body > elements are themselves arbitrary XML. 1.3.2.1. SOAP Messaging At the basic functionality, SOAP can be used as a simple messaging protocol. Throughout this section, the Web Services specifications are illustrated using a simple example drawn again from the travel services industry. An example traveller is scheduled for a flight and wants to check in electronically. We will assume that he knows of a Web Service with an electronic CheckIn method and that he knows the format for encoding the eTicket . Given this, he could simply create and send a SOAP message to that service for processing. Page 3

Recommend


More recommend