Web Service Choreographies
Service-oriented computing has been the focus of tremendous research and technology development over the last 10 years and is now acknowledged as a central paradigm for Internet computing. In this context, researchers have looked at service composition from two complementary points of view: service orchestration and choreography. Although several software systems and technologies have supported Web service orchestration, research on Web service choreography is still at its earliest stage. On the other hand, because choreographies have no central element of control, they offer a promising approach to coping with the scalability issue that arises from the Future Internet view (see more details in the Related Links below). In this month’s theme, we would like to share a few articles about service choreographies that highlight the work that’s been done in the last decade.
“Service-Oriented Computing: State of the Art and Research Challenges” (login required) gives a good overview of service-oriented computing and puts services orchestration and choreographies into context, presenting some research challenges of the area. “Web Services Orchestration and Choreography” (login required) provides a more in-depth understanding of the underlying concepts of and differences between these two models of Web service composition, describing some standards, technologies, and examples.
Regarding languages for the description of choreographies, “Choreographing Web Services” (login required) presents a language for Web service choreographies that is based on Pi-calculus, a formal foundation that enables model checking before the choreography enactment (the execution of a choreography). This article also presents key points in relation to how choreographies can be specified, verified, and enacted. The authors compare the proposed language with WS-CDL, the W3C candidate recommendation. Another language, which was recently adapted to describe choreographies, is OMG’s BPMN2 (Business Process Model and Notation). This language gained specific elements to describe how business participants coordinate their interactions, focusing on their message exchanges.
“An Integrated Workbench for Model-Based Engineering of Service Compositions” (login required) also uses a formal approach to analyze and validate choreographies. This article provides a comprehensive view of the work of the authors, who discuss different approaches for the behavioral analysis of service composition and provide a set of tools integrated into an IDE (integrated development environment) to aid choreography designers.
To conclude, we suggest reading “Rule-Based Coordination of Distributed Web Service Transactions,” (login required) which discusses the problem of coordinating the participants in a choreography without depending on the specific party that initiated the process. Choreography synthesis and coordination are still open problems when dealing with large-scale choreographies.
We sincerely hope that you will enjoy reading this theme. These articles should give you some useful background information on a range of service choreography topics. Check the Related Links below for further information. Finally, we would like to thank Dejan Milojicic, Brooke Miner, Guilherme Nogueira, and Gustavo Ansaldi Oliva for their support for this theme.
Marco Aurélio Gerosa is a professor in the Computer Science Department of the University of São Paulo (USP) and is the leader of its Software Engineering and Collaborative Systems research group. He also participates in the CHOReOS project (http://www.choreos.eu), which aims to offer a middleware and a dynamic development process for ultra-large-scale service choreographies. Contact him at gerosa at ime dot usp dot br.
Valérie Issarny is “Directrice de recherche” at INRIA and leads the INRIA ARLES project team. She is the scientific leader of the CHOReOS project. Contact her at valerie.issarny at inria dot fr.
We hope these resources help you to explore service choreographies and to keep abreast of ongoing developments. Note that login may be required to access some of the texts.
The Future Internet constitutes a futuristic vision of a yet-to-come Internet in which scale changes everything. In this context, service-oriented systems may be realized as decentralized collaborations of services discovered and choreographed in an ultra-large-scale setting. The following links help you to understand this scenario.
- B. Pollack, ed., Ultra-Large-Scale Systems: The Software Challenge of the Future, Software Eng. Inst., 2006. This very good book from the Carnegie Mellon Software Engineering Institute (SEI) describes several issues to consider in an ultra-large-scale scenario.
- D. Papadimitriou, ed., “Future Internet: The Cross-ETP Vision Document,” 2009. This document gathers recommendations for investments by the European Union to cope with Future Internet challenges.
- The MANA Group, “Management and Service-Aware Networking Architectures (MANA) for Future Internet,” position paper, 2009. This paper describes architectural issues and challenges for the Future Internet.
Service Computing and Choreographies
Besides the papers listed in the editorial, we recommend that you check the following links for more information on this topic.
- LJ Zhang, ed., Services Computing, Computing Now theme, January 2011.
- V. Issarny, et al., “Service-Oriented Middleware for the Future Internet: State of the Art and Research Directions,” J. Internet Services and Applications, vol. 2, no. 1, 2011, p. 23–45. This paper brings together the discussions about the Future Internet and service computing, identifying key research challenges for service-oriented middleware design and focusing in particular on service description, discovery, access, and composition.
- G. Salaün et al., “Describing and Reasoning on Web Services using Process Algebra,” Proc. IEEE Int’l Conf. Web Services, IEEE Press, 2004, pp. 43–50.This paper discusses how to use process algebra to tackle choreography issues.
- IFIP Working Group on Service-Oriented Systems (being established). This page lists organizations, conferences, and journals covering this topic, including the International Conference on Service-Oriented Computing (ICSOC), the IEEE International Conference on Web Services (ICWS), the IEEE European Conference on Web Services (ECOWS), ServiceWave, the Service Oriented Computing and Applications journal (SOCA), IEEE Transactions on Services Computing (TSC), and ACM Transactions on the Web (TWeb).
Languages for describing choreographies
- Web Services Choreography Description Language (WS-CDL), 2004. This standard proposal is the W3C candidate for choreograph specification. However, in 2009, the group responsible for it was closed.
- Business Process Model and Notation (BPMN2), 2011. This OMG standard recently gained support for describing choreographies.
- M.E. Cambronero et al., “A Comparative Study between WSCI, WS-CDL, and OWL-S,” Proc. IEEE Int’l Conf. e-Business Eng., IEEE Press, 2009, pp. 377–382.
- CHOReOS, Large Scale Choreographies for the Future Internet. This project, funded by the European Commission, aims to develop a framework for scalable choreography development. This framework will enable domain experts to develop decentralized ultra-large-scale (ULS) solutions composed of heterogeneous services that are adaptable and QoS (quality-of-service) aware. We suggest you check the project’s deliverables and publications page.
- The Baile project. This project, funded by HP, aims to study and resolve problems related to the development and use of Web service choreographies in large-scale environments, in particular those related to cloud computing.
- The S-Cube is another European Commission–funded project. It deals with several aspects of service-oriented computing, especially service composition and coordination, which are central to choreographies.