Automated composition of Web services is becoming a prominent paradigm for implementing and delivering distributed applications. A composed service can be described either by orchestration or choreography. Service orchestration has a centralized controller which coordinates the services in a composite service. Differently, service choreography assumes that all of the participating services collaborate with each other to achieve a globally shared task. Choreography has received great attention and demonstrated a few key advantages over orchestration such as data efficiency, distributed control, and scalability. Although there is extensive research on the languages and protocols of choreography, automated design of choreography plans, especially distributed plans for multiple roles, is more complex and not studied before. In this paper, we propose a novel planning-based approach, including compilation of contingencies, stateful actions, dependency analysis and communication control, which can automatically convert a given composition task to a distributed choreography specification. The experimental results conducted on large scale service repositories show the effectiveness and efficiency of our approach for automated choreography of Web services.
Read full abstract