International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
WEB SERVICE COMPOSITION PROCESSES:
A COMPARATIVE STUDY
Aram AlSedrani and Ameur Touir
Department of Computer Science, King Saud University, Riyadh, KSA
ABSTRACT
Service composition is the process of constructing new services by combining several existing ones. It
considered as one of the complex challenges in distributed and dynamic environment. The composition
process includes, in general, the searching for existing services in a specific domain, and selecting the
appropriate service, then coordinating composition flow and invoking services. Over the past years, the
problem of web service composition has been studied intensively by researchers. Therefore, a significant
amount of solutions and new methods to tackle this problem are presented. In this paper, our objective is to
investigate algorithms and methodologies to provide a classification of existing methods in each
composition phase. Moreover, we aim at conducting a comparative study to discover the main features and
limitation in each phase in order to assist future research in this area.
KEYWORDS
Service composition, Composition planning, Discovery method, Selection method, Execution method.
1. INTRODUCTION
Service-oriented architecture (SOA) is a structural model composed mainly of services. Its
purpose is to develop distributed systems in heterogeneous environments with location
transparency, availability, discovery, and reusability of its components [1]. The fast growth in the
utilization of SOA led to the growth of the number of services published. Web services offer huge
potentials with a large number of simple services provided by several service providers on
separate servers[2]. However, today's world has become not only more complex but also more
dynamic. The single service offers simple and primitive functionality that became inadequate to
satisfy the needs of future requirement. Therefore combining multiple services to provide
complex composite service is of a high demand nowadays.
The composition of services process consists of several phases as shown in figure 1. The first
stage is the composition planning which aims at specifying service requested and decomposing it
into an abstract set of tasks. The next phase, the service discovery, a search for services that
match the functionality and non-functionality requirements for each task in the composition is
performed. Next, from the multiple services discovered in the previous phase, service selection
comes to select the most appropriate service for each task in the composition in order to satisfy
user requirement. The last phase is the service execution where the individual task in the
composition is invoked and executed to come up with the final service.
DOI : 10.5121/ijwsc.2016.7101
1
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Figure 1: Service Composition Processes
In this paper, we will present a broad taxonomy of service composition methods and phases by
survey and classify the existing solutions for each composition phase. This will allow us to
identify the different approaches and discuss their adaptability and capability to solve such a
problem. The rest of the paper is as follow: in section 2 we discuss the concept of composition in
SOA, then in section 3, we overview the effort made in service composition with intelligent agent
technology. Section 4 will elaborate the four phase’s description as well as the comparative study
of the classified methods in each phase.
2. SERVICE COMPOSITIONS IN SOA
SOA, as mentioned previously, promotes composition especially between web services including
several phases such as planning, discovery, selection, and execution of services. Composing web
services reinforces the reusability of service resources as well as opening new dimensions of
developing web base complex applications [2].
Web service composition involves the integration of several existing web services to provide
more complex and powerful service. The goal of service composition is to reuse existing web
services and composing them into a complex process. However, the process of composition is
considered as a high complex task due to many reasons. According to Rao [3], the complexity of
service composition raises because of three main reasons. First, the huge increase in the number
of web services available over the internet causes the increase of the service repositories available
for searching. Moreover, web services continue changing and updating of that, require a dynamic
composition at runtime, which causes intensive computations. Another reason when different
providers develop web services in various models making the mapping between services in the
compositions a difficult task.
Web service composition methodologies could be classified to syntactic based and semantic
based composition. In syntactic composition only the syntax of web service description is
considered in order to build the composition workflow and the dependency of services is manages
through service inputs and outputs [4]. There are two main approaches to syntactic composition.
First, the centralized approach, in this approach a mediator is responsible for combining services
and mapping dependencies between services. Second, the decentralized approach, in this
approach the composition is performed via the collaboration of services through peer to peer
interaction.
The semantic-based composition considers the meanings and purpose of services. Machines can
automatically select, compose and execute web services to achieve specified task according to the
user constraints [5]. The semantic composition is achieved based on the semantic description of
web services that support creating an ontology to define different aspects of web services
relationships. Artificial intelligence planning algorithms are used to compose services
2
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
automatically and dynamically. Bertoli in [6] proposes checking planner model, where the user
set an objective used by AI planning algorithm to produce a composition plan in goal-driven
architecture. The plans for this approach are constructed completely at the beginning phase, and
then they are performed. However, the dynamic nature of SOA environment may cause a failure
of composition created by this approach. Figure 2 depicts the different web service composition
approaches.
Figure 2: Web Service Composition Classification
Although service composition provides applications with complex services, this technique has
some concerns such as the security and the quality of service. Indeed, by involving multiple
services from interacting with multiple providers in the composition process, the security issue
increases along with its management. Moreover, the performance and the quality of service
remain a challenge in the automated composition.
3. SERVICE COMPOSITIONS IN AGENT TECHNOLOGY
In a Multi-Agent System (MAS), service composition is achieved by the coordination between
multiple agents to discover, build, select, and execute composite service considering semantic of
services parameters. A typical MAS for service composition consists of the following: (i) a
planning agent that builds composition plan taking into account functional dependencies between
individual service. (ii) a discovery agent that matches the tasks in the plan with existed services in
a registry. (iii) A selective agent that is responsible for finding the best services to match with
particular task based on some criteria. In some MAS, a coordinator agent is provided to organize
the composition processes between the involved agents [7]. In other cases, the coordination
between agents is carried out using peer to peer network [8].
Intelligent agents have the ability to interpret the semantic of web services and thus they are
capable of providing a meaningful composite service. This process includes discovering
similarity of service functionality; also, agents are capable of matching web service to the
corresponding task through the understanding service semantics. Moreover, the reactivity nature
of intelligent agents offers solutions in dynamic provision and composition of services. Wei [9]
provides an architecture which is fully multi-agent based. His approach provides a dynamic
composition and end-to-end quality assurance. Agents are divided into classes such as: (i) a User
Agent to provide automatically decomposition and formalization of the tasks to generate a Task
Graph, (ii) a Search Agents to find relevant services. (iii) a Registry Agent to help to find the
3
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
optimal composition path. (iv)a Management Agent to implement an optimal service executable
plan. (v) an Execution Agent to implement the composite service.
4. WEB SERVICE COMPOSITION PHASES
4.1. Composition Planning
The first phase of service composition is the planning which means decomposing the user request
service into multiple tasks and assembling them in a plan to satisfy the user request. In traditional
web service description, the planning process is conducted by matching the input of service Si+1
with the output of the service Si to consider Si Si+1 part of the composition plan. However in
real case scenarios, this process is not sufficient due to the differences in variable names between
one provider and another. Therefore, the semantic of web services is an essential factor in
determining what function the web service is performing regardless of the syntax values it
represents. In semantic web service, the process of planning depends on the service profile. In
particular, it is performed by connecting the precondition of Si+1 with the effect (postcondition) of
Si to consider Si Si+1 part of the composition plan [10].
According to Service composition literature, composition planning could be performed with
different methods as illustrated in figure 3. Static planning is the approach where application
developer is responsible manually of constructing the flow of service plan as well as specifying
the goal, I/O, the control parameters, and the functional and the non-functional constraints. This
method, in fact, provides the developer with a high degree of control over the complete process.
However, it creates several challenges which it is time-consuming, hard to maintain and errorprone [11]. Therefore, the need for automatic service composition planning is desirable. In
another hand, automatic planning overcomes these challenges. According to [4] an automatically
generated plan should satisfy the following characteristics:
Plans should support complex structure such as conditions, loops and non-deterministic.
Plans allow the creation of new objects at runtime as needed to accomplish the
composition.
Utilize the non-functional service attributes to differentiate between candidate plans.
Plans should be compatible with semantic description standards, and support semantic
construction mechanisms such as hierarchies. Plans should support extended goals.
There are two automatic planning methods: workflow-based methods and AI-planning methods
[12]. The workflow-based composition method is one of the initial methods addressing the
problem of automatic composition. The idea emerged from the similarity of planning composition
to the business process in workflow systems. The workflow process presented as an acyclic
directed graph with data flow and controls description. The research in [13] proposed a solution
that uses the composition as workflow approach. They defined a Transactional Workflow
Ontology (TWFO) to describe the workflow. The service description is stored in OWL-S registry
and is searched for each task in the composition workflow.
4
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
4.1.1. Workflow-based planning
Two main methods used in composition planning as workflow: Workflow net and Business
process modeling notation (BPMN). The workflow net [14] is based on high-level Petri nets. The
use of Petri net as modeling of workflow allows an overall visualization of business processes.
Moreover, it provides formal analysis and verification approaches. Workflow nets modeled the
transaction in states as tasks in composition. It uses the AND, XOR joint, sub-workflow tokens to
build a workflow net. In another hand, BPMN [15] simplify communication between business
processes. It models the BP in different levels of abstraction, and it is close to BPEL composition
language. BPMN models composition plan as flowchart-like diagram consists of events, ANDgateway, OR-gateway, and activities.
Figure 3: Planning Methods Classification
4.1.2. AI Planning-based
In the AI Planning-based method, the service composition is addressed as a planning problem. In
general, an AI problem is described with (S, s0, G, A, T) [16]. Whereas S is the set of all possible
states, The initial state is s0, G is the goal state, A is the set of possible actions, and T is the
transaction relation from one state to the next if a specific action is done. In the context of service
composition we can formulate the problem as G the composite service requested and A is the set
of web services available, S, s0, T refers to state model of available services. The result of an AI
5
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Planning composition is the construction of candidate plan that describes the arrangement of web
services execution to deliver the final service.
4.1.2.1. State-space based planning
In the state space based planning, a state space consists of states, actions, transaction function,
and cost function. The aim of this planning is to search for the best solution to reach the goal
state. Therefore, based on initial search point we can distinguish two type of planning: forward
search starting with initial state reaching a goal state, and backward search where the opposite
action is done. In both kinds, the solution is to find a set of actions that connect the initial state
with the goal state [17]. However, searching for the best set of actions that lead to a solution
increases the possible search space which forward and backward searches suffer from. In order to
reduce the search space, heuristic functions are used to estimate the usefulness of search paths to
choose from. Many heuristic functions have been proposed in this manner, the heuristic search
planner HSP by [18] utilizes the additive heuristic function that performs a summation of
elements costs to guide the hill-climbing search from initial state to the goal. Moreover, advanced
work is done by the same HSP developer uses the best-first search instead of hill-climbing which
results in faster plan search.
4.1.2.2. Logic-based planning
The logic-based planning is the process of defining a set of composition rules in classical logic to
express a particular domain. The composition plan is constructed based on these rules and their
constraints. The researchers in [19] enhance the composition rules by adding new constraints
using logic-based service composition. They used the backward planning technique to improve
the reasoning of the composition. Another method employed in AI- planning is the situation
calculus where the problem domain and its changes are considered as a sequence of situations;
each situation is created by an action performed on a state. These situations are modeled using
classical first-order language. The model in [20] use the situation calculus theory in the first-order
logic language within an intelligent infrastructure to enable deducing actions simply and
resolutely. The main feature of this work is the ability to deal with user preferences changes
during the composition process.
4.1.2.3. Graph-based Planning
Graph-based Planning has also been exploited to facilitate web service composition methods. A
Graph-based Planning constructs a directed leveled graph. The graph is composed of two types of
nodes, namely action nodes and proposition nodes. The two types of nodes are located in
alternating levels consisting of proposition nodes followed by layers of action nodes [21]. Each
action node in level (i) connects a precondition in level (i-1) with an effect of the level (i+1). The
planning terminates when two alternate levels are identical. Many researchers adopt this method
such as the graph-based planning used in the framework by [22] named Spice Ace. Spice Ace
deals with a composition algorithm to construct the service composition graph by representing the
candidate service compositions workflows that satisfy the user functional and non-functional
request. Nodes represent services and arcs represent semantic connections.
6
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
4.1.2.4. Planning as satisfiability
In planning as satisfiability, the composition problem is expressed as reasoning problem that
could be solved using problem-solving algorithms. The first method is planning as propositional
satisfiability where planning is based on proofing that initial conditions with domain axioms and
set of actions lead to goal situation [17]. Other method uses descriptive logic instead of
propositional. In this case, web services are categorized by a common set of actions. The
interaction protocols between these services are modeled as execution tree. The composition is
solved by identifying an execution tree corresponding to a given desired tree. The last method
creates a Petri-net based on single web services that represent all possible combination of actions
and identify the goal as a state of Petri-net. The satisfiability checking technique of Petri-net is
used to ensure that the goal state is reachable [23].
4.1.2.5. Planning with control knowledge
The last method used in composition planning is planning with control knowledge which is a
domain-specific planning. The planning in this type is performed based on specific rules
determined by the problem domain. The first planning with control method is the Hierarchical
Task Network (HTN) [24]. This method provides a hierarchal abstraction by decomposing the
services into tasks then continually decomposing into smaller subtasks until an initial task (initial
state s0 say) is reached. The second method is planning with model checking (PMC); it is based
on verification techniques. Usually, the finite state model is used with PMC method. PBM
constructs a composition plan by verifying whether the goal formula is true in a specific model.
The main feature in PMC is that it supports planning with uncertainty to manage nondeterminism
and partial observability situations. The study in [25] investigates the concept of applying PMC to
provide an automated plan for semantic web agents. They introduced four plans based on
uncertainty as follow: Strong plans to ensure reaching the goal; weak plans which have a certain
possibility to reach the goal; Strong cyclic plans which ensure reaching the goal when eliminating
loops; Conformant plans which are used when there is no observation at the run time. They also
use the non-deterministic state transition for model Semantic Web domain.
In general, the two primary methods in composition planning have been extensively addressed by
researchers and each method has its properties and limitations. According to [12] we can list the
differences between the two main methods as follow:
The workflow-based method is a semi-automated with the need for specific developer
implementation at some points while AI Planning could be fully automated.
The workflow-based method requires extensive domain knowledge.
The next table lists the main advantages and disadvantages of the different planning methods
discussed earlier:
7
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Table 1: Planning Methods Comparision
Advantage
Disadvantage
Static
High degree of control.
Can’t re-plan when
service failure.
Can’t meet the nonfunctional requirement.
Time-consuming.
Error prone.
Planning with control
High degree of control.
Not reusable
specific)
Planning as satisfiability
Suitable for complex Need extra
goals
analysis.
Graph-based Planning
Graphs allow easy High storage space.
understanding of plans
which speed up the
development process.
Logic-based planning
Well representing of Can’t plan complex goals.
nondeterministic
domains.
Improve control with
constraints.
State-space based planning
Use general
algorithms.
AI planning based
Planning method
Workflow planning
search Low-scalability
state space)
Simplicity
Prevent deadlocks.
(Domain
reasoning
(large
Semi-automated
Require
extensive
domain knowledge.
4.2. Service Discovery
Service discovery is the process of searching for services where functional and non-functional
requirement meets user’s needs. Web services in SOA are based on standard protocols in
describing and publishing services which facilitate the discovery process. Based on previous
researches on service discovery we can classify discovery methods as shown in figure 4.
4.2.1. Syntactic-based method
In syntactic based discovery asymmetric matching between services attributes and user
requirement is performed. [26]search the semantic web service description for inputs and outputs
parameters syntactically. The authors use inputs, outputs and their synonyms as a matching
technique.
8
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
4.2.2. Context-aware method
Discovering services in this method depend on the user's context [27]. Generally, the user context
is analyzed to discover the most suitable services. Specifically, a context characterizes the
situation of a user, a location or the interactions between humans, applications, and the
environment. A context can be further modeled as a set of pairs including context types and
context values in which the type describes a characteristic of the context and the specific value is
associated with it. In [28] the authors proposes a context modeling method using ontologies to
enhance the analysis of user context. The service discovery is achieved based on the relations
among context values described in the ontology.
4.2.3. Semantic-based method
The services in this method are described semantically by using ontologies. Ontologies provide
an understanding of a specific domain and construct knowledge to specify the semantic and the
constraints of domain terminologies [29]. Based on that, semantic techniques can discover the
most relevant services. Moreover, by clarifying semantic similarities between ontology's
concepts, related semantic Web services can be discovered. Many languages are supporting
semantic service discovery and classified as follow:
Figure 4: Discovery Methods Classification
4.2.3.1. Web Service Modeling Ontology (WSMO)
WWSMO is a model for semantic web service description [30] based on the conceptual design of
Web Service Modeling Framework (WSMF). WSML define four major components to describe
semantic web services: (i) Ontologies that provide the domain terminologies used by other
elements. (ii) Goals that represent the user objectives and the problems that should be solved by
Web services. (iii) Web services descriptions that define various attributes of a Web service. (iv)
Mediators to facilitate the handling of interoperability problems between elements. The authors in
[31] use WSMO as the basis for Web Service Modeling eXecution (WSMX) to provide semanticbased service discovery. WSMX is an execution environment for WSMO where discovery is
performed by searching for the WSMO web service that is linked to specific goal through the
mediator and return the corresponding web services.
9
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
4.2.3.2. OWL-S
OWL-S builds based on Web Ontology Language (OWL). The motivation for defining OWL-S
is the use of ontologies to describe web service allowing services to be machine-interpretable.
Thus, it enables the automation of Web service discovery, web service invocation, and web
service composition [31].
4.2.4. Agent-based method
In the agent-based method, software agents are utilized for automated discovery of web services.
The main characteristics of intelligent agents are reactive and autonomous that facilitates the
discovery process. Since agents are aware of their environment, services that are added or
removed from this environment will be recognized by agents and dynamically react to this
changes. The use of software agents in service discovery has been the subject of several
researches. The agent-based framework [32] provides an efficient mechanism to discover the
required services from a collection of shared services. The framework is developed as a
middleware interacting with both provider and user. The objective is to fetch service
advertisements from the provider and hosted them in shared service space, and then matches the
user service request with the services in the service shared space.
4.2.5. Hybrid method
The hybrid method incorporates both syntactic and semantic discovery of services. The aim of
hybrid discovery is to minimize the computational expenses of reasoning in semantic method and
to enhance the QoS in the syntactic method. The OWLS-MX matchmaker proposed by [33] is
built for OWL-S services. It combines syntactic similarity and the degree of semantically
matching. Moreover, it takes any OWL-S service as a query and returns an ordered set of relevant
services based on text similarity threshold and degree of matching.
4.2.6. Peer-to-peer method
P2P method uses P2P paradigm to construct a self-organized architecture where all service
providers participate in constructing P2P network. There are two ways of constructing such
network based on the indexing mechanism which is Structured and unstructured P2P architecture.
In the structured method, the peers in the network maintain the indexes of all resources of other
peers. In unstructured P2P architecture, each peer maintains indexes of its resources. In [34] the
researchers propose a routing algorithm based on flooding to passes the user request to all peers
in the network and only the peer who has resources relevant to the request will respond to it.
Table 2 summarizes the advantages and disadvantages of each discovery method elaborated
previously.
10
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Table 2: Discovery methods comparison
Discovery method
Advantage
Disadvantage
Can’t discover similar semantic
services.
Simple
Uses standards (UDDI)
Context-aware
Improve automatic discovery The analysis is complicated in
the real world because the
with context analysis.
Adapt to the environment context is a general concept.
changes.
Semantic-based
Syntactic
Agent-based
Facilitates
dynamic Need reasoning analysis.
rediscovering in the case of
service fail.
Can deal with incomplete
service description info
Ontology-based
Facilitate automation of web Need
intensive
domain
service discovery.
knowledge.
Improve discover similar Different
description
semantic services.
languages lead to difficulty
for users.
Peer-2-peer
Avoid central bottleneck.
Routing in unstructured p2p
using flooding causes network
traffic.
4.3 Service Selection
The increase in the number of available web services on the internet led to the increase in the
similarity of service functionality offered by different providers each with different QoS
parameters. Therefore, the selection of the optimal atomic service to be combined with other
services to perform complex composite service with the most satisfaction of QoS values is one of
the significant requirements for service composition [35].
The input of service selection phase is the set of candidate services for various tasks involved in
composition plan. A single candidate services set consists of services providing the same
functionality offered by different providers through service QoS profile. Services in a set differ in
non-functional properties such as QoS attribute values or user preferences. Moreover, a set may
include services provided by the same provider who offers the exact service with different quality
values to obtain satisfaction of most users.
Various solutions related to service selection were proposed. Figure 5 illustrates the
categorization of these solutions related to optimization-based methods and decision making
based methods. Decision-making methods are based on selecting services among multiple
alternative services that best-fit decision maker goals and constraints. However, with a large
number of candidate services, the optimization method is more efficient where it attempt to
maximize or minimize one or multiple attributes taking into account user constraints.
11
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Figure 5: Selection Method Classification
4.3.1 Optimization-based method
The optimization method is performed based on two types: (i) local optimization where the best
service is selected for the individual task involved in composition plan, and (ii) global selection of
services to guarantee overall composition plan as a single unit.
4.3.1.1. Local optimization method
The service selection with local optimization chooses the best service for the individual task
without considering the other tasks in composition or QoS requirement for the overall composed
service. In this method, the candidate services for each task are ranked according to specific QoS
attributes using utility theory. The utility theory mapped each quality attribute to values in utility
functions. Thus, the service with higher utility function outcomes will be selected.
4.3.1.2. Global optimization methods
Although local optimization selects the optimal service for individual task, it may not lead to
optimal global quality of the composed service. Moreover, users usually set constraints on the
requested composed service, and it is not possible to apply these constraints to local optimization.
Therefore, a global optimization that takes into account the quality of the whole composite
service is more efficient selection method. Like a local method, global optimization selects
services in order to maximize user satisfaction by using QoS attributes utility functions with
consideration of user constraints. The service selection problem in global optimization can be
modeled as Integer Linear programming, genetic algorithm, constraint satisfaction, or stochastic
programming.
12
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
4.3.1.2.1. Integer Linear Programming (ILP)
In this method, the service selection problem is modeled as linear programming problem as in[36]
where the input of the problem are variables assigned to each candidate web service, a linear
objective function and a linear set of constraints. The ILP method aims at maximizing or
minimizing the value of the objective function by changing the values of variables in the
constraints boundaries.
4.3.1.2.2. Genetic Algorithms method
Another way of solving service selection as an optimization problem is the use of genetic
algorithms. Genetic Algorithms (GAs) are heuristic search method that iteratively finds nearoptimal solutions in large search spaces. Solving service selection in such algorithms as proposed
in [37] starts with modeling the chromosome which is a single candidate solution from a set of
solutions called population. Then the state of chromosomes will be evaluated based on the
specific fitness function. According to that, highly evaluated chromosomes will be regenerated to
produce better solutions. The reproduction process will be terminated based on some conditions
such as a number of iteration. A typical GA however, cannot handle constraints directly. One of
the used techniques in service selection problem is the penalty-based methods [38] where penalty
function reduces the fitness of a solution based on the number of constraints violation which
affects the evaluation results of such solution.
4.3.1.2.3. Constraint satisfaction method
Constraint satisfaction is another optimization method where a problem is modeled as a set of
variables with their relations as constraints. Each variable has a domain consisting of all possible
values that the variable can take and a set of constraints, assigning a value to a variable. One of
the solutions of such a problem [35] is to assign to each variable value from its domain that
satisfies all constraints. The work in [39] propose a composition process modeled as a Constraint
Optimization Problem (COP). The authors argue that the proposed process be flexible enough by
applying soft constraints instead of hard constraints. This means that the algorithm searches the
best solution within a range of constraints instead of searching an exact value. Moreover, this
process does not find the optimal solution for service selection problem.
4.3.1.2.4. Stochastic programming method
This method deals with problems under uncertainty. In particular, it uses random variables to
model the uncertain parameters with known probability distributions. In [40] the authors use what
it is called the Average-Value-at-Risk AVaR measures to quantify the uncertainty of time and
cost quality attributes. In the optimization process, they minimize the AVaR of random variables
for time and cost and then create the objective functions associated with those parameters.
4.3.2. Decision-based methods
Beside optimization methods, decision-based methods are used in service selection problems.
Decision making can be defined as the operation of choosing between several entities based on
input values and decision maker goals. In service selection context, decision making is the
process of choosing among several candidate services that best-fit user goals and constraints.
When the selection is based on one constraint, then the decision process is about choosing
13
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
services that best fit this constraint. However, when there are many constraints, the process first
prioritizes these constraints according to user preference, then ranks the services using some
decision-making algorithms and chooses the high ranked service. In general, decision-making
methods are efficient in solving problems where multiple constraints and a small number of
alternatives exist. There are two decision-based methods used in solving service selection
problem: analytical hierarchy process (AHP) and outranking algorithm.
4.3.2.1. Analytical Hierarchy Process (AHP)
AHP is one of the most used methods in Multi-Attribute Utility Theory (MAUT). The idea of
MAUT is to maximize a specific utility function that is calculated based on the priority of the
attributes of candidate services. As a consequence AHP decomposes a complicated problem into
subproblems, which are organized into a hierarchical structure based on the relationships between
those subproblems [41]. AHP in service composition context aims at pair-wise comparing
attributes between candidate services to identify their weights in the utility function, then scoring
candidate services based on their relevant utility function results that evaluate the quality
attributes for each service. The outcome of AHP process is selecting the service with high ranked
values. Figure 6 shows an example of how service selection processes in AHP.
Figure 6: Analytical Hierarchy Process Example
4.3.2.2. Outranking method
The other method in decision making is outranking where all candidate services are compared
and ranked according to comparison results. Therefore, a service is selected in this method if it
outranks the other services in the majority of attributes and performs well in the rest. The most
well-known outranking method is the ELECTRA [42] where quality attributes are modeled by
using binary outranking relations whose meaning is at least as good as" instead of numerical
modeling in AHP.
Table 3 lists the main advantages and disadvantages of the several service selection methods.
14
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Table 3: Selection Method Comparison
Selection method
Low computational cost
Disadvantage
Can’t guarantee the overall
composed service quality.
Can’t consider global user
constraints.
Integer
Linear Easy to model multiple Insufficient for complex QoS
Programming
QoS criteria constraints.
attribute because it enforces
linear
constraints
and
objective function.
Low-scalability, increase in
search space by assigning
variables to every candidate
service.
Global optimization
Optimization based
Local optimization
Advantage
genetic algorithm
constraint
satisfaction
stochastic
programming
Decision making based
Suitable for large-scale Provide near-optimal solution.
optimization
Unconstrained method, need
an additional technique to
incorporate user constraints.
Clear description of
constraints.
Can handle complex
constraints.
The
generic
search
algorithm can be used.
Low-scalability
with
an
increase of candidate services
in the domain, search space,
will increase.
Suitable for solving the Based on random values that
problem with uncertainty. can’t be accurate.
Easy to model multiple Applicable to a small number
QoS criteria constraints.
of candidate services.
4.4. Composition Execution
The last phase of service composition is to execute and monitor the recently created composite
service. The process involves binding with participant services providers, invoking services,
passing data between services and verifying the existence and quality of services of the
composition plan [11]. By reviewing the composition literature, we can classify execution of
composition as static and dynamic (figure 7).
15
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
4.4.1. Static execution
The static execution of a composition depends on a predefined plan that specifies exactly the flow
of services and the providers of those services. The problem of static service composition is
handled by two different techniques [43]. The first is the Orchestration where the web services
are invoked and executed from a predefined plan by a centralized controller. The second
technique is the Choreography where the service is composed in a peer-to-peer manner, each Web
service participating in a choreography knows exactly when to execute its functions and with
what service to interact [44]. In general, the static execution has a great degree of control by
assigning services in composition and specifying particular providers.
Figure 7: Execution Methods Classification
4.4.2. Dynamic execution
Web services operate autonomously within a dynamic environment. Therefore, several
contingencies that affect the composition execution may occur. Web service could fail or be
unavailable during execution time if it could not bind with the provider; in this case, a failure
recovery strategy is responsible for substituting the failed service. However, the new service
should have similar functionality with respect to the original one; when replaced in the
composition, it should not change the composition context. When substitute service could not be
found, re-planning of the entire composition must be performed.
Moreover, Web service quality values are frequently updated, due to service changes or changes
in their environment such as network traffic. In particular, during the execution of a composite
service, some participating services may update their quality attributes on-the-fly, others may
become unavailable, and new services may emerge. Therefore, static methods of service
composition are inefficient. Instead, dynamic composition methods are required; that takes into
account the changes either in the services or the environment. In general, some of the changes in
the web services that could affect the composition are as follow:
One or more of the participant services fail to accomplish its task, or they become
unavailable.
A participant service could not provide its expected QoS or updated their values.
New candidate services advertise for better QoS than participant service.
16
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Dynamic service composition approaches can be classified as Task-based composition, Goalbased composition; Specification based composition and Event- driven composition.
4.4.2.1. Task-based composition
In task-based composition, the execution of services is based on abstract tasks. Users in this
method must specify their tasks and constraints, and then the execution engine automatically map
them into the services available [45]. One of the first attempts to use this method is the EFlow
[46] which is a system for specifying and monitoring composite services. A composite service in
the system is constructed as a graph to specify the order of execution of the nodes. The graph
consists of three types of nodes: service node to represent the abstract task needed, decision node
to specify the controlling rules through execution flow and event nodes for representing event
type to ensure dynamic execution. The services for the substituting abstract task in the plan are
discovered and selected semantically among service repository.
4.4.2.2. Goal based Composition
The execution in this method is based on a plan generated by an AI-planning where a user defines
the desired service in term of goal and initial states [3]. Unlike the task based composition, in goal
based, the plan is generated by reasoning to deliver service dynamically from the initial
requirement to the desired goal. In this situation, the generated middle services between initial
and goal in the plan needs reasoning about the execution order and ensuring that two consecutive
services are compatible meaning that the execution engine can map the dependencies between the
inputs of one service with the output of the other. An example of this method is the work by [47]
which is a goal based composition model for business processes that aims at fulfilling the
required BS functional and nonfunctional goals.
4.4.2.3. Specification-based composition
Specification-based composition inherits the concept of automatic generation of software
programs. In this method, the composed service description is modeled as logical axioms, and the
composite service specification is constructed from these axioms as a sequence needed to be
proved. If the composition engine successes to find a prove, then the composite service
description will be generated from that prove. Some of the research efforts within this method
could be seen in [48]. The authors utilize the linear logic theorem to compose automatically
semantic services. The web services in this work are presented by extra logical axioms and proofs
in linear logic. The main issue in specification based method is the need for verification of the
generated specification and consistency checking to ensure the validity of composition [43].
4.4.2.4. Event-driven composition
In event-driven composition, the execution of composed service is controlled by EventCondition-Action (ECA) rules to ensure dynamic behavior. The event part of the rule will be
triggered during execution when specific changes happen. The condition part will check if this
change affects the composition. According to that, the action part will perform some activity to
respond to this change.
17
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
Table 4: Execution Methods Comparison
Execution method
Disadvantage
Fast execution (no demand Can’t response to
dynamic environment.
for pre-processing)
High degree of control.
Static
Dynamic methods
Advantage
the
Task-based
Can control flow of the Require
a
good
composition.
understanding
of
predefined tasks to sit userrequest.
Goal-based
Does not need to define a Computationally expensive.
task workflow.
Specification-based
Enable
capturing
the Validation overhead.
concurrent features of Web
services.
Event-driven
Consider dynamic changes Based on exclusive rules
during run-time
that may not consider all
situations. (closed-word)
Many solutions are proposed to handle the dynamic environment through event driven
composition. The solution proposed by [49] is a rule-based model using ECA rules to control the
execution of composition workflow. [50] Utilize the ECA rules in multimedia conference systems
to manage web service composition in the case of updating user requirement. The proper event
will be triggered when the business process request is changed and will allow service
rescheduling. However, the proposed composition is semi-automated and focuses on the changes
made by the user for updating requirement. Moreover, the work does not consider the changes in
QoS of participant services. Table 4, we summarize some of the main advantages and
disadvantages of the various methods of web service composition execution.
5. CONCLUSIONS
Service composition offers a mechanism to expand the capability of single primitive services and
exploit the services reuse. In this survey, we discussed the concept of service composition in SOA
and agent technology; moreover, we examined the four phases of web service composition. For
each phase, classification of the various methods used has been analyzed. Also, a comparative
study of these methods is conducted by discussing the main features and limitations. The paper
covered wide panoply of the taxonomy of service composition in order to serve best the user
according to the request he asked for.
ACKNOWLEDGMENTS
This research has been supported by the Computer Science Dept. of the College of Computer and
Information Sciences at King Saud University.
18
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
M. H. Valipour, B. Amirzafari, K. N. Maleki, and N. Daneshpour, “A Brief Survey of Software
Architecture Concepts and Service Oriented Architecture,” in IEEE International Conference on
Computer Science and Information Technology, 2009, pp. 34–38.
R. Yin, “Study of Composing Web Service Based on SOA,” in Proceedings of the 2nd International
Conference on Green Communications and Networks, 2013, vol. 2, no. Gcn 2012, pp. 209–214.
J. Rao and X. Su, “A Survey of Automated Web Service Composition Methods,” in Proceedings of
the First international conference on Semantic Web Services and Web Process Composition, 2004,
vol. 3387, pp. 43–54.
V. Portchelvi, V. P. Venkatesan, and G. Shanmugasundaram, “Achieving Web Services Composition
– a Survey,” Softw. Eng., vol. 2, no. 5, pp. 195–202, 2012.
F. Zeshan and R. Mohamad, “Semantic Web Service Composition Approaches : Overview and
Limitations,” Int. J. New Comput. Archit. Their Appl., vol. 1, no. 3, pp. 640–651, 2011.
P. Bertoli, A. Cimatti, M. Pistore, and P. Traverso, “A Framework for Planning with Extended Goals
under Partial Observability,” in ICAPS-03 Proceedings, 2003, pp. 215–224.
S. Kumar, “Agent-Based Semantic Web Service Composition,” New York, NY: Springer, 2012, pp.
15–25.
P. Kungas and M. Matskin, “Semantic Web Service Composition Through a P2P-Based Multi-agent
Environment,” in Proceedings of the Fourth International Workshop on Agents and Peer-to- Peer
Computing, 2005, pp. 106–119.
L. Wei, L. Junzhou, L. Bo, Z. Xiao, and C. Jiuxin, “Multi-agent based QoS-aware Service
Composition,” in IEEE International Conference on Systems, Man and Cybernetics, 2010, pp. 3125–
3132.
M. Klusch, “Semantic Web Service Description,” in Intelligent Service Coordination in the Semantic
Web, Birkhauser Basel publishing, 2008, pp. 41–68.
A. KIM, M. KANG, C. MEADOWS, E. IOUP, and J. SAMPLE, “A Framework for Automatic Web
Service Composition,” Washington, USA, 2009.
G. Baryannis, O. Danylevych, D. Karastoyanova, K. Kritikos, P. Leitner, F. Rosenberg, and B.
Wetzstein, “Service Composition,” in The S-Cube Book, Springer, 2010, pp. 57–87.
J. Korhonen, L. Pajunen, and J. Puustjärvi, “Automatic Composition of Web Service Workflows
Using a Semantic Agent,” in Proceedings of the IEEE/WIC International Conference on Web
Intelligence, 2003, pp. 566–569.
W. Van Der-Aalst, K. Van Hee, and G. Houben, “Modelling and Analysing Workflow using a Petrinet Based Approach,” in Proceedings of the second Workshop on Computer-Supported Cooperative
Work, Petri nets and related for- malisms, 1994, pp. 31–50.
BPMN, “Business Process Modeling Notation,” Object Management Group, 2011. [Online].
Available: http://www.bpmn.org/.
M. Carman, L. Serafini, and P. Traverso, “Web Service Composition as Planning,” in Workshop on
Planning for Web Services in ICAPS’03, 2003.
J. Peer, “Web Service Composition as AI Planning – a Survey,” Switzerland, 2005.
B. Bonet and H. Geffner, “Planning as Heuristic Search: New Results,” ECP, pp. 360–372, 1999.
V. levizou and D. Plexousaki, “Enhanced Specifications for Web Service Composition,” in
proceedings of the European Conference on Web Services, 2006, pp. 223–232.
K. Nariai, I. Paik, and M. Shinozawa, “Planning and Composition of Web services with Dynamic
Constraints Using Situation Calculus,” in Proceedings of The Fifth International Conference on
Computer and Information Technology (CIT’05), 2005, pp. 1009–1013.
S. J. Samuel, R. G. Road, and T. Nadu, “an Approach for Graph Based Planning and Quality Driven
Composition of Web Services,” Indian J. Comput. Sci. Eng., vol. 2, no. 5, pp. 672–679, 2011.
F. Lecue, E. Silva, and L. F. Pires, “A Framework for Dynamic Web Services Composition,” in
Proceedings of the 2nd ECOWS Workshop on Emerging Web Services Technology, 2007, pp. 59–75.
19
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
[23] S. Narayanan and S. A. McIlraith, “Simulation, Verifcation and Automated Composition of Web
Services,” in WWW ’02: Proceedings of the eleventh international conference on World Wide Web,
2002, pp. 77–88.
[24] M. Ghallab, D. Nau, and P. Traverso, “Hierarchical Task Network Planning,” in Automated Planning
Theory and Practice, First., San Francisco: Elsevier Inc., 2004, pp. 229–262.
[25] B. B. Anderson, J. V. Hansen, and P. B. Lowry, “Creating automated Plans for Semantic Web
Applications Through Planning as Model Checking,” Expert Syst. Appl., vol. 36, no. 7, pp. 10595–
10603, 2009.
[26] A. Farooq and R. Arshad, “An Efficient Technique for Web Services Identification,” Int. J.
Multidiscip. Sci. Eng., vol. 2, no. 1, pp. 26–30, 2011.
[27] S. Pakari, E. Kheirkhah, and M. Jalali, “Web Service Discovery Methods And Techniques : A
Review.,” vol. 4, no. 1, pp. 1–14, 2014.
[28] H. Xiao, Y. Zou, J. Ng, and L. Nigul, “An Approach for Context-Aware Service Discovery and
Recommendation,” in IEEE International Conference on Web Services, 2010, pp. 163–170.
[29] N. H. Rostami, E. Kheirkhah, and M. Jalali, “Web Services Composition Methods and Techniques: A
Review,” Int. J. Comput. Sci. Eng. Inf. Technol., vol. 3, no. 6, pp. 15–29, 2013.
[30] D. Fensel, F. M. Facca, E. Simperl, and I. Toma, “Web Service Modeling Ontology,” in Semantic
Web Services, Springer Berlin Heidelberg, 2011, pp. 107–129.
[31] J. Sangers, F. Frasincar, F. Hogenboom, and V. Chepegin, “Semantic Web Service Discovery Using
Natural Language Processing Techniques,” Expert Syst. Appl., vol. 31, pp. 1–27, 2013.
[32] T. Amudha, N. Saritha, and P. Usha, “A Multi-agent Based Framework for Dynamic Service
Discovery and Access Using Matchmaking Approach,” in International Conference on Intelligent
Agent & Multi-Agent Systems, 2009, pp. 1–4.
[33] M. Klusch, B. Fries, and K. Sycara, “OWLS-MX : A Hybrid Semantic Web Service Matchmaker for
OWL-S Services,” Web Semant. Sci. Serv. Agents World Wide Web, vol. 7, no. 2, pp. 121–133,
2009.
[34] J. Zhou, N. A. Abdullah, and Z. Shi, “A Hybrid P2P Approach to Service Discovery in the Cloud,”
I.J. Inf. Technol. Comput. Sci., vol. 1, pp. 1–9, 2011.
[35] M. Moghaddam and J. G. Davis, “Service Selection in Web Service Composition: A Comparative
Review of Existing Approaches,” in Web Services Foundations, First., A. Bouguettaya, Q. Z. Sheng,
and F. Daniel, Eds. New York: Springer, 2014, pp. 321–346.
[36] L. Zeng, B. Benatallah, A. H. H. Ngu, M. Dumas, J. Kalagnanam, and H. Chang, “QoS-Aware
Middleware for Web Services Composition,” IEEE Trans. Softw. Eng., vol. 30, no. 5, pp. 311–327,
May 2004.
[37] L. Ai, “QoS-Aware Web Service Composition using Genetic Algorithms,” Queensland University of
Technology, 2011.
[38] A. Hilton and T. Culver, “Constraint Handling for Genetic Algorithms in Optimal Remediation
Design,” J. Water Resour. Plan. Manag., vol. 126, no. 3, pp. 128–137, 2000.
[39] F. Rosenberg, P. Celikovic, A. Michlmayr, P. Leitner, and S. Dustdar, “An End-to-End Approach for
QoS-Aware Service Composition,” in IEEE International Enterprise Distributed Object Computing
Conference, 2009, pp. 151–160.
[40] F. Rosenberg, P. Celikovic, A. Michlmayr, P. Leitner, and S. Dustdar, “A Stochastic Programming
Approach for QoS-Aware Service Composition,” in Eighth IEEE International Symposium on Cluster
Computing and the Grid (CCGRID), 2008, pp. 226–233.
[41] X. Xie and K. Chen, “An AHP-Based Evaluation Model for Service Composition,” in Computational
Science and Its Applications - ICCSA, 2006, pp. 756–766.
[42] J. Figueira, V. Mousseau, and B. Roy, “ELECTRE Methods,” in Multiple Criteria Decision Analysis,
Springer, 2005, pp. 133–162.
[43] S. Dasgupta, “A Semantic Framework for Event-Driven Service Composition" A Dissertation in
Computer Science and Telecommunications and Computer Networking Presented to the Faculty of
the University of Missouri Kansas City in partial fulfillment of the requirements for t,” University of
Missouri Kansas City, 2011.
20
International Journal on Web Service Computing (IJWSC), Vol.7, No.1, March 2016
[44] A. Karande, M. Karande, and B B Meshram, “Choreography and Orchestration using Business
Process Execution Language for SOA with Web Services,” Int. J. Comput. Sci. Issues IJCSI´11, vol.
8, no. 2, pp. 224–232, 2011.
[45] J. P. Sousa, V. Poladian, D. Garlan, and B. Schmerl, “Task-based Adaptation for Ubiquitous
Computing,” IEEE Trans. Syst. Man. Cybern., vol. 36, no. 3, pp. 328–340, 2006.
[46] F. Casati, S. Ilnicki, L. Jin, V. Krishnamoorthy, and M.-C. Shan, “Adaptive and Dynamic Service
Composition in eFlow,” in proceeding of 12th International Conference Advanced Information
Systems Engineering (CAiSE), 2000, pp. 13–31.
[47] K. Kritikos, S. Kubicki, and E. Dubois, “Goal-based Business Service Composition,” Serv. Oriented
Comput. Appl., vol. 7, no. 4, pp. 231–257, 2013.
[48] J. Rao, P. Küngas, and M. Matskin, “Composition of Semantic Web Services Using Linear Logic
Theorem Proving,” Inf. Syst., vol. 31, no. 4–5, pp. 340–360, 2006.
[49] L. Chen, M. Li, and J. Cao, “A Rule-Based Workflow Approach for Service Composition,” Parallel
Distrib. Process. Appl., vol. 3758, no. 03, pp. 1036–1046, 2005.
[50] Z. Ying, C. Junliang, C. Bo, and Z. Yang, “Using ECA Rules to Manage Web Service Composition
for Multimedia Conference System,” in 2nd IEEE International Conference on Broadband Network &
Multimedia Technology, 2009, pp. 545–549.
AUTHORS
Prof. Ameur Touir, teaching in King Saud University in Riyadh KSU, he got his B.Sc.
in computer science from Saint Etienne University in 1985. And his M.Sc. degree from
Pierre & Marie Curie (Paris VI) University in Artificial Intelligence 1988. Ph.D. in
Computer Science 1993 from Ecole Nationale Superieure des Telecommunications de
Paris. Prof. Touir research interests is in Databases, spatial access methods, spatial query
processing, spatio-temporal, object-oriented, design pattern.
Aram AlSedrani is a PHD student in King Sau d University KSU in Riyadh, KSA. She got her B.Sc. degree
from KSU in computer science in 1998, and got her M.Sc. degree from KSU in 2009. Aram research
interest in software engineering, service oriented computing.
21