{"version":"0.2.0","built_at":"2026-10-10T20:58:14.188Z","license":"CC BY 4.0 © Mike Reams","canonical":"https://catalog.mikereams.com","capability":{"id":"BC-720.40","name":"Integration & API Delivery","level":2,"parent_id":"BC-720","l1_id":"BC-720","industry":"cross-industry","macro_id":"MC-70","path":["Application Delivery","Integration & API Delivery"],"description":"Connect applications to each other reliably — through interfaces, events and shared services — so data moves once, correctly, and the connections are known rather than discovered during an outage.","aliases":["Integration Development","API Delivery","Middleware"],"in_scope":["Interface and API build and versioning","Messaging and event flows","Integration platform configuration","Interface inventory and ownership"],"out_of_scope":["Integration patterns and standards (see BC-170)","Data pipeline engineering for analytics (see BC-750)"],"csdm_note":null,"status":"active","successor_id":null,"child_ids":["BC-720.40.10","BC-720.40.20","BC-720.40.30","BC-720.40.40"]},"crosswalk":{"realized_by":[{"product_id":"PR-160","product":"Jira","pc_id":"PC-160.70","pc":"Atlassian Marketplace and Integrations","maturity":"strong","via":null}],"used_in":[{"vs_id":"VS-80","vs":"Demand-to-Change","stage_id":"VS-80.40","stage":"Build & Test","order":4,"via":null}],"patterns":[{"id":"DP-010","name":"Circuit Breaker","category":"Resilience","via":null},{"id":"DP-020","name":"Retry with Backoff","category":"Resilience","via":null},{"id":"DP-060","name":"Queue-Based Load Leveling","category":"Scalability","via":"BC-720.40.20"},{"id":"DP-100","name":"Competing Consumers","category":"Scalability","via":"BC-720.40.20"},{"id":"DP-110","name":"API Gateway","category":"Integration","via":"BC-720.40.10"},{"id":"DP-120","name":"Backend for Frontend","category":"Integration","via":"BC-720.40.10"},{"id":"DP-130","name":"Publish-Subscribe","category":"Integration","via":"BC-720.40.20"},{"id":"DP-140","name":"Request-Reply","category":"Integration","via":"BC-720.40.20"},{"id":"DP-150","name":"Scatter-Gather","category":"Integration","via":"BC-720.40.20"},{"id":"DP-160","name":"Content-Based Router","category":"Integration","via":"BC-720.40.30"},{"id":"DP-170","name":"Claim Check","category":"Integration","via":"BC-720.40.20"},{"id":"DP-180","name":"Idempotent Consumer","category":"Integration","via":"BC-720.40.20"},{"id":"DP-200","name":"Anti-Corruption Layer","category":"Domain Modeling","via":"BC-720.40.10"},{"id":"DP-230","name":"Domain Events","category":"Domain Modeling","via":"BC-720.40.20"},{"id":"DP-280","name":"Saga","category":"Data","via":"BC-720.40.20"},{"id":"DP-290","name":"Transactional Outbox","category":"Data","via":"BC-720.40.20"}],"stacks":[{"id":"TS-020","name":"Event-driven microservices on Kubernetes","layer":"Event streaming","via":"BC-720.40.20"},{"id":"TS-060","name":"Enterprise integration layer","layer":"API & integration","via":null},{"id":"TS-090","name":"Serverless API on AWS","layer":"API & integration","via":"BC-720.40.10"}],"books":[{"id":"BK-building-microservices","title":"Building Microservices","topic":"Distributed systems","via":null},{"id":"BK-microservices-patterns","title":"Microservices Patterns","topic":"Distributed systems","via":null},{"id":"BK-enterprise-integration-patterns","title":"Enterprise Integration Patterns","topic":"Distributed systems","via":null}]},"ancestors":[{"id":"BC-720","name":"Application Delivery","level":1}],"children":[{"id":"BC-720.40.10","name":"API Design & Build","level":3,"child_count":0},{"id":"BC-720.40.20","name":"Event & Messaging Integration","level":3,"child_count":0},{"id":"BC-720.40.30","name":"Integration Platform Configuration","level":3,"child_count":0},{"id":"BC-720.40.40","name":"Interface Inventory","level":3,"child_count":0}]}