A pattern for integrating between systems
An integration pattern is the chosen style by which separate applications exchange data and trigger each other's behaviour. The choice is consequential and hard to reverse, because it sets how tightly the systems couple, how they fail, and what a future change costs. Most integration pain traces back to a style that was picked by default, never chosen on purpose.
Gregor Hohpe and Bobby Woolf gave the field its vocabulary in Enterprise Integration Patterns (2003), a pattern language of 65 patterns for message-oriented middleware. Before the detailed patterns, they framed four integration styles that still organise the decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →:
Hohpe and Woolf argued the messaging style resolves the trade-offs the other three force, and the bulk of their book elaborates it. The topology question sits alongside the style: point-to-point connections multiply links as systems grow (the n-squared problem); a hub-and-spoke or message broker centralises routing; an event bus lets producers and consumers join without knowing each other. Microservices and event-driven architecture have since made messaging and the event bus the default for new systems, while RPC reappeared as REST and gRPC.
A retailer connects its warehouse, storefront, and finance systems. Nightly stock reconciliation moves a large batch with no urgency, so it stays a File Transfer: a CSV dropped to a shared location each midnight. Order placement needsNeedUserA user need, pain, desire, or constraintView reference → every system to react within seconds, so it runs over Messaging through a broker, where the storefront publishes an event and warehouse and finance subscribe independently. The team rejects a Shared Database for orders, because coupling three systems to one schema would mean every change negotiated three ways. Two patterns coexist by design, each matched to its timeliness and coupling needs.
In the Unified Product Graph, Integration PatternEngineeringAn integration pattern (saga, event sourcing, etc.) is a leaf in the Engineering & Platform region. Two hierarchy edges anchor it: integration_patternProductintegrates viaIntegration Patternhierarchy records the styles a product relies on, and product_integrates_via_integration_patternBounded Contextintegrates viaIntegration Patternhierarchy localises a style to the boundary it serves. Modelling the pattern as its own entity, distinct from the APIs and topics that implement it, lets a team read its integration strategy directly: which boundaries lean on synchronous calls, which on messaging, and where a default choice quietly set the coupling that a later change will have to pay for.bounded_context_integrates_via_integration_pattern
Type-specific fields on BaseNode
pattern_typestringType
protocolstringCommunication protocol
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
2 edge types connected to this entity.
product_integrates_via_integration_patternbounded_context_integrates_via_integration_pattern