Content deleted Content added
Sun Creator (talk | contribs) m →top: General fixes, typo(s) fixed: a improved → an improved |
Sreak-Tuis (talk | contribs) No edit summary |
||
(12 intermediate revisions by 8 users not shown) | |||
Line 1:
{{Short description|Computing design principle}}
'''Executable choreography''' represents a decentralized form of [[Service composability principle|service composition]], involving the cooperation of several individual entities. It is an improved form of [[service choreography]]. Executable choreographies can be intuitively seen as arbitrary complex workflows that get executed in systems belonging to multiple organisations or authorities.<ref>{{Cite journal
Executable choreographies are actual
== Executable vs. non-executable choreography ==
In almost all applications the business logic must be separated into different services. The [[Orchestration (computing)|orchestration]] represents the way that these services are organized and composed. The resulting service can be integrated hierarchically into another composition.<ref>{{Cite journal
[[Service choreography]] is a global description of the participating services, which is defined by the 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
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
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|
== Executable choreographies types ==
=== Verifiable choreographies ===
Executable choreographies are a more general concept and are not necessarily verifiable choreographies if they do not use the idea of a site regarded as a security context for code execution. As examples of approaches to programming using executable choreographies, we could list the European project CHOReOS,<ref>{{Cite web|url=http://www.choreos.eu|title=ChoreOS
=== Encrypted choreographies ===
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|
=== Serverless choreographies ===
Line 30:
Serverless choreographies assume that cloud execution and storage is done using encrypted choreographies. Using this form of choreography, hosting companies or individuals managing physical and logical hosting infrastructure will not be able to influence hosted installation or applications. Serverless choreographies present the opportunity to develop distributed, decentralized systems and the potential to formally secure advanced privacy properties.
==See also==
* [[Service composability principle]]
* [[Service choreography]]
== References ==
|