Web Services Composition


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Web Services Composition

  1. 1. Web service composition Eldorina-Andreea Alergus, Andreea-Paula Jipa Abstract. One of the most important and promising advantages of Web service technology is the possibility of combining and linking existing services to create new web processes according to the given requirements. In this paper we survey Web Service composition methods and Web service composition tools. 1 Introduction Web Services (WSs) are independent and interacting computational elements that solve specific tasks varying from simple requests to complex business processes, and that communicate using XML messages following the SOAP standard. They are self- describing, self-contained, platform independent and can be published, located and accessed over standard Internet protocols. Web services are emerging as a major technology for achieving automated interactions between distributed and heterogeneous applications. Various technologies constitute the backbone of this achievement: WSDL, UDDI, and SOAP. Web Service Description Language (WSDL) is an XML based language which specifies a WS by defining messages that provide an abstract defnition of the data being transmitted and operations that a Web service provides to transmit the messages. Universal Description, Discovery and Integration (UDDI) is designed to be interrogated by Simple Object Access Protocol (SOAP) messages and to provide access to WSDL documents describing the protocol bindings and message formats required to interact with the web services listed in its directory. Simple Object Access Protocol (SOAP ), is a protocol used for a Web server to call a procedure on another separate Web server and get back a machine-readable result in a standardized XML format used to build a Web page that puts together dynamic information pulled from other multiple sites. A SOAP message format travels over the Internet using HTTP. SOAP is platform-independent and works over the existing Internet infrastructure without being tied to any language, operating system, language, or object model. 2 Web Services Composition Web services make it possible to achieve interoperability Business-to-Business (B2B) from interconnection services offered by multiple business partners based on
  2. 2. 2 Eldorina-Andreea Alergus, Andreea-Paula Jipa business processes. This interconnection of web services to meet a certain business process is called Web Service composition. The composition can be viewed as an aggregation of elementary or composite Web services. The composition means that existing Web services are combined together on the basis of rules of composition to meet a demand which cannot be realized by a single service. Composition rules specify the order in which services are invoked and the conditions that some service may or may not be invoked. A main feature of services is the reuse mechanism to build new applications. Composition rules describe how to compose coherent global services. In particular, they specify the order in which, and the conditions under which, services may be invoked. We distinguish syntactic (XML-based) and semantic (ontology-based) service composition. 2.1 Syntactic Web Service Composition Syntactic service composition distinguishes two main approaches: orchestration and choreography. Service orchestration combines available services by adding a central coordinator that we call the orchestrator, responsible with invoking and combining single activities. Service choreography defines complex tasks via the definition of the conversation that should be undertaken by each participant. The overall activity is then achieved as the composition of peer-to-peer interaction among the collaborative services. 2.1.1 Business Process Execution Language for Web Services (BPEL4WS) BPEL4WS in an XML-based language designed to enable the coordination and composition of a set of services, based on the Web Services Description Language WSDL. BPEL is a behavioral extension of WSDL using a workflow-based approach. It expresses relationships between multiple invocations by means of control and data flow links and it employs a distributed concurrent computation model with variables. A main construct to model the flow of services is a process, which is a net-based concurrent description connecting activities that send/receive messages to/from external WS providers. Each provider can be seen as a port of a particular port type, which has an appropriate WSDL description. A partner link specifies which activity is linked to a particular port provider. 2.1.2 Web Services Choreography Description Language (WS-CDL) The WS-CDL is an XML-based language that describes peer-to-peer collaborations of parties by defining, from a global viewpoint, their complementary observable behavior; where order message exchanges result in accomplishing a common business global. The Web Services specifications offer a communication bridge between the heterogeneous computational environments used to develop and host applications.
  3. 3. Web service composition 3 The future of E-Business applications requires the ability to perform long-lived, peer- to-peer collaborations between the participating services, within or across the trusted domains of an organization. The most important element in WS-CDL is the interconnection activity which describes an information exchange between parties, with a focus on the receiver. It consists of three main parts, corresponding to the participants involved, the information being exchanged and the channel over which to exchange the information. Exception handling and compensations are supported through so-called exception and finalizer work units. Messages that are exchanged between participants are modeled with variables and tokens, whose type can be specified in XML schema or in WSDL. Channels are used to specify how and where message exchanges can take place. Synchronization among activities can be achieved via a work unit, which defines the guard condition that must be fulfilled to continue an activity. The difference between BPEL and CDL is that CDL describes a global view of the observable behavior of messages exchanges of all services, and thus completes BPEL, in which such behavior is defined from the viewpoint of one particular service. 2.2 Semantic Web Service Composition The vision underlying semantic web services is to describe the various aspects of WSs by using explicit, machine-understandable semantics, and as such automate all stages of the service lifecycle. The Semantic Web provides a process-level description of WSs which, in addition to functional information, models the pre- and post conditions of processes so that the evolution of the domain can be logically inferred. The Internet is seen as a globally linked database in which web pages are marked with semantic annotations. Considering this infrastructure, we may implement powerful applications that use the annotations and suitable inference engines to automatically discover, execute, compose and interoperate services. 2.2.1 Web Ontology Language (OWL-S) Users and software agents should be able to discover, invoke, compose and monitor web resources offering particular services and having particular properties, and should be able to do so with a high degree of automation if desired. OWL-S (formerly DAML-S) is an ontology of services that makes these functionalities possible. To make use of a WS, we need not only the description of the service, but also the means by which it can be accessed. An important goal for Semantic Web markup languages, then, is to establish a framework within which these descriptions are made and shared. Web sites should be able to employ a standard ontology consisting of a set of basic classes and properties, for declaring and describing services, and ontology structuring mechanism of OWL provide an appropriate representation language framework within which to do this.
  4. 4. 4 Eldorina-Andreea Alergus, Andreea-Paula Jipa OWL-S is considering to support both simple or “atomic” services and complex or “composite” services as well, but complex services have motivated many of the ontology’s elements. OWL-S is expected to enable the following types of tasks: Automatic Web Service discovery: this is an automated process for location of WS that can provide a particular class of service capabilities, while adhering to some client-specified constraints. Automatic Web Service invocation: is the automatic invocation of a WS by a computer program and agent, given only a declarative description of that service, as opposed to when the agent has been pre-programmed to be able to call that particular service. Automatic Web Service composition and interoperation: this involves automatic selection, composition and interoperation of WS to perform some complex task, given a high-level description of an objective. 2.3 Web Service Modeling Ontology (WSMO) WSMO provides a conceptual framework and a formal language for semantically describing all relevant aspects of WS in order to facilitate the automation of discovering, combining and invoking electronic services over the web. The overall structure of WSMO is described by its four main elements: ontologies, services, goals and mediators. Ontologies provide the terminology used by other WSMO elements, WS descriptions describe the functional and behavioral aspects of a WS, goals represent user desires, and mediators aim at automatically handling interoperability problems between different WSMO elements. In addition to these core elements, WSMO introduces a set of core non-functional properties that can be used by all its modeling elements and are defined globally. WSMO is accompanied by a formal language – WS Modeling Language (WSML), which allows us to write annotation of WSs according to the conceptual model, and by an execution environment (WSMX) for the dynamic discovery, selection, mediation and invocation of services. In WSMO, choreography and orchestration are specified in the interface of a service description. Choreography describes the external visible behavior of the service and an orchestration describes how other services are composed in order to achieve the required functionality of the service. Considering that there could be more than one way to interact with a service, WSMO allows the definition of multiple interfaces for the same service. OSW-L on the other hand, does not clearly distinguish between choreography and orchestration; it is not based on any formal model. It also defines only one service model per service, so we are limited to interact in an only way with the service. WSMO explicitly defines mediators in the conceptual model, to facilitate linkage of heterogeneous resources between one another. This is something OSW-L does not do; the underlying infrastructure is assumed to handle this.
  5. 5. Web service composition 5 3 Automated Web Service Composition The composition of Web services can define applications that increase in complexity through progressively aggregate new components at a high level of abstraction. With the rapid growth in the number of available Web services, has become virtually impossible for a human user to analyze all these services and generate the composition plan manually. This raises the need for automation of web services composition. The need for automatic composition of services is justified also by the ubiquitous Internet, which forces companies to abandon the legacy business models and outdated systems and to organize the virtual enterprise. Dynamic composition of web services is a promising approach and at the same time a challenging research area for the dissemination of service oriented applications. It is widely recognized that service semantics is a key element for the dynamic composition of WSs, since it allows the unambiguous descriptions of a service’s capabilities and parameters. Automated service discovery, selection and composition are expected to enrich the experience of service end-users through value-added services, and to allow automated processes to interact with minimal human intervention. The automation requires some knowledge about the services, such as: (1) description of the service capabilities, for example, in terms of the semantics of IOPEs (Input, Output, Preconditions and Effects); (2) process model, which provides a description of the service activities, interaction protocol and exchanged messages; (3) grounding specification of the service, which describes the coding used to map information onto messages and the protocols used to exchange these messages. In order to resolve the challenge of service composition, most of the work done until now has focused on two main composition approaches, namely by considering functional and process service aspects. The functional approach aims at finding a sequence of atomic components described in terms of their IOPEs that matches a given query. This sequence can be executed from the start conditions provided by the query, so that the query goal is satisfied at the end of the sequence. The idea based on process aspects considers services as stateful processes with a choreography represented in terms of sequential, conditional, and iterative steps imposed by the service. These two complementary composition approaches form an interesting trade- off to develop solutions for service composition. One possible method of dynamically compose WSs according to the functional approach, is the computation of the final service as a semantic graph. The nodes of this semantic graph represent semantic connections between component services. To increase the amount of relevant service compositions that can be obtained, we compute a Causal Link Matrix (CLM). The set of possible solutions are pruned, at composition time, in order to rank the service compositions according to an optimization criteria. These criteria can be defined based on the semantic similarity of component services and/or the non-functional properties of the compositions calculated by aggregating the nonfunctional properties of the component services. Another idea of dynamically compose a web service is to use automata and model WSs as a finite state machine. Problem: we have a an input specification (goal) B, and a set of n available WSs A1, A2...An. The question is if we can find a dynamic composition method to simulate the behavior of the goal B using the given A1,
  6. 6. 6 Eldorina-Andreea Alergus, Andreea-Paula Jipa A2...An. This problem is known as composition synthesis. It amounts to synthesize a so-called delegator, that tells at any moment which service must perform an action. In essence, a delegator implements a simulation relation of the goal service B by the composition of the available services Ai. In the most general setting, services are modeled by communicating state machines that have access to some local data. 4 Conclusions The demand for quickly delivering new applications is increasingly becoming a business imperative today. Application development is often done in an ad hoc manner, without standard frameworks or libraries, thus resulting in poor reuse of software assets. Web services have received much interest in industry due to their potential in facilitating seamless business-to-business or enterprise application integration. A web services composition tool can help automate the process, from creating business process functionality, to developing executable workows, to deploying them on an execution environment. In this paper, we made a resume of some WSs composition methods. We had presented syntactic and semantic web services composition, what orchestration and choreography are and the differences between them. Current focus is to find new ways and formal methods for dynamic composition of services. 5 References [1]F. Lécué, E. Silva, L. Ferreira Pires, A Framework for Dynamic Web Services Composition, 2007 [2]A. Muscholl, I. Walukiewicz, A Lower Bound on Web Services Composition, pp1-14, 2008 [3]M. H. ter Beek, A. Bucchiarone, S. Gnesi, Formal Methods for Web Services Composition, pp1-10, 2008 [4]I. Salom (project director), Compunerea automata a serviciilor Web folosind ontologii – Sintaza etapa 2008 [5]Jinghai Rao, Xiaomeng Su, A Survey of Automated Web Service Composition Methods,pp 43-54, 2005 [6]http://www.w3.org/Submission/WSMO [7]http://www.w3.org/Submission/2004/SUBM-OWL-S-20041122 [8] V. Agarwal, K. Dasgupta, N. Karnik, A. Kumar, A. Kundu, S. Mittal, B. Srivastava, A Service Creation Environment Based on End to End Composition of Web Services, 2005