MarketService choreography
Company Profile

Service choreography

Service choreography in business computing is a form of service composition in which the interaction protocol between several partner services is defined from a global perspective. The idea underlying the notion of service choreography can be summarised as follows: "Dancers dance following a global scenario without a single point of control"

Service choreography and service orchestration
Service choreography is better understood through the comparison with another paradigm of service composition: service orchestration. On one hand, in service choreographies the logic of the message-based interactions among the participants is specified from a global perspective. In service orchestration, on the other hand, the logic is specified from the local point of view of one controlling participant, called the orchestrator. In the service orchestration language BPEL, for example, the specification of the service orchestration (e.g. the BPEL process file) is a workflow that can be deployed on the service infrastructure (for example a BPEL execution engine like Apache ODE). The deployment of the service orchestration specification transforms a workflow into a composite service. In a sense, service choreography and orchestrations are two sides of the same coin. On one hand, the roles of a service choreography can be extracted as service orchestrations through a process called projection. Through projection it is possible to realize skeletons, i.e. incomplete service orchestrations that can be used as baselines to realize the web services that participate to the service choreography. On the other hand, already existing service orchestrations may be composed in service choreographies. ==Enactment of service choreographies==
Enactment of service choreographies
Service choreographies are not executed: they are enacted. A service choreography is enacted when its participants execute their roles. That is, unlike service orchestration, service choreographies are not run by some engine on the service infrastructure, but they “happen" when their roles are executed. This is because the logic of the service choreography is specified from a global point of view, and thus it is not realized by one single service like in service orchestration. The key question which much of the research into choreography seeks to answer is this: Suppose a global choreography is constructed that describes the possible interactions between the participants in a collaboration. What conditions does the choreography need to obey if it is to be guaranteed that the collaboration succeeds? Here, succeeds means that the emergent behaviour that results when the collaboration is enacted, with each participant acting independently according to its own skeleton, exactly follows the choreography from which the skeletons were originally projected. When this is the case, the choreography is said to be realizable. In general, determining realizability of a choreography is a non-trivial question, particularly where the collaboration uses asynchronous messaging and it is possible for different participants to send messages simultaneously. ==Service choreography languages==
Service choreography languages
In the ambit of the specifications concerning Web services, the following specifications have focused on defining languages to model service choreographies: • Web Service Choreography Description Language (WS-CDL) is a XML-based specification from the W3C for modelling choreographies using constructs inspired by Pi calculus • Web Service Choreography Interface (WSCI) is an XML-based specification that was put forward to the W3C by Intalio, Sun Microsystems, BEA Systems and SAP AG, and that served as input to the Web Service Choreography Description Language (WS-CDL) Moreover, the OMG specification BPMN version 2.0 includes diagrams to model service choreographies. Academic proposals for service choreography languages include: • Let's Dance leaving WS-CDL as a Candidate Recommendation. "Many presentations at the W3C Workshop on Web services of 11–12 April 2001 pointed to the need for a common interface and composition language to help address choreography. The Web Services Architecture Requirements Working Draft created by the Web Services Architecture Working Group also lists the idea of Web service choreography capabilities as a Critical Success Factor, in support of several different top-level goals for the nascent Web services architecture"The problem of choreography was of great interest to the industry during that time; efforts such as WSCL (Web Service Conversation Language) and WSCI (Web Service Choreography Interface) were submitted to W3C and were published as Technical Notes. Moreover, complementary efforts were launched: • BPML, now BPMN • BPSS by ebXML [http://www.ebXML.org • WSFL by IBMXLANG by MicrosoftBPEL4WS by IBM, Microsoft and BEA "In June 2002, Intalio, Sun, BEA and SAP released a joint specification named Web Services Choreography Interface (WSCI). This specification was also submitted to W3C as a note in August 2002. W3C has since formed a new Working Group called Web Services Choreography Working Group within the Web services Activity. The WSCI specification is one of the primary inputs into the Web Services Choreography Working Group which published a Candidate Recommendation on WS-CDL version 1.0 on November 9th, 2005". "XLang, WSFL and WSCI are no longer being supported by any standard organization or companies. BPEL replaced Xlang and WSFL WSCI was superseded by WS-CDL". The upcoming Business Process Modeling Notation version 2.0 will introduce diagrams for specifying service choreographies. ==Paradigms of service choreographies==
Paradigms of service choreographies
Service choreographies specify message-based interactions among participants from a global perspective. In the same way as programming languages can be grouped into programming paradigms, service choreography languages can be grouped in styles: (for example Web Service Choreography Description Language (WS-CDL) and Let's Dance (this is for example the case of BPEL4Chor) ==Research projects on choreographies==
Research projects on choreographies
There are several active research projects on the topic of service choreography. • CHOReVOLUTION: Automated Synthesis of Dynamic and Secured Choreographies for the Future Internet • CRC: Choreographies for Reliable and efficient Communication software • SwarmESB - a light, open source, ESB or message hub for node.js • PrivateSKY - experimental development in public-private partnership for local cloud platforms with advanced data protection features ==See also==
tickerdossier.comtickerdossier.substack.com