Service composition

from Wikipedia, the free encyclopedia

Service composition ( English service composition ) is a term used in computer science and describes the way how services are linked. Since the term is mostly used in the area of service-oriented architecture , it is also common under Web Service Composition . There are two types of compositions: orchestration and choreography . A service composition can consist of one or both types.

Orchestration

Orchestration (English orchestration , instrumentation, staging) is the flexible combination of several services to a composition. This composition describes an executable business process . Both internal and external services can be combined. The process flow is controlled by a participant. Each service has a restricted scope and can only decide on processes within its scope . Activities behind a direct communication partner remain hidden. WS-BPEL is an example of a language for orchestrating web services .

choreography

With the choreography (English choreography ) each service describes its own task in the entire composition. There is no central point that ensures correctness and controls the fulfillment of tasks. The focus is on the exchange of messages between the services. WS-CDL is an example of a choreography language.

Differentiation between orchestration and choreography

Differentiation between orchestration and choreography

The orchestration contains a description of the services, their conditions for calling as well as dependencies and alternatives. The process is seen from the perspective of one of the “participants”, that is, the latter calls up other processes. In contrast, choreography describes how the individual processes interact with one another. According to the scheme on the right, the orchestration is the local description of a (business) process (framed in blue), whereas the choreography comprises the interaction of several processes (framed in red).

The difference between orchestration and choreography can also be clearly explained using the example of a street intersection: orchestration corresponds to a traffic light control for the central control of all vehicles using light signals. Choreography, on the other hand, corresponds to a roundabout without central control. General rules in the roundabout define how vehicles enter and exit the roundabout.

Another example would be the situation in a classical orchestra: If you look at an individual part from the perspective of an orchestra member, then this corresponds to the choreography. On the other hand , if you look at the score through the conductor's eyes , you get an overview of what is going on overall. Hence this corresponds to orchestration.

Examples

WS-BPEL is an example of an orchestration language . In contrast, WS-CDL would be an example of a choreography language. Service composition has also been researched in publicly funded research projects that investigate service composition for different domains and different descriptive languages. An example of such a domain is electromobility and the associated services. A more technical example is Akkiraju's SEMAPLAN approach.

Service orchestration from a conceptual perspective

Another approach to describing orchestration in IT uses a broader and undifferentiated view of the necessary concept levels and technologies that are relevant for the collaboration of services for the joint provision of services. The orchestration therefore takes place in a wide field and affects, among other things, a. following areas:

There are different solutions for these concept levels, each with its own technological focus.

Service orchestration in static process environments

For different areas of application, the interaction of certain techniques has been tested many times on some conceptual levels, whereby certain best practices have been established. In environments that enable a service-oriented architecture based on web service and also implement more static processes (such as the Google AdWords interface ), the triad of WSDL , UDDI and SOAP is very often used. This enables the description and identification of the services as well as the establishment and reliable implementation of communication between the system participants.

Service orchestration in dynamic process environments

When using SOA in dynamic environments, in which the system has to adapt to flexibly changing processes and unpredictable service availability, the above-mentioned technology combination reaches its limits.

In such environments, in addition to the above-mentioned challenges for service description and system communication, other aspects are the focus of the SOA solution. The dynamic analysis, generation and retention of services are then of particular importance. This requires a semantic description of the services as well as a kind of intelligently acting orchestration layer that decisively expands the function of a purely passive service directory (such as UDDI).

Such semantic or ontological approaches to service orchestration can be found, for example, in the Adaptive Services Grid , although no cases of dynamic service composition are known to date. Instead of semantic procedures, a simple thematic structure or standardization of parameters within a platform would be an alternative.

Individual evidence

  1. Nicolai Josuttis: SOA in practice . 2008, p. 121
  2. Final report of the research project EMD: Expandable and adaptive electric mobility services , 2016, https://www.tib.eu/de/suchen/download/?tx_tibsearch_search%5Bdocid%5D=TIBKAT%3A87395324X&tx_tibsearch_search%5Bsearchspace%5H7038_search%5Bsearchspace%5D7038=tb26b49
  3. R. Akkiraju, B. Srivastava, A. Ivan R. Goodwin, T. Syeda-Mahmood: SEMAPLAN: Combining Planning with Semantic Matching to Achieve Web Service Composition . In: 2006 IEEE International Conference on Web Services (ICWS'06) . IEEE, Chicago September 2006, p. 37–44 , doi : 10.1109 / ICWS.2006.119 ( ieee.org [accessed January 21, 2019]).