SELF-SERV: A Platform for Rapid Composition of Web
Services in a Peer-to-Peer Environment
Quan z. Sheng I
Boualem Benatallah I
1 School of Computer Science & Engineering
The University of New South Wales
Sydney NSW 2052, Australia
{qsheng, boualem, eileenm}@cse.unsw.edu.au
Marion Dumas 2
Eileen Oi-Yan Mak I
2 Centre for Information Technology Innovation
Queensland University of Technology
GPO Box 2434, Brisbane QLD 4001, Australia
m.dumas@qut.edu.au
1
Introduction
The automation of
Web services
interoperation is gain-
ing a considerable momentum as a paradigm for ef-
fective Business-to-Business collaboration [2]. Estab-
lished enterprises are continuously discovering new op-
portunities to form alliances with other enterprises, by
offering value-added integrated services.
However, the technology to compose Web services
in appropriate time-frames has not kept pace with the
rapid growth and volatility of available opportunities.
Indeed, the development of integrated Web services is
often ad-hoc and requires a considerable effort of low-
level programming. This approach is inadequate given
the size and the volatility of the Web. Furthermore,
the number of services to be integrated may be large,
so that approaches where the development of an in-
tegrated service requires the understanding of each of
the underlying services are inappropriate. In addition,
Web services may need to be composed as part of a
short term partnership, and disbanded when the part-
nership is no longer profitable. Hence, the integration
of a large number of Web services requires scalable
and flexible techniques, such as those based on declar-
ative languages. Also, the execution of an integrated
service in existing approaches is usually centralised,
whereas the underlying services are distributed and
autonomous.
This calls for the investigation of dis-
tributed execution paradigms (e.g., peer-to-peer mod-
els), that do not suffer of the scalability and availability
problems of centralised coordination [3].
Motivated by these concerns, we have developed the
SELF-SERV
platform for rapid composition of Web
Permission to copy without fee all or part of this material is
granted provided that the copies are not made or distributed for
direct commercial advantage, the VLDB copyright notice and
the title of the publication and its date appear, and notice is
given that copying is by permission of the Very Large Data Base
Endowment. To copy otherwise, or to republish, requires a fee
and/or special permission from the Endowment.
Proceedings of the 28th VLDB Conference,
Hong Kong, China, 2002
1051
services [1]. In SELF-SERV, Web services are
declara-
tively
composed, and the resulting composite services
are executed in a
peer-to-peer
and
dynamic
environ-
ment. In the following sections we overview the design
and implementation of the SELF-SERV system,
and
sketch the proposed demo.
2 SELF-SERV Overview
SELF-SERV distinguishes three types of services:
ele-
mentary services, composite services,
and
service com-
munities.
An elementary service is an individual Web-
accessible application (e.g., a Java program) that does
not explicitly rely on another Web service.
A composite service aggregates multiple Web ser-
vices which are referred to as its
components.
SELF-
SERV relies on a
declarative
language for composing
services based on statecharts: a widely used formal-
ism in the area of reactive systems that is emerging as
a standard for process modeling following its integra-
tion into the Unified Modeling Language (UML). An
operation of a composite service can be seen as hav-
ing input parameters, output parameters, consumed
and produced events, and a statechart glueing these
elements together.
SELF-SERV exploits the concept of
service commu-
nity
in order to address the issue of composing a poten-
tially large number of dynamic Web services. Service
communities are essentially containers of alternative
services. They provide descriptions of desired services
(e.g., providing flight booking interfaces) without re-
ferring to any actual provider (e.g., UA flight-booking
Web service). At runtime, when a community receives
a request for executing an operation, it delegates it to
one of its current members. The choice of the dele-
gatee is based on the parameters of the request, the
characteristics of the members, the history of past ex-
ecutions and the status of ongoing executions.
The execution of a composite service in SELF-
SERV is coordinated by several peer software compo-
nents called
coordinators.
Coordinators are attached

Get Proceedings 2002 VLDB Conference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.