integrationpatternsdecision frameworkAPI

Integration Patterns and Decision Framework

This post offers a step-by-step guide to help IT architects choose the right integration patterns for their project requirements. It connects different business scenarios and network boundaries to recommended technical solutions, including APIs, middleware, and file transfers.

David TirabassiUpdated
Enterprise/Solution Architect · Almost 30 years' experience, specialising in integration · TOGAF 9.1 certifiedLinkedInGitHub

How the framework chooses a pattern

Choosing an integration pattern is a short series of questions, asked in an order that stops you building what already exists and keeps the security boundary in view from the start. The wizard below walks through them; the full article explains the reasoning behind each.

  1. Capture the requirements. The data's classification, the volume and how quickly it has to arrive.
  2. Check what already exists. If an API or service in the catalogue already does the job, reuse it rather than build another integration.
  3. Name the boundary. Internal, external (crossing the perimeter to partners or customers) or cloud/SaaS. It decides the security controls the pattern must carry.
  4. Decide the interaction style. Does the caller need an immediate response? Then it is synchronous. If not, do several consumers need the same data? Then it is event-driven; otherwise it is batch.
  5. Pick the platform component. The interaction style narrows the choice, from API management to event streaming or file transfer, but doesn't make it for you. Several components fit each style.
  6. Read the pattern. The component and the boundary together name one pattern in the library, with its diagram, trade-offs and security controls.

Integration Decision Framework

Follow the progressive decision steps below to select the optimal solution patterns.

Step 1 of 6
Phase 1

Capture Interface Requirements

High-level parameters are necessary to evaluate technical patterns and eliminate architecture rework.