Ode - Orchestration Director Engine
"A lyric poem of some length, usually of a serious or meditative nature and having an elevated style and formal stanzaic structure". - American Heritage Dictionary
We are proposing an orchestration service that implements the WS-BPEL specification. The implementation will also support Message/Event to process correlation
The project proposal includes development of an orchestration engine abstraction to standard externally defined interfaces/bindings. The interface implementations and/or bindings will enable the orchestration service to be plugged into various service bus or component architectures.
For a complete SOA stack, course-grained, long lived, service orchestration is an important aspect of service interaction. WS-BPEL is the standard description language for describing this level of service interaction. While there is a lot of ongoing effort in Apache towards solving the assembly and bus architecture issues of SOA, the higher level orchestration integration aspect could be better served.
The initial source for Ode originates from a Sybase donation and the PXE BPEL 2.0 engine from Intalio.
The Sybase donation generically implements a superset of the academically recognized workflow patterns that are a superset of WSBPEL yet adhere to specific WSBPEL v1.1 language constructs. The initial source contribution does not require any WSBPEL extensions and is opaque with respect to the orchestration process context types. The initial source fully implements the BPEL v1.1 specification however there are some things to do:
- Implement specific service bus plug-ins.
- Implement a non-J2EE persistence mechanism for stateful processes running outside a J2EE container.
- Port to BPEL 2.0 once the specification is public.
The Intalio PXE BPEL 2.0 engine is currently licensed under the CPL open source license, and has been integrated into third-party products/projects such as Sun's Java Studio Enterprise and Apache ServiceMix.
RESOURCES TO BE CREATED
- SVN Repository
- Mailing Lists
- Official Build Systems
We propose growing the Apache SOA stack through integration with ServiceMix, Axis, Tuscany, Celtix, etc ...
The proposed implementation will solely focus on service orchestration. We will implement the appropriate plug-in points for a specific ESB or component architecture. This would include exposing BPEL definitions as a service, enable the consumption of services by a BPEL process and exposure of BPEL management services.
AVOIDING THE WARNING SIGNS
The core of the donated code is used within a commercially viable product and receives constant feedback. The project will be actively supported both by the current committers and those in the community actively seeking to leverage orchestration with the SOA stack. The BPEL 2.0 specification is a diverse and active community and we anticipate continued interest in the orchestration of Web Services and integration with other Apache projects.
The Eclipse foundation has formed a BPEL tooling project (http://www.eclipse.org/bpel/) that will help visualize service orchestration and add to service orchestration interest.
Inexperience with open source:
Many of the current committers have experience working with open source projects and communities and the leaders of this project are long time ASF contributors. We do not expect any difficulty in executing under normal meritocracy rules.
The initial contributions are developed by Sybase and Intalio employees but there is a strong support of developers wishing to work on the code from the current Geronimo, ServiceMix and Agila projects as well as developers from various companies: Envoi Solutions, IBM, Intalio, LogicBlaze, Sybase, Unity Systems, Virtuas, and WSO2...
No ties to other Apache products:
We are anticipating that the service orchestration engine will be used within a larger SOA stack (i.e. ServiceMix, Tuscany, Synapse). To that end we will actively work with other projects to define and implement the appropriate plug-in points/bindings/abstractions orchestration. The default standards based plugin architecture for integration components is JBI (JSR 208) which we will be tackling first. Other kinds of plugins could be created over time.
For QoS features the Ode project will leverage Geronimo backbones (transaction management, security, threading).
The following individuals have expressed interest in participating as committers:
Alan Cabrera (Simula Labs), firstname.lastname@example.org - Member of Geronimo PMC and Directory Committer
Bill Flood (Sybase), email@example.com
Cory Harper (Sybase), firstname.lastname@example.org
Dain Sundstrom (IBM) email@example.com - Member of Geronimo PMC and JDO Committer
Jan-Hua Chu (Sybase), firstname.lastname@example.org
Jeff Genender (Virtuas), email@example.com - Member of Geronimo PMC
John Childs (Sybase), John.firstname.lastname@example.org
Lance Waterman (Sybase), email@example.com
Matthieu Riou, firstname.lastname@example.org - Agila Committer
Sandip Ghayal (Sybase), email@example.com
Assaf Arkin (Intalio), firstname.lastname@example.org
Alex Boisvert (Intalio), email@example.com
Jacques-Alexandre Gerber (Intalio), firstname.lastname@example.org
Holger Hoffstaette (Intalio), email@example.com
Iwan Memruk (Intalio), firstname.lastname@example.org
Maciej Szefler (Intalio), email@example.com
Matthieu Riou (Intalio), firstname.lastname@example.org
Nazar Stasiv (Intalio), email@example.com
Olexandr Zakordonskyy (Intalio), firstname.lastname@example.org
Oleg Zenzin (Intalio), email@example.com
Paul Fremantle (WSO2), firstname.lastname@example.org - WS Committer
Sanjiva Weerawarana (WSO2), email@example.com - WS Committer
Paul Brown, firstname.lastname@example.org
PROPOSED APACHE SPONSOR
We kindly request the Apache Incubator PMC to accept this project.
These individuals will participate as Incubator Mentors
- Paul Fremantle
- Geir Magnusson Jr.
- Davanum Srinivas
- James Strachan