-
Notifications
You must be signed in to change notification settings - Fork 35
Trooper Orchestration Profile
The Trooper Orchestration Profile enables chaining of a number of execution stages in a manner reminiscent of workflows. Each stage is implemented as a Trooper Service (see Writing-Services-in-Trooper) and this in turn means any Trooper service can participate in a workflow, with transformation and routing implemented outside the service.
Orchestration in Trooper is defined in a XML based DSL using Mule (http://www.mulesoft.org/) as the underlying technology. Mule is embedded into the Trooper runtime using Spring DI as a light-weight object broker. Mule is therefore not used as a conventional ESB, but rather as an implementation of the SEDA architecture pattern (http://en.wikipedia.org/wiki/Staged_event-driven_architecture) for distributed parallel processing.
A diagrammatic representation of the SEDA model used by Trooper is shown below:
The orchestration profile provides the following to its users:
- Provision for modular development, testing and deployment of workflows and services
- Life-cycle management of workflows, configuration refresh using administrative console(s)
- Compile-and-run support for all orchestration profile features - does not require any packaging for deployment and testing thereby saving development time, providing for easier debugging (via standard break-points in IDEs)
- Implementation of Convention-Over-Configuration practices to ease development, deployment