Task: Model Service Composition and Flows
This task defines and specifies the services and structure of a service-oriented solution in terms of collaborations of contained design elements and external subsystems/interfaces.
Purpose
  • To define the services and structure of a service-oriented solution in terms of collaborations of contained design elements and external subsystems/interfaces.
  • To analyze the service for commonality and variability (see Guideline: Variability Analysis).
  • To document the specification of services.
  • To determine the dependencies and the communication between services.
Relationships
Main Description
This task refines the set of Artifact: Service Specifications identified and qualified during Activity: Existing Asset Analysis and provides additional structure and detail. This design-level detail includes the interface, message and composition of services and the allocation of services to providers.
Steps
Model Service Composition and Flows

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.

Properties
Multiple Occurrences
Event Driven
Ongoing
Optional
Planned
Repeatable
More Information