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

Quickscan

  • Vendor-driven platforms

  • Standards-driven engines

  • Cloud provider inspired orchestration

  • …​

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


1. From the perspective of its role, not necessarily technically centralised