fbpx
Wikipedia

Service choreography

Service choreography in business computing is a form of service composition in which the interaction protocol between several partner services[clarification needed] is defined from a global perspective.[1] 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.[2] 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.[3]

Choreography describes the sequence and conditions in which the data is exchanged between two or more participants in order to meet some useful purpose.[4]

Service choreography and service orchestration edit

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.[5]

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.[6] 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 edit

Service choreographies are not executed: they are enacted. A service choreography is enacted when its participants execute their roles.[7] 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.[8] 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 edit

In the ambit of the specifications concerning Web services, the following specifications have focused on defining languages to model service choreographies:

Moreover, the OMG specification BPMN version 2.0 includes diagrams to model service choreographies.[9]

Academic proposals for service choreography languages include:

Moreover, a number of service choreography formalisms have been proposed based on:

Web service choreography edit

Web service choreography (WS-Choreography) is a specification by the W3C defining an XML-based business process modeling 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 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[24] 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"[1].

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:[25]

"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"[3]. "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"[4].

The upcoming Business Process Modeling Notation version 2.0 will introduce diagrams for specifying service choreographies.[9]

The academic field has put forward other service choreography languages, for example Let's Dance,[10] BPEL4Chor[11] and MAP.[19]

Paradigms of service choreographies edit

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:[26]

  • Interaction modelling: the logic of the choreography is specified as a workflow in which the activities represent the message exchanges between the participants [27] (for example Web Service Choreography Description Language (WS-CDL) and Let's Dance[10])
  • 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 constructs[28] (this is for example the case of BPEL4Chor[11])

Research projects on choreographies edit

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 edit

References edit

  1. ^ S-Cube Knowledge Model: Service Choreography
  2. ^ Chris Peltz: Web Services Orchestration and Choreography. IEEE Computer (COMPUTER) 36(10):46-52 (2003)
  3. ^ Jianwen Su, Tevfik Bultan, Xiang Fu, Xiangpeng Zhao: Towards a Theory of Web Service Choreographies. WS-FM 2007:1-16
  4. ^ "WS Choreography Model Overview". 24 March 2004. Retrieved 16 February 2019.
  5. ^ Arellanes, Damian; Lau, Kung-Kiu (2017). "Exogenous Connectors for Hierarchical Service Composition" (PDF). 2017 IEEE 10th Conference on Service-Oriented Computing and Applications (SOCA). Kanazawa: IEEE. pp. 125–132. doi:10.1109/SOCA.2017.25. ISBN 9781538613269. S2CID 31211787.
  6. ^ 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
  7. ^ Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer: Model-Based Analysis of Obligations in Web Service Choreography. AICT/ICIW 2006:149
  8. ^ Ashley McNeile: Protocol Contracts with Application to Choreographed Multiparty Collaborations. Service Oriented Computing and Applications Volume 4, Number 2, 109-136 (2010)
  9. ^ a b Jack Vaughan: BPMN 2.0 adds notation to handle BPM choreography. SearchSOA.com, 22 Oct 2009
  10. ^ a b c 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
  11. ^ a b c Gero Decker, Oliver Kopp, Frank Leymann, Mathias Weske: BPEL4Chor: Extending BPEL for Modeling Choreographies. ICWS 2007:296-303
  12. ^ "Chor Programming Language".
  13. ^ Carbone, Marco; Montesi, Fabrizio (2013). Deadlock-freedom by design: Multiparty Asynchronous Global Programming. doi:10.1145/2429069.2429101.
  14. ^ Gero Decker, Mathias Weske: Local Enforceability in Interaction Petri Nets. BPM 2007:305-319
  15. ^ Karsten Schmidt: Controllability of Open Workflow Nets. EMISA 2005:236-249
  16. ^ Nadia Busi, Roberto Gorrieri, Claudio Guidi, Roberto Lucchi, Gianluigi Zavattaro: Choreography and Orchestration Conformance for System Design. COORDINATION 2006:63-81
  17. ^ Tevfik Bultan, Jianwen Su, Xiang Fu: Analyzing Conversations of Web Services. IEEE Internet Computing (INTERNET) 10(1):18-25 (2006)
  18. ^ Michele Mancioppi, Manuel Carro, Willem-Jan van den Heuvel, Mike P. Papazoglou: Sound Multi-party Business Protocols for Service Networks. ICSOC 2008:302-316
  19. ^ a b 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
  20. ^ ShuiGuang Deng, Zhaohui Wu, Mengchu Zhou, Ying Li, Jian Wu: Modeling Service Compatibility with Pi-calculus for Choreography. ER 2006:26-39
  21. ^ Paolo Besana, Adam Barker: An Executable Calculus for Service Choreography. OTM Conferences 2009:373-380
  22. ^ Raman Kazhamiakin, Marco Pistore: Analysis of Realizability Conditions for Web Service Choreographies. FORTE 2006:61-76
  23. ^ Zongyan Qiu, Xiangpeng Zhao, Chao Cai, Hongli Yang: Towards the theoretical foundation of choreography. WWW 2007:973-982
  24. ^ Web Services Choreography Working Group at W3
  25. ^ Charter
  26. ^ 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)
  27. ^ S-Cube Knowledge Model: Interaction Choreography Model
  28. ^ S-Cube Knowledge Model: Interconnected Interface Choreography Model

External links edit

  • 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

service, choreography, this, article, confusing, unclear, readers, please, help, clarify, article, there, might, discussion, about, this, talk, page, april, 2010, learn, when, remove, this, template, message, business, computing, form, service, composition, wh. This article may be confusing or unclear to readers Please help clarify the article There might be a discussion about this on the talk page April 2010 Learn how and when to remove this template message Service choreography in business computing is a form of service composition in which the interaction protocol between several partner services clarification needed is defined from a global perspective 1 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 2 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 3 Choreography describes the sequence and conditions in which the data is exchanged between two or more participants in order to meet some useful purpose 4 Contents 1 Service choreography and service orchestration 2 Enactment of service choreographies 3 Service choreography languages 3 1 Web service choreography 4 Paradigms of service choreographies 5 Research projects on choreographies 6 See also 7 References 8 External linksService choreography and service orchestration editService 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 5 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 6 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 editService choreographies are not executed they are enacted A service choreography is enacted when its participants execute their roles 7 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 8 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 editIn 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 9 Academic proposals for service choreography languages include Let s Dance 10 BPEL4Chor 11 Chor 12 13 Moreover a number of service choreography formalisms have been proposed based on Petri Nets for example Interaction Petri Nets 14 and Open Workflow Nets 15 Finite State Machines 16 Guarded Automata 17 Timed Automata 18 Pi calculus 19 20 21 Process calculi 22 23 Web service choreography edit Web service choreography WS Choreography is a specification by the W3C defining an XML based business process modeling 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 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 24 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 1 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 25 BPML now BPMN BPSS by ebXML 2 WSFL by IBM XLANG by Microsoft BPEL4WS 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 3 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 4 The upcoming Business Process Modeling Notation version 2 0 will introduce diagrams for specifying service choreographies 9 The academic field has put forward other service choreography languages for example Let s Dance 10 BPEL4Chor 11 and MAP 19 Paradigms of service choreographies editService 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 26 Interaction modelling the logic of the choreography is specified as a workflow in which the activities represent the message exchanges between the participants 27 for example Web Service Choreography Description Language WS CDL and Let s Dance 10 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 constructs 28 this is for example the case of BPEL4Chor 11 Research projects on choreographies editThere 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 featuresSee also editChoreographic programming A programming paradigm where programs are choreographies BPEL Business Process Execution Language OASIS standard Executable choreography Service composability principle Web Service Choreography Description Language A language for describing choreographies developed in the scope of the W3CReferences edit S Cube Knowledge Model Service Choreography 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 WS Choreography Model Overview 24 March 2004 Retrieved 16 February 2019 Arellanes Damian Lau Kung Kiu 2017 Exogenous Connectors for Hierarchical Service Composition PDF 2017 IEEE 10th Conference on Service Oriented Computing and Applications SOCA Kanazawa IEEE pp 125 132 doi 10 1109 SOCA 2017 25 ISBN 9781538613269 S2CID 31211787 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 Sebastian Uchitel Jeff Magee Jeff Kramer Model Based Analysis of Obligations in Web Service Choreography AICT ICIW 2006 149 Ashley McNeile Protocol Contracts with Application to Choreographed Multiparty Collaborations Service Oriented Computing and Applications Volume 4 Number 2 109 136 2010 a b Jack Vaughan BPMN 2 0 adds notation to handle BPM choreography SearchSOA com 22 Oct 2009 a b c 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 a b c Gero Decker Oliver Kopp Frank Leymann Mathias Weske BPEL4Chor Extending BPEL for Modeling Choreographies ICWS 2007 296 303 Chor Programming Language Carbone Marco Montesi Fabrizio 2013 Deadlock freedom by design Multiparty Asynchronous Global Programming doi 10 1145 2429069 2429101 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 a b 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 Zongyan Qiu Xiangpeng Zhao Chao Cai Hongli Yang Towards the theoretical foundation of choreography WWW 2007 973 982 Web Services Choreography Working Group at W3 Charter Gero Decker Oliver Kopp Alistair P Barros An Introduction to Service Choreographies Servicechoreographien eine Einfuhrung it Information Technology IT 50 2 122 127 2008 S Cube Knowledge Model Interaction Choreography Model S Cube Knowledge Model Interconnected Interface Choreography ModelExternal links editWeb 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 ChoreographyPortals nbsp Business nbsp Technology nbsp Science nbsp Electronics nbsp Internet Retrieved from https en wikipedia org w index php title Service choreography amp oldid 1166531975, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.