This *intentionally short* blog post explains the functionality of an Enterprise Orchestration Engine (EOE), which is a new software category that we at https://orchex.org are attempting to define as we pioneer an open-source solution in this problem space.
Update 15.Dec.2025: After years of frustration with WordPress, I am finally abandoning this blog. The content will likely stay here for some time, but new content will appear here:
This is the first in a series of blog posts that introduce EOE:
An enterprise orchestration engine is a software system intended to facilitate the implementation of composable solutions. Unlike traditional software that uses native programming interfaces, composable solutions use webservice APIs and webhooks to communicate between service-oriented applications using JSON over HTTP.
You can think of an EOE as a tool for developers that exposes configuration capabilities and webservice APIs to accept, merge, transform, otherwise process, and return JSON, typically invoking some number of webservice APIs in the process.
At its core, an enterprise orchestration engine allows an organization to define and implement orchestration processes. Encapsulating orchestration processes is the primary value of an orchestration engine. An orchestration process consists of one or more orchestration processers that each implement individual functions, such as invoking a webservice API. An orchestration process accepts a JSON payload that it manipulates as required to pass data to any webservice APIs needed to implement the process. The organization can use EOE webservice APIs, scheduled processes, webhooks, or any other technique that can invoke a webservice API to launch an orchestration process.
In the following high-level diagram of an EOE:
- Applications (top) and Clients (left) such as browsers can call the EOE webservice APIs, most commonly to invoke an orchestration process.
- The Admin UI (left) lets EOE users monitor processing and otherwise interact with the EOE through a browser.
- Organizations can define custom routes to configure the EOE to process webhooks (right) from external systems.
- The EOE can generate webhooks (bottom) to communicate event data or anything else to other systems.

Note that Orchex is considering using orchestration processes rather than webhooks:
The EOE itself stores entities such as orchestration processor definitions, information about running processes, and so forth. It also provides services such as scheduling processes and caching data.
The following blog post describes objectives of an EOE:
The following is an example of the composable complexity challenge that EOE intends to avoid, with lines showing potential connections between every client and application:

The root of the problem is that the application, which may run on the client, composes itself.
An EOE solution looks more like this, where the EOE composes the application:

3 thoughts on “-What Is an Enterprise Orchestration Engine (EOE)?”