Service Composition and Coordination (KM-SC)
WP-JRA-2.2 Service Composition
The Service Composition domain covers the service composition domain. In Service Oriented Computing, services are often described as autonomous software components that can be described, published, and discovered in a platform-neutral and interoperable way. They perform functions ranging from simple atomic requests to executing complex business processes. An important property of service orientation is the possibility to combine existing services to create service compositions.
Service composition allows defining more complex applications by reusing existing services at increasing levels of abstraction. One can distinguish between several service composition models. Service orchestration creates a composite service by describing how it interacts with existing services, including the business logic and execution semantics of these interactions. The so created service orchestration is again exposed as a service and can be orchestrated by other services in a recursive manner. In the context of Web services, WS-BPEL is the standard language for representing Web service orchestrations. While a service orchestration specifies the interactions with services and the business logic from the point of view of a single partner, service choreography focuses on describing the publicly visible message exchanges between several partner Web services. In addition to orchestration and choreography, service coordination, and service wiring, can also be considered as types of service compositions. All of these composition model types have different purposes, but can often be combined together.
For supporting the lifecycle of service compositions several aspects have to be addressed. Synthesis of service compositions deals with creation of service compositions which can happen both at design-time and run-time. In this context, model-driven, QoS-aware, and automated service composition are three relevant research subdomains. After the creation of a service composition, verification techniques are needed for verifying the composition against certain properties, such as whether it is deadlock-free. After deployment of a service composition to the corresponding middleware, which for service orchestrations is typically a process engine in combination with a service bus, the composition is executed. At runtime, the composition can be adapted by for example rebinding other services, if a predefined service fails. Finally, monitoring of service compositions is performed either for run-time verification or to measure performance metrics of service compositions.
The S-Cube deliverable PO-JRA-2.2.1 “Overview of the State of the Art in Composition and Coordination of Services” presents the state-of-the-art in the service composition domain. It is structured as follows:
Service composition models: The first part of the report deals with service composition models. It presents and compares approaches to service orchestration, choreography, coordination and wiring. In addition, semantic WS composition approaches are discussed.
Service composition approaches focusing on synthesis: In the second part of the report, three service composition synthesis approaches are presented: (i) Model-driven service composition copes with generating service composition models from more abstract models. The approaches deal predominantly with the transformation of abstract business process models to executable orchestration models, such as executable BPEL processes. (ii) Automated service composition aims at selecting services and creating a service composition based on an abstract goal without human intervention. In this context, existing approaches based on workflow techniques and AI planning are presented and compared. (iii) Finally, QoS-aware service composition attempts to create a service composition that adheres to local and global QoS constraints.
Verification of service compositions: The third chapter presents verification techniques for service composition. Most techniques are based on model checking, many of them focusing on BPEL processes checking properties such as safety and liveness.
In the final part of the report research challenges in the service composition domain are identified.
The relevance of the research domain to the other five JRA areas:
Service Composition focuses on mechanisms supporting the lifecycle of service composition which are related to techniques from Engineering and Design and which will be integrated into the overall methodology.
Service Composition provides techniques and mechanisms for the service composition layer, which are supported by principles, techniques and methodologies for monitoring and adaptation of SBAs on all three layers (Adaptation and Monitoring).
Concerning the QoS aspect, Service Composition focuses on QoS-aware service composition, which is based on guaranteeing local and global quality constraints in service compositions and builds on Quality Definition, Negotiation and Assurance. This work package focuses on specification, verification and negotiation of QoS and SLAs, and quality assurance for SBAs.
Service Composition provides the groundwork for Business Process Management to deal with the transformation of service networks and business process models to service compositions.
Service Composition relies on a service infrastructure (Service Infrastructure), which is situated in the layer below service compositions, and relates to such issues as service discovery, dynamic binding and invocation. This layer provides middleware and functionalities used by service compositions.