Service aggregation concerns issues related to the use of several services to perform an application. In the context of SOA, services are considered as unitary bricks that have to be assembled in order to build workflows, corresponding to higher level services for particular business needs. The flexibility is obtained thanks to low coupling inherent in Web Services and standards that structure these workflows.
The concept related to the structuring of services invocation is called orchestration. In particular, the more common standard used for this concept is WS-BPEL (Business Process Execution Language) (version 1.1 and 2.0).
The concept related to the control of workflow execution is called choreography. There was first a standard that emerged (WS-CDL for Choreography Description Language), but the more recent standard BPMN 2.0 provides choreography and even orchestration representation facilities.
Contrary to orchestration, that corresponds to a centralized view point of the aggregation (in the manner of a conductor driving his musicians), choreography corresponds to a decentralized view point (in the manner of a ballet mechanism).
To summary, this thematic is divided in 2 parts:
- Orchestration, performed by a particular entity, running a workflow (i.e an execution graph) composed of messages reception, control structures and services invokation.
- Choreography, performed from several entities involved in the workflow, checking interactions and relationships between neighbor partners.
Research results related to this thematic are:
- EasyVIPER, a generic SOA workflow engine with reconfiguration,
- EasyBPEL, to manage WS-BPEL 2.0 standard upon EasyVIPER,
- EasyBPMN, to manage BPMN 2.0 standard upon EasyVIPER,
- GEasyBPMNEditor, a web-based GUI to design BPMN workflows.
Research issues related to this thematic are workflow dynamicity and adaptability. This is faced in our products by a component-based architecture, allowing reflexivity, introspection and runtime reconfiguration.