ODE - Orchestration Director Engine
Apache
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).
Image source: http://ode.apache.org/architectural-overview.data/OdeArchitecture.png
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")."
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
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)
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
), 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).
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)
The roadmap isn't clear enough to show what's done and what's coming soon.
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.