Choreography State of the Art

Service choreography gives a more distributed and scalable envision of service composition. It allows several processes of service composition to take place. Service choreography is not intended to be executed but to follow a concurrent execution of several processes. In ultra large scaled systems due to the important number of processes that are running, it is essential to control services behavior during the execution. Service choreography can be seen as governance mechanisms that ensures the good function of the executing processes.

While service composition languages are numerous, there are only few languages for describing service choreography. The WS-CDL (Web Service Choreography Description Language) and the WSCI (Web Service Choreography Initiative) from W3C which are implementation focused. Let's dance (Zaha2006) is graphical-oriented academic language. A very newly OMG specification BPMN2.0 has been released fully in 2011, it integrates in his latest version choreography graphical annotations. Graphical annotations are interesting since they are platform independent and they allow an easy representation of high level choreography of services.

Approaches to service choreography address the multi partners and distribution concerns that are required in ultra large scale systems but which are not fulfilled by service orchestration. As systems are becoming more widespread and services more numerous service composition needs to cope with large scale systems and to tackle the raising complexity induced by heterogeneity and scalability. A centralized view is no more sufficient to answer new Future Internet system requirements. Moving from the centralized view to the decentralized one represents a critical issue to tackled. Some research works have been carried out :

  • The authors in (Yildiz2007) address this issue by proposing a framework for process transformation technique. Their approach converts a centralized BPEL process into a set of nested processes able to be deployed on dynamically bound services. The authors consider a graph-like representation of the process and a transformation algorithm.
  • In (Viroli2007) the authors consider a multi-agent system where BPEL activities are autonomously executed by agents and the mediation is supported via a coordination model. A semantic layer is also added to describe service. The overall engine architecture is composed of three tiers each responsible of a different aspect of the system: the interaction tier collects the incoming requests from the Web Service that is orchestrated by the BPEL; the correlation tier is responsible for interpreting messages and their correlation sets. Then, the messages are routed to the proper process instance. Finally, the workflow tier executes the activities of each process instance.
  • In (Chen2008) the authors develop a concurrent service orchestration engine called OnceBPEL2.0 based on Event-Driven Architecture. They target the improvement of performance under massive concurrency and design a scalable BPEL engine. Finite State machines are used to describe the semantics of the BPEL process. A mapping between BPEL activities and finite state machines is realized. Then, rules designing the state transitions within the process are represented using EDA. Agents are are set in the orchestration engine to cope with time-consuming tasks. The authors evaluate their approach by realizing performance evaluations of average throughput and response time. The evaluation tests consider until two hundred virtual users.

Current choreography approaches extend the BPEL process and transform it in order to answer the distribution and scalability requirements. In Future Internet systems, challenging issues need to be faced, these are relative to the growing number of users, services and interactions in such systems. BPMN2.0 language is a good candidate for designing choreographies in a graphical way but is not linked to executable process. Further work need to be done on this topic in order to operate wide service distributed choreography.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.