Intermediate·Concept·2 min read

Reusable Engine vs. Application

Practice this question

Another useful architectural distinction is between a workflow engine and the application that uses it.

The reusable engine owns generic execution capabilities: graph traversal, state transitions, rule evaluation, obligations, execution orchestration, and audit integration.

An application owns its APIs, authentication, user experience, environment configuration, and application-specific connectors.

Example
Main Application --------+
                         |
Workflow Test App -------+----> One Workflow Engine
                         |
Future Application ------+

This allows multiple applications to share the same workflow behavior without maintaining duplicate engines. The engine can be packaged as an SDK with a stable public API and an externally supplied workflow configuration/content root.

Adapted from 19_deterministic_workflow_engine_learnings.md · “11. Reusable Engine vs. Application”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.