HOME

TheInfoList



OR:

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"
That is, at run-time each participant in a service choreography executes its part according to the behavior of the other participants. A choreography's role specifies the expected messaging behavior of the participants that will play it in terms of the sequencing and timing of the messages that they can consume and produce. Choreography describes the sequence and conditions in which the data is exchanged between two or more participants in order to meet some useful purpose.


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 The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
, 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

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

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 The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working t ...
for modelling choreographies using constructs inspired by
Pi calculus The number (; spelled out as "pi") is a mathematical constant that is the ratio of a circle's circumference to its diameter, approximately equal to 3.14159. The number appears in many formulas across mathematics and physics. It is an irratio ...
* Web Service Choreography Interface (WSCI) is an XML-based specification that was put forward to the
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working t ...
by Intalio,
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, t ...
,
BEA Systems BEA Systems, Inc. was a company that specialized in enterprise infrastructure software products which was wholly acquired by Oracle Corporation on April 29, 2008. History BEA began as a software company, founded in 1995 and headquartered i ...
and
SAP AG Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant. Sap is distinct from latex, resin, or cell sap; it is a separ ...
, and that served as input to the Web Service Choreography Description Language (WS-CDL) Moreover, the OMG specification
BPMN Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
versio
2.0
includes diagrams to model service choreographies.Jack Vaughan

SearchSOA.com, 22 Oct 2009
Academic proposals for service choreography languages include: * Let's Dance * BPEL4Chor * Chor Moreover, a number of service choreography formalisms have been proposed based on: *
Petri Nets A Petri net, also known as a place/transition (PT) net, is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph that ...
, for example Interaction Petri Nets and Open Workflow Nets * Finite-State Machines * Guarded Automata * Timed Automata *
Pi calculus The number (; spelled out as "pi") is a mathematical constant that is the ratio of a circle's circumference to its diameter, approximately equal to 3.14159. The number appears in many formulas across mathematics and physics. It is an irratio ...
*
Process calculi In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...


Web service choreography

Web service choreography (WS-Choreography) is a specification by the
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working t ...
defining an XML-based
business process modeling Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typically ...
language that describes collaboration protocols of cooperating Web Service participants, in which services act as peers, and interactions may be long-lived and stateful. (
Orchestration Orchestration is the study or practice of writing music for an orchestra (or, more loosely, for any musical ensemble, such as a concert band) or of adapting music composed for another medium for an orchestra. Also called "instrumentation", or ...
is another term with a very similar, but still different meaning.) The main effort to get a choreography, The W3C Web Services Choreography Working Group, was closed on 10 July 2009 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 Critical success factor (CSF) is a management term for an element that is necessary for an organization or project to achieve its mission. To achieve their goals they need to be aware of each key success factor (KSF) and the variations between the ...
, in support of several different top-level goals for the nascent Web services architectur

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 Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
* BPSS by ebXM

* Web Services Flow Language, WSFL by IBM *
XLANG The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
*
BPEL4WS The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
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 th
Web Services Choreography Working Group
which published
Candidate Recommendation on WS-CDL version 1.0
on November 9th, 200

"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-CDLbr>
The upcoming
Business Process Modeling Notation Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
version 2.0 will introduce diagrams for specifying service choreographies. The academic field has put forward other service choreography languages, for example Let's Dance, BPEL4Chor and MAP.Adam Barker, Christopher D. Walton, David Robertson
Choreographing Web Services
IEEE Transactions on Services Computing, volume 2, number 2, pages 152-166, IEEE Computer Society, April–June 2009


Paradigms of service choreographies

Service choreographies specify message-based interactions among participants from a global perspective. In the same way as
programming languages A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
can be grouped into
programming paradigms Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, su ...
, service choreography languages can be grouped in ''styles'': * Interaction modelling: the logic of the choreography is specified as a workflow in which the activities represent the message exchanges between the participants (for example Web Service Choreography Description Language (WS-CDL) and Let's Dance) * Interconnected interfaces modelling: the logic of the choreography is split across its participants through the roles they play (i.e. their expected messaging behavior). The roles are connected using message flows, channels, or equivalent constructsS-Cube Knowledge Model
Interconnected Interface Choreography Model
/ref> (this is for example the case of BPEL4Chor)


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

* Choreographic programming - A programming paradigm where programs are choreographies. *
BPEL The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Process ...
- Business Process Execution Language, OASIS standard * Web Service Choreography Description Language - A language for describing choreographies developed in the scope of the
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working t ...


References

Chris Peltz
Web Services Orchestration and Choreography
IEEE Computer (COMPUTER) 36(10):46-52 (2003)
Jianwen Su, Tevfik Bultan, Xiang Fu, Xiangpeng Zhao
Towards a Theory of Web Service Choreographies
WS-FM 2007:1-16
Zongyan Qiu, Xiangpeng Zhao, Chao Cai, Hongli Yang
Towards the theoretical foundation of choreography
WWW 2007:973-982
Hongli Yang, Xiangpeng Zhao, Chao Cai, Zongyan Qiu
"Exploring the Connection of Choreography and Orchestration with Exception Handling and Finalization/Compensation"
''FORTE'' 2007:81-96
Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer
Model-Based Analysis of Obligations in Web Service Choreography
AICT/ICIW 2006:149
Johannes Maria Zaha, Alistair P. Barros, Marlon Dumas, Arthur H. M. ter Hofstede
Let's Dance: A Language for Service Behavior Modeling
OTM Conferences 2006:145-162
Gero Decker, Oliver Kopp, Frank Leymann, Mathias Weske
BPEL4Chor: Extending BPEL for Modeling Choreographies
ICWS 2007:296-303
Gero Decker, Mathias Weske
Local Enforceability in Interaction Petri Nets
BPM 2007:305-319
Karsten Schmidt
Controllability of Open Workflow Nets
EMISA 2005:236-249
Nadia Busi, Roberto Gorrieri, Claudio Guidi, Roberto Lucchi, Gianluigi Zavattaro
Choreography and Orchestration Conformance for System Design
COORDINATION 2006:63-81
Tevfik Bultan, Jianwen Su, Xiang Fu
Analyzing Conversations of Web Services
IEEE Internet Computing (INTERNET) 10(1):18-25 (2006)
Michele Mancioppi, Manuel Carro, Willem-Jan van den Heuvel, Mike P. Papazoglou
Sound Multi-party Business Protocols for Service Networks
ICSOC 2008:302-316
Adam Barker, Christopher D. Walton, David Robertson
Choreographing Web Services
IEEE Transactions on Services Computing, volume 2, number 2, pages 152-166, IEEE Computer Society, April–June 2009
ShuiGuang Deng, Zhaohui Wu, Mengchu Zhou, Ying Li, Jian Wu
Modeling Service Compatibility with Pi-calculus for Choreography
ER 2006:26-39
Paolo Besana, Adam Barker
An Executable Calculus for Service Choreography
OTM Conferences 2009:373-380
Raman Kazhamiakin, Marco Pistore
Analysis of Realizability Conditions for Web Service Choreographies
FORTE 2006:61-76
Gero Decker, Oliver Kopp, Alistair P. Barros: An Introduction to Service Choreographies (Servicechoreographien - eine Einführung). it - Information Technology (IT) 50(2):122-127 (2008) Ashley McNeile
Protocol Contracts with Application to Choreographed Multiparty Collaborations
Service Oriented Computing and Applications Volume 4, Number 2, 109-136 (2010)


External links


Web Service Choreography Description Language

W3C
specification for WS-Choreography
Web Service Choreography Description Language: Primer
-
Web Service Choreography Interface (WSCI) 1.0
- specification by Intalio, Sun, BEA and SAP; input into WS-Choreography
Large-scale Choreographies for the Future Internet
- European Commission FP7 Research Project
Web services choreography in practice
- Motivation and description of WSCI
Service Choreographies
- Site promoting the concept of service choreography as a basis for service-oriented systems design. The site also describes a language for modeling choreographies on top of WSCI, namely Let's Dance.
Web Services Choreography Description Language Version 1.0

W3C Web Services Choreography Working Group

Formal Modelling of Web Services

A Theoretical Basis of Communication-Centred Concurrent Programming

Towards the Theoretical Foundation of Choreography

Exploring Into the Essence of Choreography
{{Portal bar, Business, Technology, Science, Electronics, Internet Service-oriented (business computing) Web service specifications