Message Routing

Process Manager

Use a stateful coordinator that tracks process progress and determines the next action from business state, events and completion rules.

orchestrationstateworkflow
The problem
How do we route a message through multiple processing steps when the required steps may not be known at design-time and may not be sequential?
Adapted from Enterprise Integration Patterns under CC BY 3.0. The visualization and explanatory content on this page are original GateSift material.
Original GateSift visualization

How Process Manager works

The message moves through a coordinated sequence of processing steps and decisions.

Message
Process Manager
Step 1
Step 2
Result
1

Establish the first processing step and the context carried with the message.

2

Use Process Manager to coordinate ordering, decisions and intermediate results.

3

Complete the flow or select the next step based on the accumulated state.

GateSift explanation

What this pattern helps you decide

Use a stateful coordinator that tracks process progress and determines the next action from business state, events and completion rules.

What happens when processing fails or the same message is delivered twice?
Where does state, correlation or routing configuration live?
How will operators trace the message and understand the decision path?
Common Azure implementations

Where you may see it

  • Durable Functions orchestrator
  • Logic Apps stateful workflow
  • BizTalk orchestration
GateSift relevance

How the analyzers can surface it

  • BizTalk orchestration services
  • Stateful and branching flows

Pattern detection is contextual. GateSift should present these as architectural signals, not claim a pattern is implemented solely because one policy statement or adapter exists.

Source, licence and attribution

The pattern name and selected problem statement are adapted from Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf under CC BY 3.0. GateSift summaries, Azure mappings, analyzer guidance and diagrams are original. No endorsement by the original authors is implied.

Back to pattern library