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.
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
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 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)
2.1 Syntactic Web Service Composition
Syntactic service composition distinguishes two main approaches: orchestration and
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
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
The Web Services specifications offer a communication bridge between the
heterogeneous computational environments used to develop and host applications.
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 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
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
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
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.
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 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.
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.
F. Lécué, E. Silva, L. Ferreira Pires, A Framework for Dynamic Web Services
A. Muscholl, I. Walukiewicz, A Lower Bound on Web Services Composition, pp1-14,
M. H. ter Beek, A. Bucchiarone, S. Gnesi, Formal Methods for Web Services
Composition, pp1-10, 2008
I. Salom (project director), Compunerea automata a serviciilor Web folosind
ontologii – Sintaza etapa 2008
Jinghai Rao, Xiaomeng Su, A Survey of Automated Web Service
Composition Methods,pp 43-54, 2005
 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