Introduction Link to heading
In my previous post Workflows everywhere pt. 1 I tried to define workflows and enumerate their functional and non-functional requirements. The post concluded with the realization that in many case we need workflow engines to power our workflows.
This post defines what a workflow engine is and lists some of the most popular engines by category. Or at least that was the original intention, but there is a twist.
What Is a Workflow Engine? Link to heading
Workflow engines are systems designed to simplify the creation and execution of workflows. They orchestrate the flow of information between the activities that compose the workflow based on predefined logic, conditions and dependencies.
Simply put they are systems that allow users to easily design workflows then take care of executing each activity / step of the workflow passing data between them.
Workflow engine categorization Link to heading
This is the part where this posts gets interesting, as there is no single way to categorize workflow engines. One could categorize engines by purpose. Others may be more interested in the architecture characteristics of the engine. Operational is also an interesting way to categorize engines and let’s not forget about the costs and licensing of the engine.
For example a teleological categorization (purpose based) could introduce categories like:
- Business Process Management (BPM) engines
- Data Processing engines
- Machine Learning (ML) engines
- Microservices orchestration engines
- CI/CD engines
While an architectural categorization could introduce categories like:
- Log based engines
- State machine based engines
- DAG based engines
- Code flows
Given the large number of workflow engines available today, it is not practical to list them all statically using different categorizations. What would be more practical is to use an interactive approach for exploring multidimensional categorizations of workflow engines. Additionally, it would be useful if it was something that could be easily updated as new engines are released or existing ones evolve.
An interactive Workflow Engine explorer Link to heading
I begun to entertain the idea of creating an interactive web application that would help me experiment and visualize different categorizations. As soon as I got the first draft it was pretty clear to me that this is something that could be useful to others as well.

To try it out, at: https://iocanel.com/workflow-engines. The actual code for the application can be found at: https://github.com/iocanel/workflow-engines
I expect the content of the application to evolve over time, as new engines are released or existing ones evolve. The categorization is likely to change as well, let’s collaborate and keep it up to date!
Next steps Link to heading
I intend to start visiting some of the engines listed in the application and write more detailed posts about them. Most likely, I will start with the ones that I have not used in the past or maybe the ones that I could connect to my day job, but I am open to suggestions.