Executable choreography: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: title, template type. Add: s2cid, chapter. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine
Line 12:
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}}</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}}</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|last1=Besana|first1=Paolo|title=On the Move to Meaningful Internet Systems: OTM 2009|date=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|citeseerx=10.1.1.525.2508}}</ref> or "An executable choreography framework for dynamic service-oriented architectures".<ref>{{Cite journalbook|last1=Akkawi|first1=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=2006 IEEE Aerospace Conference |chapter=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|s2cid=34895834}}</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 22:
Encrypted cryptography supposes that, in addition to verification, they offer higher-level solutions for advanced cryptographic methods without the need for programmers to become cryptography specialists. Distributed applications could be built from subsystems that allow identification or verification of architectural points that expose secret data. For example, ideally, a programming system that uses encrypted choreographs guarantees, or at least helps, minimize situations where a person (legally licensed or hacker) holds both encrypted private data and encryption keys related to the same resources. In this way, the administrators or programmers of these subsystems have fewer possibilities to perform internal attacks on privacy (the level with frequent attacks). Even if some applications can not use this approach, encrypted choreographies can minimize the security risks caused by the people inside who administer or program these systems. Thus, the number of points with discreet access to data (ideally never) is formally ensured. This form of choreography is useful to allow companies to secure by code the application of the legislation or security rules assumed.
 
The implementation of encrypted choreographies implies, for example, the existence of storage systems using cryptographic techniques with practical implementation of [[homomorphic encryption]], such as the CryptDB <ref>{{Cite book|last1=Popa|first1=Raluca Ada|last2=Redfield|first2=Catherine M. S.|last3=Zeldovich|first3=Nickolai|last4=Balakrishnan|first4=Hari|date=2011-10-23|title=CryptDB: protecting confidentiality with encrypted query processing|pages=85–100|doi=10.1145/2043556.2043566|isbn=9781450309776|chapter=CryptDB|hdl=1721.1/74107|s2cid=6323154}}</ref><ref>{{Cite journal|last1=Tu|first1=Stephen|last2=Kaashoek|first2=M. Frans|last3=Madden|first3=Samuel|last4=Zeldovich|first4=Nickolai|last5=Tu|first5=Stephen|last6=Kaashoek|first6=M. Frans|last7=Madden|first7=Samuel|last8=Zeldovich|first8=Nickolai|date=2013-03-01|title=Processing analytical queries over encrypted data, Processing analytical queries over encrypted data|journal=Proceedings of the VLDB Endowment|volume=6|issue=5|pages=289, 289–300, 300|doi=10.14778/2535573.2488336|issn=2150-8097|url=https://dspace.mit.edu/bitstream/1721.1/87023/1/tu-monomi-cr-vldb13.pdf|hdl=1721.1/87023|s2cid=2187816 |hdl-access=free}}</ref> implementation from MIT. A method that can also be called a "storage, division and anonymization method" with the help of encrypted choreographies, can lead to the ideal of having total "sovereignty" (within the limits of the law) on private data was published in the article "Private Data System enabling self-sovereign storage managed by executable choreographies".<ref>{{Citation|last1=Alboaie|first1=Sinică|title=Distributed Applications and Interoperable Systems|date=2017|volume=10320|pages=83–98|series=Lecture Notes in Computer Science|publisher=Springer International Publishing|language=en|doi=10.1007/978-3-319-59665-5_6|isbn=9783319596648|last2=Cosovan|first2=Doina|arxiv=1708.09332|s2cid=6063958}}</ref> This paper presents how choreographies anonymize and divide data in a way that ensures that data can not be copied by a single administrator or hacker that controls only one of the participating nodes. The implemented mechanisms can also include interfaces that are easy to use by programmers for advanced cryptographic methods.
 
=== Serverless choreographies ===