Messaging Systems

Pipes and Filters

Break processing into independent filters connected by channels. Each step performs one responsibility, making the flow easier to compose, test and evolve.

pipelinecompositionflow
The problem
How can we perform complex processing on a message while maintaining independence and flexibility?
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 Pipes and Filters works

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

Message
Pipes and Filters
Step 1
Step 2
Result
1

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

2

Use Pipes and Filters 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

Break processing into independent filters connected by channels. Each step performs one responsibility, making the flow easier to compose, test and evolve.

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

  • Logic Apps actions
  • Azure Functions chained by Service Bus
  • APIM inbound/backend/outbound policy flow
GateSift relevance

How the analyzers can surface it

  • APIM execution flow
  • BizTalk pipeline and orchestration stages

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