practice

Enterprise Integration Patterns

also called EIP

A catalogue of named, composable messaging patterns — router, translator, aggregator, splitter, filter, dead letter channel — that gives integration work a shared vocabulary.

messagingintegrationvocabulary

Catalogued by Hohpe and Woolf in 2003 and almost entirely still current, because the problems are inherent to asynchronous messaging rather than to any technology.

The ones worth knowing by name because they come up constantly: content-based router (send where the payload says), message translator (convert between two systems' formats — the integration equivalent of an anti-corruption layer), splitter and aggregator (fan one message into many and collect the results, with the aggregator needing a completeness condition and a timeout), idempotent receiver, and dead letter channel.

Their real value is communicative: saying "we need a splitter, then competing consumers, then an aggregator with a 30-second timeout" describes a design precisely in one sentence, to anyone who knows the vocabulary.