Architecture Atlassoftware · systems · evidence
Software · Systems · Quality · EvolutionView Markdown source

Enterprise integration and migration patterns

Integration architecture protects meaning across ownership, protocol, lifecycle, and failure boundaries. Translation is usually more important than transport.

Core ideas and patterns

Idea What it solves Cost, limit, or warning
Anti-corruption layer Protects a domain from another model Translation code must own semantic differences
Strangler fig Replaces legacy capability incrementally Routing and duplicated behavior need exit criteria
Facade Provides a simpler stable interface Can hide but not remove underlying coupling
Adapter Converts one interface or protocol to another Syntax conversion is insufficient when concepts differ
Canonical data model Standardizes exchange across many systems Enterprise-wide models become slow and lowest-common-denominator
Aggregator Combines related messages or responses Completeness and timeout rules are domain decisions
Content-based router Routes by message content Rules can become hidden centralized business logic
Claim check Moves large payload out of a message Payload storage lifecycle and authorization become critical
Pipes and filters Composes independent transformation stages Error context and end-to-end tracing can fragment

How to apply it

Define system of record, source of truth per field, semantic mapping, contract, data classification, authorization, retry, reconciliation, and retirement path. Prefer bounded context maps over a universal model. Give temporary migration components deletion criteria.

Evidence, not opinion

Use consumer/provider contract tests, reconciliation totals, semantic examples, lineage, transformation error queues, and cutover/rollback rehearsals.

Small example

A strangler routes customer search to a new service while legacy remains authoritative for updates. Change data capture feeds the new read model; parity reports gate each migration cohort.

Feynman check

Explain the design to a new engineer without using the pattern names. State the problem, the forces that conflict, the chosen boundary or mechanism, what can fail, and the evidence that would prove the choice still works.

Architecture AtlasIndependent study material · verify standards at their primary sources