Open source BPEL engines review: Apache ODE

General

Name

ODE - Orchestration Director Engine

Vendor

Apache

Homepage

http://ode.apache.org/

License

Apache License 2.0

Current version

1.2, released 2008-07-03.

Standards

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

Platform

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).

Architecture

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: 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")."

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.

Transactions

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.

Security

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

Clustering

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).

Events

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

Management

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.

Project

Documentation

The documentation is clear and well organized.

Forums

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

Support

Through lists.

Subscription

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

Project health

Roadmap

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-2023 Andrés Ferrando

XHTML 1.0 Strict válido CSS válido