Apache ODE

Apache ODE (Apache Orchestration Director Engine) is a software coded in Java as a workflow engine to manage business processes which have been expressed in the Web Services Business Process Execution Language (WS-BPEL) via a website. It was made by the Apache Software Foundation and released in a stable format on March 23, 2018. The software principally communicates with one or more Web services, sending and receiving messages, manipulating data and handling exceptions (errors) as defined by any given process. The engine is capable of running both long and short living processes to coordinate all the services that make up a service or application (orchestration).

As of August 2019, development of the software has been discontinued, and the project has been moved into the Apache Attic.

Communication
WS-BPEL itself is based upon the XML language and includes a number of ways in which business processes can be expressed. These include conditional clauses, repeating loops, calls to web services and the exchange of messages. Where interfaces with web services are required, it makes use of Web Services Description Language (WSDL) to express them. Messages can be handled in a flexible way by reading either part or all of the message into variables, which can then be used for onward communication.

The engine has two communication layers, with which it interacts with the outside world:
 * Apache Axis2 integration layer: supports the communication over Web services.
 * Layer based on the JBI standard: supports communication via JBI messages.

Features

 * Side-by-side support for both the WS-BPEL 2.0 OASIS standard and the legacy BPEL4WS 1.1 vendor specification.
 * Support for Axis2 (Web Services http transport) and JBI standard (using ServiceMix).
 * Support for the HTTP WSDL binding, allowing invocation of REST-style web services.
 * Possibility to map process variables externally to a database table.
 * High-level API to the engine that allows integrating the core with any communication layer.
 * Hot-deployment of the processes.
 * Compiled approach to BPEL that provides detailed analysis and validation at the command line or at deployment.
 * Management interface for processes, instances and messages.

Embedding
Apache ODE is embedded in the Jboss projects RiftSaw (WS-BPEL 2.0 engine) and also in the follow-up Switchyard, which is a service delivery framework for service-oriented applications.