Article Preview
TopIntroduction
The evolution of computer science technologies has given life to many paradigms such as the Service Oriented Computing (SOC) paradigm (Alonso et al., 2004; Benatallah, Hamid, & Nezhad, 2007; Dijkman & Dumas, 2004). In the latter, Web services are the main pillar. Based on standard interfaces, Web services facilitate application-to-application interactions. This advantageous property of Web services gives rise to several important concepts such as the notion of choreography. Such a feature offers the possibility to capture collaborative processes involving multiple services where the interactions between these services are seen from a global perspective. In this context, one of the important elements is the compatibility analysis. By compatibility we mean the capability of a set of services of actually fulfilling successful interactions by exchanging messages.
In the last few years, some works have investigated the compatibility problem of two Web services: a client and a provider service (Bordeaux et al., 2004; Benatallah, Casati, Ponge, & Toumani, 2005; Benatallah, Casati, Toumani, & Ponge, 2005; Ponge et al., 2007; Guermouche, Perrin, & Ringeissen, 2008). In all these works, the authors deal with services that support synchronous communications. In that case, to characterize the compatibility class of two services, the authors check if each input (resp. output) message of a service corresponds to an output (resp. input) message of the other service in the same order (i.e., the services are synchronized over messages). However, the nature of distributed systems and particularly of Web services can be asynchronous, hence the problem of the applicability of these approaches which are very restrictive in real application scenarios is still open. To overcome such a limitation, in this paper we tackle the problem of analyzing the compatibility of a choreography in which Web services support asynchronous communications. In an asynchronous communication, when a message is sent, it is inserted into a bounded message queue, and the receiver consumes (i.e., receives) the message while it is available in the queue.
On the other side, it is commonly agreed that in general the interaction of Web services and in particular the compatibility of Web services depends not only on the supported sequences of messages but there are other crucial quantitative properties such as timed properties (Benatallah, Casati, Ponge, et al., 2005; Benatallah, Casati, Toumani, et al., 2005; Kazhamiakin et al., 2006a, 2006b; Ponge et al., 2007; Guermouche, Perrin, et al., 2008). We mean by timed properties the required delays to exchange messages (e.g., in an e-government application, a prefecture can send its final decision to grant an handicapped pension to a requester after 7 days and within 14 days). When services are interacting, their timed properties can be conflicting. The existing works cannot discover all the eventual timed conflicts since the authors rely on the principle of synchronizing the services over messages (Bordeaux et al., 2004; Benatallah, Casati, Ponge, et al., 2005; Benatallah, Casati, Toumani, et al., 2005; Ponge et al., 2007; Guermouche, Godart, & Benatallah, 2008).