Pipes and Filters
A processing chain where each stage is replaceable.
- Format.puml
- Length36 lines
- LibraryEnterprise Integration Patterns
The source
36 lines of PlantUML, and pulls in Enterprise Integration Patterns. Copy it, or open the template inside Gnomon and render it as it is.
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/EIP-PlantUML/main/dist/EIP-PlantUML.puml
title Pipes and Filters Pattern
LAYOUT_LEFT_RIGHT()
ChannelAdapterLeft(source, "File\nAdapter")
MsgChannel(ch1, "")
Filter(decrypt, "Decrypt")
MsgChannel(ch2, "")
Filter(authenticate, "Authenticate")
MsgChannel(ch3, "")
Filter(validate, "Validate")
MsgChannel(ch4, "")
Filter(transform, "Transform")
MsgChannel(ch5, "")
ChannelAdapterRight(sink, "Database\nAdapter")
Pipe(source, ch1)
Pipe(ch1, decrypt)
Pipe(decrypt, ch2)
Pipe(ch2, authenticate)
Pipe(authenticate, ch3)
Pipe(ch3, validate)
Pipe(validate, ch4)
Pipe(ch4, transform)
Pipe(transform, ch5)
Pipe(ch5, sink)
@endumlRender this offline
This template ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.
Others in Enterprise integration pattern diagrams
- Simple MessagingA channel and two endpoints: the vocabulary in miniature.
- Content-Based RouterRoute by message content. Where most integrations start.
- Publish-SubscribeOne publisher, many independent subscribers.
- Splitter-AggregatorSplit a message, process the parts, put them back together.
- Request-ReplyAsync messaging that still needs an answer.
- Error HandlingWhat happens when a message cannot be processed. Draw this one.
- Wire Tap (Monitoring)Observe traffic without changing it: for audit and monitoring.