Chapter 2. Workflow Engines and Process Solutions

After the general introduction to process automation, this chapter:

  • Introduces workflow engines and process solutions

  • Presents a hands-on, executable example to make things concrete

  • Explores the developer experience when using process automation platforms

The Workflow Engine

As you saw in the introduction, a workflow engine is the key component for automating the control flow of a long-running process.

If you’re wondering why you should use a workflow engine instead of hardcoding processes or using batch processing or data streams, you might want to take a peek at “Limitations of Other Implementation Options”.

Core Capabilities

The core technical capabilities of a workflow engine are:

Durable state (persistence)

The engine keeps track of all running process instances, including their current state and historical audit data. While this sounds easy, durable state is still a challenge to handle, especially at scale. It also immediately triggers subsequent requirements around understanding the current state, which means you will need operations tooling. A workflow engine needs to manage transactions, too, for example, handling concurrent access to the same process instance.

Scheduling

A workflow engine needs to keep track of timing and possibly escalate if a process gets stuck for too long. Therefore, there must be a scheduling mechanism that allows the engine to become active whenever something needs to be done. This ...

Get Practical Process Automation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.