stack of different layers and business components:
data bases and associated access interfaces, business
processes that coordinate (e.g., using BPEL) the ex-
ecution of business components that implement en-
terprise functionalities and a suitable interfaces must
be defined that expose the business processes as ser-
vices. To specify such an interface, we can use WS-
Management WSDL (Web Services Description Lan-
guage) for the WS* implementation, a method more
expressive than a simple WSDL file. Typically inter-
action contracts based on exchanged SOAP messages
are defined using WS-Addressing, WS-Discovery,
WS-Policy, WS-Security and others. As for REST-
ful services, no standard exists that provides such in-
terface descriptions. For our example, we consider a
WADL (Web Services Application Language) file.
In accordance with the black-box principle, we are
interested in an abstraction that hides all the imple-
mentation details of web services. We model an ele-
mentary process as a composition of an interface and
an agent having an internal state which evolves during
its execution. The agent abstraction hides all imple-
mentation details for the data base access layer and
the business process layer. The interface is composed
of provided or required services. Each service is a set
of channels to receive incoming messages or to send
messages over the network. This abstraction is illus-
trated in Figure 1 for a client and a server on a channel
K refering to the ”book flight” service.
Channel Mobility. We describe two practical im-
portant aspects of this feature.
Request/Reply Mechanism. In the client/server
communication of the flight reservation scenario, the
server does not initially know the client. Thus for the
reply, the server uses the callback information con-
tained in the received message. Concretely, this infor-
mation could correspond to a source IP address and
port over a transport protocol (e.g. HTTP) or an end-
point reference (EPR) in the ReplyTo block of a WS-
Addressing header for a SOAP message or a specific
location in an HTTP message. This way, the call-
back mechanism can be performed synchronously,
usually over one session of the transport protocol, or
asynchronously over two distinguished client/server
sessions. Our formal model must therefore be ex-
pressive enough to represent both synchronous and
asynchronous communications. However, since syn-
chronous communication can be implemented with
message passing (Lamport and Lynch, 1990), our
model only supports asynchronous communication,
via one-way channels. A reply channel, correspond-
ing to a callback, must therefore be sent by the client.
Discovery Mechanism. Suppose that the client do-
es not know the location of the flight reservation ser-
vice while knowing its interface. Thus, at runtime,
before invoking the service, the client needs to dis-
cover a target location for the service. In case of WS*
technology, several techniques can be used for ser-
vice discovery. The UDDI standard can be used if
a centralized registry is appropriate to discover web
services. As part of an ad-hoc architecture, the WS-
Discovery standard provides endpoint references for
the flight service. In the case of a RESTful implemen-
tation, search engines, like Google, could be used for
getting the root resource URL. Then a RESTful ser-
vice could be ”self-discovery” by defining links be-
tween resources. Service discovery thus means look-
ing up a set of channels.
3 MODEL OVERVIEW
In this section we give an overview of the concepts
of our abstract model for unifying web services tech-
nologies. Our model belongs to the class of message-
passing models (Lamport and Lynch, 1990): agents
exchange messages by using a buffer and without
sharing memory or without synchronizing the send-
ing and the receiving of messages in a rendez-vous.
Communication is assumed to be completely
asynchronous. The buffer used to communicate mod-
els the network. We consider it as a finite multiset
of messages, with no bound and no order. Actually,
a message is defined as some content on a channel.
The channel determines the unique target of the mes-
sage. Initially, coordination is only possible between
agents that share a channel, for instance between a
server providing a channel and its clients, requiring
the same channel. Gradually, agents discover new
channels since messages can contain channels: chan-
nel mobility makes network topology evolve.
The two main requirements of our model, asyn-
chronous communication and true concurrency, has
led us to resort to a chemical model (Berry and
Boudol, 1992). Here, we describe the concepts us-
ing UML class diagrams and informally present the
main semantic rules.
Processes and Agents. Processes are described in
Figure 2. This UML diagram describes distributed
agents implementing web-services. A process is
made from several agents acting in a parallel compo-
sition. This concept is represented thanks to a com-
posite pattern in Figure 2. An agent has a name, a
state and an interface. The state of agents is kept
abstract, in accordance with the black-box principle.
Different formalisms, like process algebras or tempo-
WEBIST2012-8thInternationalConferenceonWebInformationSystemsandTechnologies
138