
by tools such as eFlow, SCET
1
for supporting the
specification of the composition. A composition tool
is mostly defined by three components: a composi-
tion module which offers an intuitive interface to plan
Web services (data and control flows), an execution
entity which controls the services invocation accord-
ing to the specification model and finally an efficiency
evaluator(Casati et al., 2000)(Chandrasekaran et al.,
2003).
While composite services are recursively consid-
ered as Web services, they introduce new problems
since traditional clients will not be able to assure
interoperability and sophisticated interaction proto-
cols. Facing with the increasing complexity of the
behaviour of such services, the need of a tool for user
assistance in interaction processes becomes a neces-
sity.
In this work, we develop a platform capable to fully
control the interaction process with a Web service
given its process model specification. This work is es-
sentially based on a previous paper which focuses on
algorithmic aspect(Melliti and Haddad, 2003). Build-
ing such platform raises the following two issues: the
first one concerns semantics and algorithmic aspects
whereas the second one is related to technological as-
pects.
Since our goal is to produce a client behaviour
which correctly interacts with the service, we have
to formally define such an interaction. But this re-
quires beforehand to specify a formalism of represent-
ing the service and the client behaviour; composite
Web service behaviour may be represented in a vari-
ety of ways. While digraphs have been used widely to
model business processes (Casati et al., 2000), other
models like Petri nets (W. Aalst and Houben, 1994),
activity/state charts are also being employed. In our
system, we represent the behaviour of a Web service
process by a timed transitions system. The timed
transitions system models a communicating system
where the actions are mainly message exchanges and
time passing. In order to design a client behaviour
synthesis algorithm, we propose an interaction rela-
tion between two communicating systems which for-
malizes the concept of a correct interaction. Let us
briefly explain why the two main ones - the language
equivalence and the bisimulation equivalence - do not
match our needs. The language equivalence is un-
able to express the different branching capabilities of
the systems since it does not require an equivalence
relation between the intermediate states of the two
systems. The bisimulation equivalence does not take
into account the different nature of the events: in an
asynchronous communicating system the sending of
a message is an action whereas the reception is a re-
action. Thus the interaction relation that we introduce
1
it uses WSFL for dynamic Web services Composition
can be viewed as a bisimulation relation modified in
order to capture the nature of the events.
In addition to the theoretical difficulties we have
solved, we have also faced technical difficulties dur-
ing the development and execution of such compos-
ite services. Indeed the existing technologies for
Web services have two drastic restrictions on inter-
action models. The first one refers to the synchronous
and asynchronous nature of the interaction and the
second one concerns the difference between targeted
interaction like RPC and message oriented interac-
tion(B. Benatallah and Rabhi, 2001)(Curbera et al.,
2001). Our platform supports all interaction patterns
such as centralized and decentralized execution, mes-
sage oriented and RPC model, synchronous and asyn-
chronous interaction. However in the asynchronous
interaction mode, the platform only supports Web ser-
vices using a Java XML message provider. Let us note
that a technical solution bridging the JAXM which
other asynchronous interaction providers is possible
but it is out of the scope of the present work.
The balance of the paper is the following one. At
first, we define a formal semantic for a Web service
description language as a timed transitions system.
Then we propose a relation between two communicat-
ing transition systems which formalizes the concept
of a correct interaction between two processes. Based
on this relation, we present a client behaviour syn-
thesis algorithm which either produces a timed transi-
tions system for scheduling a correct interaction with
the service or detects the ambiguity of the service
specification. Afterwards, we focus on the platform
specification and implementation. More precisely, we
describe the different steps of the process which binds
our client with a composite Web service. We also de-
tail the components of our platform. Then we present
an illustrative example. Finally we discuss our ap-
proach and we give future improvements of this work.
2 A FORMAL SEMANTIC FOR
XLANG
XLANG is an XML block-structured specification
which offers a set of flow control primitives in order
to define the process model of the Web service. The
flow control primitives organize the operation execu-
tion exactly like the different primitives that we meet
in programming languages. An XLANG description
is always built on one or more WSDL description
which supplies a set of operations. It uses their oper-
ations as the basic elements in order to construct the
processes. An XLANG process is built by applying
control primitives on operations and XLANG subpro-
cesses. Every flow control primitive represents a spe-
cific execution order model to the XLANG processes
ICEIS 2004 - SOFTWARE AGENTS AND INTERNET COMPUTING
288