Apache ODE (Apache Orchestration Director Engine) is a software coded in
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
as a workflow engine to manage
business processes
A business process, business method, or business function is a collection of related, structured activities or tasks performed by people or equipment in which a specific sequence produces a service or product (that serves a particular business g ...
which have been expressed in the Web Services Business Process Execution Language (
WS-BPEL
The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Processes ...
) via a website. It was made by the
Apache Software Foundation
The Apache Software Foundation ( ; ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open-source software projects. The ASF was formed from a group of developers of the ...
and released in a stable format on March 23, 2018. The software principally communicates with one or more
Web services
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
, 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
Orchestration is the study or practice of writing music for an orchestra (or, more loosely, for any musical ensemble, such as a concert band) or of adapting music composed for another medium for an orchestra. Also called "instrumentation", orch ...
).
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
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
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
The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
) 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
Apache Axis2 is a web service engine. It is a redesign and re-write of the widely used Apache Axis SOAP stack. Implementations of Axis2 are available in Java (programming language), Java and C (programming language), C.
Axis2 provides the capabi ...
integration layer: supports the communication over
Web services
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
.
* Layer based on the
JBI standard: supports communication via JBI messages.
Features
* Side-by-side support for both the WS-BPEL 2.0
OASIS
In ecology, an oasis (; : oases ) is a fertile area of a desert or semi-desert environment[Axis2
Apache Axis2 is a web service engine. It is a redesign and re-write of the widely used Apache Axis SOAP stack. Implementations of Axis2 are available in Java and C.
Axis2 provides the capability to add Web services interfaces to Web application ...]
(Web Services http transport) and
JBI standard (using
ServiceMix).
* Support for the HTTP WSDL binding, allowing invocation of
REST
REST (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of ...
-style web services.
* Possibility to map process variables externally to a database table.
* High-level
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
to the engine that allows integrating the core with any communication layer.
* Hot-deployment of the processes.
* Compiled approach to
BPEL
The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Processes ...
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
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mult ...
projects RiftSaw (
WS-BPEL
The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Processes ...
2.0 engine) and also in the follow-up
Switchyard, which is a service delivery
framework
A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of.
Framework may refer to:
Computing
* Application framework, used to implement the structure of an application for an op ...
for service-oriented applications.
See also
*
WS-BPEL
The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Processes ...
References
External links
*
/ode.apache.org/ Apache ODE home page*
/www.jboss.org/riftsaw RiftSaw*
/www.jboss.org/switchyard SwitchYard{{Apache Software Foundation
ODE
An ode (from ) is a type of lyric poetry, with its origins in Ancient Greece. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structu ...
Free software programmed in Java (programming language)
Workflow applications