Composite Web Service Failure Recovery Considering User Non-Functional
Preferences
∗
Hossein Rahmani
1
, Hassan Abolhassani
2
H_Rahmani@ce.sharif.edu,
2
Abolhassani@sharif.edu
∗
This research has been partially funded by the
Iranian Telecommunication Research Center (ITRC).
Abstract
A composite web service is essentially a
combination of smaller services to provide extended
functionalities. However, such services are more
susceptible to failures than atomic services. This is due
to its dependency on other services which are external
modules to the composite service. In this paper, we
introduce a heuristic distance measure which
significantly reduces search space of hybrid (i.e.
forward-backward) search algorithm and results in
near-optimal solutions.
1. Introduction
Web services are components hosted on a
company’s web server to provide a form of service for
their clients via the Internet. They enable software
applications written in various programming languages
and running on various platforms to exchange data.
The communication, message exchange, and
application interoperability provides opportunities to
develop new applications and integrate existing diverse
applications within a company or beyond company
boundaries.
It is often required to combine smaller atomic
services to provide functionalities that cannot be
achieved by any single service alone. This is called
service composition and the service that composed of
other services is called a composite service. New,
larger services can be delivered by assembling existing
services through service composition without
compromising the autonomy of each individual web
service.
Availability is the most important metric for
modern computer systems [2]. Even though web
services are usually chosen for their functionalities,
they would be of no use to their consumers if these
services are unavailable for most of the time.
Especially in the Web services environment where
interactions with all services may have to pass through
unreliable networks, which are bound to cause
communication failures to a certain degree.
Although there have been ongoing research efforts
to achieve high reliability for web services [1], due to
the autonomy of these services, we must realize that it
is far from reality to assume all companies will provide
failure recovery procedures for their services.
Assuming that the failure of any component services
will cause the entire composite service to fail, a
composite service is only as reliable as its least reliable
constituent service.
Redundancy and replication provide reliability.
With redundant services, failure recovery is made
possible as the failed component services may be
replaced by other alternatives of the same
functionality.
Since not all companies would employ the failure
recovery methods and that unreliable services may be
involved in composite services, it is important that
service composition framework takes care of failure
recovery.
During the execution of a composite web service, if
one component service fails, or becomes unavailable, a
mechanism is needed to ensure that the running
process is not interrupted and the failure is quickly and
efficiently resolved. Furthermore, considering
transactions, if composite web service fails at a point,
well-executed services of this structure must undo [3]
and rollback to starting state.
In this paper, we propose MAX_MIN heuristic
distance measure for estimating the distance between
two sets of literals (i.e. service’s input/output). Each
literal represents one of the members of service’s
Input/Output set. The distance measure is used for
reducing the search space of exhaustive search
4th International Conference on Next Generation Web Services Practices
978-0-7695-3455-8/08 $25.00 © 2008 IEEE
DOI 10.1109/NWeSP.2008.28
39