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.