Open source BPEL engines review: Apache ODE



ODE - Orchestration Director Engine





Apache License 2.0

Current version

1.2, released 2008-07-03.


The product implements BPEL standard. Current limitations and extensions are clearly documented.


ODE requires JDK 5.0. Also use a relation database to persist state for long running process. For this persistence, use DAO pattern, implemented using OpenJPA (supporting then any database with transactional support and BLOB data types), and you can replace this with other persistence mechanism.

It runs in a servlet container or a JBI container, and not standalone. For this, it uses an integration API, that has two implementations, the AXIS2 Integration (for servlet container), and JBI Integration (for JBI container).


The BPEL engine doesn't map workflow to Java, and instead it uses JACOB, a framework for transaction and concurrency.

The integration layer (IL), provides access to outside world. There are two implementations: AXIS2 IL (for Web Services), and JBI IL, (for JBI message bus).

BPEL code and related artifacts (WSDL, XSD, etc), are compiled in a single file (with extension .cbp) that is the only required at runtime. Besides the use here, this compiler can be useful for a "validation" of BPEL code (even if you will not use ODE later).

Ode architecture

Image source:

In their own words: "The compiler converts BPEL documents into a form executable by the run-time, which executes them in a reliable fashion by relying on a persistent store accessible via the DAOs; the run-time executes in the context of an Integration Layer which connects the engine to the broader execution environment ( i.e. the "world")."

Advanced features

ESB integration

Available through any of both integration layers. The recommended is JBI IL for any ESB supporting JBI. The main docs reference integration with Apache ServiceMix

Process versioning

ODE supports process versioning. When you deploy a new bundle, the process definition is changed, and used for all new instances, while running instances completes with the previous definition. The FAQ says the opposite, but it's outdated.


Q. Does ODE support web services transaction specifications, e.g., WS-Transaction, WS-Coordination, WS-Business Activity, OASIS BTP, or Composite Application Framework (WS-CAF)?
A. No, not at present.

Actualization: they are now working on transaction propagation and atomic scopes, that's expected to be included in 2.0, and implements this using a BPEL extension. (In development)

Human Tasks

Apache ODE doesn't directly support any standard for human interaction.

Actualization: there's a task manager that's taking shape in the sandbox. (In development)

Also, if this feature is important for you (if not, too Smile), you should consider take a look at Tempo.


They now provide WS-Security with Rampart. (In development)


Q. Can ODE be deployed in clustered or other configurations intended to provide fault tolerance and increased performance?
A. Clustering support is currently under development. Clustering support will require a transaction inter-node transport (such as JMS) as well as a transactional data store that can be accessed concurrently by all nodes in the cluster (i.e. a modern RDBMS).


Yes, you can use event listeners. So, can generate event and/or audit logs.


It has an API to handle deployed process and running instances. Main interfaces are ProcessManagement and InstanceManagement. If you're using Axis 2 (AXIS2 IL), they are published as Web Services. And if you're using JBI, the same WSDL interfaces are provided as native JBI endpoints.

Actualization: Doesn't include an administration console now, but one is in development, and is expected to be included in 1.3.(In development).

More info.

Development tools

The project doesn't include this tools. You can use tools available from other projects, like Eclipse.



The documentation is clear and well organized.


It has a couple of mailing lists, with moderate traffic (about 150 messages/month each).


Through lists.


You can get payed support from third parties (like Intalio)

Project health


The roadmap isn't clear enough to show what's done and what's coming soon.

Release plan

I didn't find it. But I've been told that they expect to release 1.3 soon, and 2.0 also this year, or begining next.

Release history

OSS BPEL engines review

Este sitio está bajo la licencia Creative Commons.
Copyright © 1999-2016 Andrés Ferrando

XHTML 1.0 Strict válido CSS válido