[[Service choreography]] is a global description of the participating services, which is defined by exchange of messages, rules of interaction and agreements between two or more endpoints. Choreography employs a decentralized approach for service composition.<ref>{{Cite web|url=https://stackoverflow.com/questions/4127241/orchestration-vs-choreography|title=Orchestration vs. Choreography|last=|first=|date=|website=|archive-url=|archive-date=|deadurl=|accessdate=}}</ref>
In industry, the concept of choreography is generally considered to be '''non-executable'''. Standards, such as those proposed by the Web Services Choreography Description Language <ref>{{Cite web|url=https://www.w3.org/TR/ws-cdl-10/|title=WSCDL Specification|last=|first=|date=|website=|archive-url=|archive-date=|deadurl=|accessdate=}}</ref>, present the choreography as a more formal model to describe contracts between autonomous entities (generally distinct organizations) participating in a composition services analyzed globally. From this perspective, the composition itself must be implemented centrally through the different orchestration mechanisms made available by companies: naive code composition or the use of specific orchestration languages and engines such as BPEL (Business Process Execution Language) <ref>{{Cite web|url=http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf|title=WS-BPEL standard|last=|first=|date=|website=|archive-url=|archive-date=|deadurl=|accessdate=}}</ref>, rule engines, etc.
In the area of academic research, the concept of '''executable''' choreography is proposed as a method of no longer having the contractual part and the actual part of code as two different artifacts that can be non-synchronized or require subjective interpretations. Examples are "An Executable Calculus for Service Choreography" <ref>{{Citation|last=Besana|first=Paolo|title=On the Move to Meaningful Internet Systems: OTM 2009|date=2009|work=On the Move to Meaningful Internet Systems: OTM 2009|volume=5870|pages=373–380|series=Lecture Notes in Computer Science|publisher=Springer Berlin Heidelberg|language=en|doi=10.1007/978-3-642-05148-7_26|isbn=9783642051470|last2=Barker|first2=Adam|url=http://www.adambarker.org/papers/coopis09.pdf|format=Submitted manuscript}}</ref> or "An executable choreography framework for dynamic service-oriented architectures" <ref>{{Cite journal|last=Akkawi|first=F.|last2=Cottenier|first2=T.|last3=Alena|first3=R.L.|last4=Fletcher|first4=D.P.|last5=Duncavage|first5=D.P.|last6=Elrad|first6=T.|title=An Executable Choreography Framework for Dynamic Service-Oriented Architectures|journal=2006 IEEE Aerospace Conference|pages=1–13|language=en-US|doi=10.1109/aero.2006.1656059|isbn=978-0780395459|year=2006}}</ref>. Few of these approaches have also had a practical impact, often at the level of articles or, at the very least, [[Service choreography#Research Projects on Choreographies|research projects]]. The real breakthrough of the [[blockchain]] in recent years has brought even more to the attention of the academic community and industry, the concept of "[[smart contract]]", which can be seen as a particular form of executable choreography.
== Executable choreographies types ==
Line 28:
== References ==
<!-- Inline citations added to your article will automatically display here. See https://en.wikipedia.org/wiki/WP:REFB for instructions on how to add citations. -->