Process Engines
Examining the Catch
Architectural Positioning
-
A central[1] conductor in the landscape that knows all about the specific subset of business logic that is processes and decisions
-
Control - Informs people and systems when work needs to happen
-
Decide - Reacts to events, making decisions based on input
-
Track - Handles state management natively
-
Components
-
Definitions & instances
-
Hooks: inbound and outbound
-
State
-
Processes
-
Process data
-
-
Operations
-
Human Task Management
-
Analysis & Reporting
Vendor-Driven Platforms
-
The traditional BPM and then some suite from established vendors
-
Matured tools to manage and execute processes (sometimes in proprietary modelling languages)
-
Often complicated toolsets with many features aimed at different user types
-
Intrusive in terms of tooling, way of working and architecture
-
Scalability: limited
-
$$$
Standards Driven Engines
-
Typically focussed on process and/or decision execution only
-
With supporting, but optional tooling
-
APIs available for integration
-
Architecturally flexible
-
Developer friendly
-
Often open source
-
$
Cloud Provider Inspired Orchestration
-
Add orchestration features to existing tools with provider
-
Therefore, typically bound to provider
-
-
High code
-
Limited orchestration capabilities
-
Conditionally parallel
-
Compensation
-
Scheduling
-
-
Not model-driven, nor visual
-
Often stateless