Services are often composed of other, existing, services and in some cases technology such as choreography can allow
for a service to be developed without explicit code as purely a composition of existing services. During specification,
services that are reusing elements already in the enterprise portfolio, and have documented their dependencies on these
services, may be considered as composite services if their functionality relies upon the function of a composed service
and if the composite may not be deployed without access to the composed service(s).
In some SOA frameworks, a Business Process Layer is intended to manage only choreographed composite services
where complex processes are provided as managed choreographies of more fine-grained services. In this case the Business
Process Execution Language for Web Services (BPEL4WS) can be used as a tool for the development of composite services,
service flows and business process layers.
Thus, two kinds or composite services may be identified:
-
Hardwired composite services - these are characterized by low flexibility, owing to pre-defined
flow and control of services where the flow and control is not externalized. These types of services have
attractive Qualities of Service attributes such as performance.
-
Loosely wired composite services - these are characterized by high flexibility where composing
services into business processes is accomplished by externalizing flow and control. The flow description of the
composition is externalized. This type of composition exploits modeling tools, dynamic variability through rules,
and static variability through modeling. Composition using BPEL is an example.
For more information see Concept: Service Composition and Choreography as well as Guideline: Service Realization - BPEL services in a SOA application for a
project-specific example.
|