Workflow Execution Engine
Summary
Execution is synchronous within start and decision requests. The only asynchronous Workflow process is outbox publication; it does not advance workflow stages.
Execution flow
Step execution
Opening a step means creating an approval task. StepType.Notification has no different executor. StepMode is stored but not read by execution logic; same-order grouping provides actual parallel behavior.
Terminal processing
Completion and rejection update the instance and raise domain events. DbContext maps those events to outbox messages in the same save. Workflow Service does not call source-module callback endpoints.
Failure behavior
Application validation returns typed failure results. Malformed stored context is treated as empty. Persistence exceptions are not translated by Workflow command code.
Limitations
There are no timers, retries for business execution, compensation, pause, cancellation, resume, callback dispatch or asynchronous engine queue.
Requires Confirmation
Terminal consumer topology, callback ownership, transaction retry strategy and enhanced step executors require confirmation.
Source References
microservices/src/workflow-service/Application/Commands/WorkflowInstanceCommands.csmicroservices/src/workflow-service/Domain/Workflow/WorkflowDefinition.csmicroservices/src/workflow-service/Domain/Workflow/WorkflowInstance.csmicroservices/src/workflow-service/Infrastructure/WorkflowDbContext.cs
Related Articles
See Also
Keywords
Workflow architecture, approval engine, Workflow Service, technical foundation.
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Next review: 2026-10-20