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.
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.
- Capture the requirements. The data's classification, the volume and how quickly it has to arrive.
- Check what already exists. If an API or service in the catalogue already does the job, reuse it rather than build another integration.
- Name the boundary. Internal, external (crossing the perimeter to partners or customers) or cloud/SaaS. It decides the security controls the pattern must carry.
- 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.
- 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.
- 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.
Capture Interface Requirements
High-level parameters are necessary to evaluate technical patterns and eliminate architecture rework.
Solution Decision Framework
Software engineering has traditionally used software design patterns as reusable solutions to a commonly occurring problems. The Enterprise Integration Patterns (https://www.enterpriseintegrationpatterns.com/) are well known in the integration domain.
This solution decision framework guides an architect in selecting the most appropriate end to end solution patterns that make use of the integration platform components to solve common integration scenarios.
To determine the most appropriate integration solution pattern and platform components to meet the business requirement follow the solution decision framework below.
Requirements – Basic integration requirements must be captured to select the correct pattern.
Reuse – Check if there is an existing integration service that can satisfy the requirements
Boundaries – Across which boundaries will the integration take place?
Interaction – What style of interaction is required?
Platform – What is the most appropriate platform component to implement the solution?
Solution – Select an approved patterned based on the analysis.
Requirements
The following high-level integration requirements must be analyzed and captured to inform the integration solution design:
Service Purpose: Define the real-world business outcome. Example: Electronically transmitting a purchase order to an external supplier.
Business Capability: Identify the broader function, process, or capability this integration enables or orchestrates. Example: Procurement-to-pay.
Information Entities: Specify the logical data objects being exchanged, ideally mapped to a common vocabulary or Enterprise Information Model. Example: Customer, Invoice, Product.
Volume and Frequency: Define the expected data throughput and execution schedules. Example: Daily batch of 10,000 records, or 1 request per minute per device.
Consumer Cardinality: Quantify the number of downstream systems or end-users consuming this integration. Example: 500 mobile field-worker applications.
Provider Cardinality: Identify the source systems supplying the data. Example: Customer data aggregated from two distinct CRM platforms.
Trigger Mechanisms: Define what initiates the integration flow and when it executes. Example: Event-driven (real-time on employee update) or scheduled (nightly batch extract at 9:00 PM).
Network and Security Boundaries: Map the physical or logical locations of the participants to identify network boundaries. Example: Internal corporate network, cloud VPC, or external third-party SaaS.
Interaction Styles: Determine the required communication pattern, such as synchronous request/response, asynchronous publish/subscribe, or bulk batch.
Technology Stack Capabilities: Identify the native integration protocols and transport mechanisms supported by the endpoints, including messaging protocols (HTTP, JMS) or native integration adapters (Salesforce, Snowflake).
Data Classification: Classify the sensitivity of the data in transit (e.g., Public, Restricted Financials, PII) to drive compliance, encryption, and security controls.
If the above high-level integration requirements are not known at the time of analyse then there is a risk of rework due to an incorrect pattern being selected. Implementation estimates should be increased to reflect the level of uncertainty.
Reuse
An API and Service Catalogue is a structured repository or database that contains detailed information about the various APIs and services available within an organization or across multiple systems.
Search the API and Service Catalogue for existing services which can be reused to meet the integration requirements captured above.
If a service is found which partial meets the requirements investigate creating a new version of the service which is expanded to meet the new requirements. If no suitable service can be found continue the solution framework to determine the recommended end to end solution pattern for the new service.
Boundaries
The boundaries that the integration crosses must be understood. Please choose an interaction pattern from the table below.
Title | Description | Context Diagram |
Subsystem | Between components within a system | |
Internal | Between internal systems within the same organisation (the application is hosted on a network controlled by the organisation) | |
External | With an external system (the application is hosted on a network not controlled by the organisation e.g. SaaS applications) | |
Cloud | Between external systems (Cloud to cloud) e.g., ServiceNow to Salesforce |
Interaction
The integration interaction style between consumers and providers must be understood. Please choose an interaction styles from the table below. The overall end to end interaction style should be considered as per the requirements captured above. Composite interactions are one or more of the interactions styles aggregated together.
Interaction Style (ID & Name) | Business Context | Key Characteristics | Examples |
SyncReqResp Synchronous Request Response | Process cannot proceed without immediate knowledge of the outcome. | The client blocks and waits for an instantaneous, real-time response from the provider. | Real-time address validation, payment authorization. |
AsyncReqResp Asynchronous Request Response | Process can continue immediately, but requires a definitive outcome or update later. | Client and provider are decoupled; the provider processes the request later and delivers a delayed response. | Purchase order submission followed by an asynchronous fulfillment confirmation. |
PubSub Publish Subscribe | An event or business update needs to be broadcasted to multiple independent applications. | Publishers broadcast messages without knowing the recipients; message brokers can hold data until subscribers consume it. | Master data updates (e.g., site records) broadcasted to downstream replica systems. |
BatchData Batch Data Processing | Bulk transfer of high-volume data is required periodically to align system activities. | One system produces a massive dataset that another system ingests via scheduled, bulk data transfers. | Nightly product catalog synchronization, ETL data pipeline ingestion. |
Composite Composite Service | A complex business activity requires aggregating data or actions from multiple distinct services. | Orchestrates or choreographs multiple granular services into a single, unified workflow. | Comprehensive customer lookup (e.g., searching for duplicates across multiple databases before creating a record). |
Integration Pattern Decision Matrix
Use the Interaction Style selection matrix below to determine the appropriate interaction style:
Consumer Requires Response? | Immediate Response Needed? | Multiple Providers Involved? | Payload Size | Target Interaction Style (ID & Name) |
Yes | Yes | Yes | < 1 MB | Composite Composite Service (Sync Request-Response) |
Yes | Yes | No | < 1 MB | SyncReqResp Synchronous Request Response |
Yes | No | Yes | < 1 MB | Composite Composite Service (Async Request-Response) |
Yes | No | No | < 1 MB | AsyncReqResp Asynchronous Request Response |
No | N/A | Yes | < 1 MB | Composite Composite Service (Publish Subscribe) |
No | N/A | No | < 1 MB | PubSub Publish Subscribe |
Yes / No | N/A | Yes | > 1 MB | Composite Composite Service (Batch Data Processing) |
Yes / No | N/A | No | > 1 MB | BatchData Batch Data Processing |
Yes | Yes | N/A | > 1 MB | 🛑 Exception Try to reduce data set size |
Integration Platform Component
Use the component list below to match the business requirements of the new integration service with the key characteristics of each Integration Platform component to determine the appropriate platform to implement the integration solution.
Component | When to Choose (Triggers) | Key Capabilities / Patterns |
Manual Manual / Ad-hoc Transfer | Low frequency/volume; automation costs exceed lifetime value. | Human-driven data handling; zero infra cost. |
Middleware Middleware Services (ESB) | Near real-time integration; requires asynchronous queue/topic messaging. | Protocol mediation, format transformation, rules-based routing. |
APIM API Management | Using web APIs (REST/SOAP); backend requires traffic protection. | Throttling/rate-limiting; security policies (OAuth, API keys). |
ETL ETL / Batch Processing | High-volume bulk data moving between datastores on a schedule. | Bulk mapping; resilient checkpointing (resume on interrupt). |
CDC Change Data Capture (CDC) | Near real-time database sync (<15-min delta windows); legacy DBs. | Database log sniffing; data delta synchronization. |
SFT Secure File Transfer (SFT) | Secure, resilient bulk file transfers (XML, CSV, binaries) needed. | SFTP/FTPS protocols; automated retry and resume. |
MDM Master Data Management (MDM) | Organization requires a single "golden record" for core reference data. | Registry, Consolidation, Coexistence; Data Federation/Propagation. |
ESP Event Streaming | High-frequency events (thousands/sec); real-time stream analytics. | Stream filtering, aggregation; immutable log event replay. |
Workflow Workflow & Orchestration | Multi-step business process requiring tracking and task coordination. | Orchestration (BPM), Central Rules (BRMS), Choreography. |
AIML AI / ML Integration | Logic requires intelligent runtime decisions or pipeline data harvesting. | Operational data capturing; real-time model inference. |
Native Native / Connector Integration | OOTB connectors exist directly within a SaaS or enterprise application. | Pre-built vendor connector suites; accelerated delivery. |
Solution Selection
After capturing the high-level requirements of the Integration solution, verifying there is no existing service which can be reused and a new integration component may need to be built.
Using a combination of the name of the integration boundaries, interaction style and integration method selected above to determine the appropriate End to End Integration pattern.

For example, an interface has the following responses to the decision framework:
Boundary | Interaction | Platform Component | Solution Id |
Internal | SyncReqResp | Middleware Services (ESB) | — |
The Solution Id would be Internal-SyncReqResp-Middleware.
The table below contains a full list of end to end solution pattern. Using the decision framework above to determine the solution details and map them to a solution pattern name. The solution pattern selected may not be a recommended combination, the list will provide alternative recommendations. Details for each Solution pattern can be found in the next section.
Boundary | Interaction | Platform Component | Solution Id | Solution Pattern Name | Comments |
SubSystem | SyncReqResp | Manual / Ad-hoc Transfer | — | N/A | Not valid for synchronous interactions |
SubSystem | SyncReqResp | Middleware Services (ESB) | int-middleware-internal | ||
SubSystem | SyncReqResp | API Management | int-api-internal | ||
SubSystem | SyncReqResp | ETL / Batch Processing | — | N/A | Not valid for synchronous interactions |
SubSystem | SyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for synchronous interactions |
SubSystem | SyncReqResp | Secure File Transfer (SFT) | — | N/A | Not valid for synchronous interactions |
SubSystem | SyncReqResp | Master Data Management (MDM) | int-mdm-internal | ||
SubSystem | SyncReqResp | Event Streaming | int-esp-internal | Asynchronous processing is preferred for event streaming, a synchronous API using middleware may be better solution | |
SubSystem | SyncReqResp | Workflow & Orchestration | int-workflow-internal | ||
SubSystem | SyncReqResp | AI / ML Integration | int-aiml-internal | ||
SubSystem | SyncReqResp | Native / Connector Integration | int-native-internal | ||
SubSystem | AsyncReqResp | Manual / Ad-hoc Transfer | int-manual-internal | ||
SubSystem | AsyncReqResp | Middleware Services (ESB) | int-middleware-internal | ||
SubSystem | AsyncReqResp | API Management | int-api-internal | ||
SubSystem | AsyncReqResp | ETL / Batch Processing | — | N/A | Consider managing data between components in the same application in the application services |
SubSystem | AsyncReqResp | Change Data Capture (CDC) | — | N/A | Consider managing data between components in the same application in the application services |
SubSystem | AsyncReqResp | Secure File Transfer (SFT) | — | N/A | Consider managing data between components in the same application in the application services |
SubSystem | AsyncReqResp | Master Data Management (MDM) | int-mdm-internal | ||
SubSystem | AsyncReqResp | Event Streaming | int-esp-internal | ||
SubSystem | AsyncReqResp | Workflow & Orchestration | int-workflow-internal | ||
SubSystem | AsyncReqResp | AI / ML Integration | int-aiml-internal | ||
SubSystem | AsyncReqResp | Native / Connector Integration | int-native-internal | ||
SubSystem | PubSub | Manual / Ad-hoc Transfer | int-manual-internal | ||
SubSystem | PubSub | Middleware Services (ESB) | int-middleware-internal | ||
SubSystem | PubSub | API Management | int-api-internal | ||
SubSystem | PubSub | ETL / Batch Processing | — | N/A | Not valid for publish subscribe interactions, consider middleware or CDC |
SubSystem | PubSub | Change Data Capture (CDC) | int-cdc-internal | ||
SubSystem | PubSub | Secure File Transfer (SFT) | — | N/A | Not valid for publish subscribe interactions |
SubSystem | PubSub | Master Data Management (MDM) | int-mdm-internal | ||
SubSystem | PubSub | Event Streaming | int-esp-internal | ||
SubSystem | PubSub | Workflow & Orchestration | int-workflow-internal | ||
SubSystem | PubSub | AI / ML Integration | int-aiml-internal | ||
SubSystem | PubSub | Native / Connector Integration | int-native-internal | ||
SubSystem | BatchData | Manual / Ad-hoc Transfer | int-manual-internal | ||
SubSystem | BatchData | Middleware Services (ESB) | int-middleware-internal | ||
SubSystem | BatchData | API Management | int-api-internal | API must be designed carefully when dealing with large data sets, consider paging the data and throttling limits | |
SubSystem | BatchData | ETL / Batch Processing | int-etl-internal | ||
SubSystem | BatchData | Change Data Capture (CDC) | int-cdc-internal | Consider small batches | |
SubSystem | BatchData | Secure File Transfer (SFT) | int-filetransfer-internal | ||
SubSystem | BatchData | Master Data Management (MDM) | int-mdm-internal | ||
SubSystem | BatchData | Event Streaming | int-esp-internal | Event stream is not valid for large data sets the data needs to either be broken up or references to the location of the passed | |
SubSystem | BatchData | Workflow & Orchestration | int-workflow-internal | ||
SubSystem | BatchData | AI / ML Integration | int-aiml-internal | ||
SubSystem | BatchData | Native / Connector Integration | int-native-internal | ||
Internal | SyncReqResp | Manual / Ad-hoc Transfer | — | N/A | Not valid for synchronous interactions |
Internal | SyncReqResp | Middleware Services (ESB) | int-middleware-internal | ||
Internal | SyncReqResp | API Management | int-api-internal | ||
Internal | SyncReqResp | ETL / Batch Processing | — | N/A | Not valid for synchronous interactions |
Internal | SyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for synchronous interactions |
Internal | SyncReqResp | Secure File Transfer (SFT) | — | N/A | Not valid for synchronous interactions |
Internal | SyncReqResp | Master Data Management (MDM) | int-mdm-internal | ||
Internal | SyncReqResp | Event Streaming | int-esp-internal | Asynchronous processing is preferred for event streaming, a synchronous API using middleware may be better solution | |
Internal | SyncReqResp | Workflow & Orchestration | int-workflow-internal | ||
Internal | SyncReqResp | AI / ML Integration | int-aiml-internal | ||
Internal | SyncReqResp | Native / Connector Integration | int-native-internal | ||
Internal | AsyncReqResp | Manual / Ad-hoc Transfer | int-manual-internal | ||
Internal | AsyncReqResp | Middleware Services (ESB) | int-middleware-internal | ||
Internal | AsyncReqResp | API Management | int-api-internal | ||
Internal | AsyncReqResp | ETL / Batch Processing | int-etl-internal | Consider middleware over ETL for asynchronous interactions | |
Internal | AsyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for asynchronous request reply, consider middleware |
Internal | AsyncReqResp | Secure File Transfer (SFT) | int-filetransfer-internal | ||
Internal | AsyncReqResp | Master Data Management (MDM) | int-mdm-internal | ||
Internal | AsyncReqResp | Event Streaming | int-esp-internal | ||
Internal | AsyncReqResp | Workflow & Orchestration | int-workflow-internal | ||
Internal | AsyncReqResp | AI / ML Integration | int-aiml-internal | ||
Internal | AsyncReqResp | Native / Connector Integration | int-native-internal | ||
Internal | PubSub | Manual / Ad-hoc Transfer | int-manual-internal | ||
Internal | PubSub | Middleware Services (ESB) | int-middleware-internal | ||
Internal | PubSub | API Management | int-api-internal | ||
Internal | PubSub | ETL / Batch Processing | — | N/A | Not valid for publish subscribe interactions, consider middleware or CDC |
Internal | PubSub | Change Data Capture (CDC) | int-cdc-internal | ||
Internal | PubSub | Secure File Transfer (SFT) | — | N/A | Not valid for publish subscribe interactions |
Internal | PubSub | Master Data Management (MDM) | int-mdm-internal | ||
Internal | PubSub | Event Streaming | int-esp-internal | ||
Internal | PubSub | Workflow & Orchestration | int-workflow-internal | ||
Internal | PubSub | AI / ML Integration | int-aiml-internal | ||
Internal | PubSub | Native / Connector Integration | int-native-internal | ||
Internal | BatchData | Manual / Ad-hoc Transfer | int-manual-internal | ||
Internal | BatchData | Middleware Services (ESB) | int-middleware-internal | ||
Internal | BatchData | API Management | int-api-internal | API must be designed carefully when dealing with large data sets, consider paging the data and throttling limits | |
Internal | BatchData | ETL / Batch Processing | int-etl-internal | ||
Internal | BatchData | Change Data Capture (CDC) | int-cdc-internal | Consider small batches | |
Internal | BatchData | Secure File Transfer (SFT) | int-filetransfer-internal | ||
Internal | BatchData | Master Data Management (MDM) | int-mdm-internal | ||
Internal | BatchData | Event Streaming | int-esp-internal | Event stream is not valid for large data sets the data needs to either be broken up or references to the location of the passed | |
Internal | BatchData | Workflow & Orchestration | int-workflow-internal | ||
Internal | BatchData | AI / ML Integration | int-aiml-internal | ||
Internal | BatchData | Native / Connector Integration | int-native-internal | ||
External | SyncReqResp | Manual / Ad-hoc Transfer | — | N/A | Not valid for synchronous interactions |
External | SyncReqResp | Middleware Services (ESB) | int-middleware-external | ||
External | SyncReqResp | API Management | int-api-external | ||
External | SyncReqResp | ETL / Batch Processing | — | N/A | Not valid for synchronous interactions |
External | SyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for synchronous interactions |
External | SyncReqResp | Secure File Transfer (SFT) | — | N/A | Not valid for synchronous interactions |
External | SyncReqResp | Master Data Management (MDM) | int-mdm-external | ||
External | SyncReqResp | Event Streaming | int-esp-external | ||
External | SyncReqResp | Workflow & Orchestration | int-workflow-external | ||
External | SyncReqResp | AI / ML Integration | int-aiml-external | ||
External | SyncReqResp | Native / Connector Integration | int-native-external | ||
External | AsyncReqResp | Manual / Ad-hoc Transfer | int-manual-external | ||
External | AsyncReqResp | Middleware Services (ESB) | int-middleware-external | ||
External | AsyncReqResp | API Management | int-api-external | ||
External | AsyncReqResp | ETL / Batch Processing | int-etl-external | May need to be used in conjuction with another component like Secure File Transfer to mange Batch Data | |
External | AsyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for asynchronous request reply, consider middleware |
External | AsyncReqResp | Secure File Transfer (SFT) | int-filetransfer-external | ||
External | AsyncReqResp | Master Data Management (MDM) | int-mdm-external | ||
External | AsyncReqResp | Event Streaming | int-esp-external | ||
External | AsyncReqResp | Workflow & Orchestration | int-workflow-external | ||
External | AsyncReqResp | AI / ML Integration | int-aiml-external | ||
External | AsyncReqResp | Native / Connector Integration | int-native-external | ||
External | PubSub | Manual / Ad-hoc Transfer | int-manual-external | ||
External | PubSub | Middleware Services (ESB) | int-middleware-external | ||
External | PubSub | API Management | int-api-external | ||
External | PubSub | ETL / Batch Processing | — | N/A | Not valid for publish subscribe interactions, consider middleware or CDC |
External | PubSub | Change Data Capture (CDC) | int-cdc-external | ||
External | PubSub | Secure File Transfer (SFT) | — | N/A | Not valid for publish subscribe interactions |
External | PubSub | Master Data Management (MDM) | int-mdm-external | ||
External | PubSub | Event Streaming | int-esp-external | ||
External | PubSub | Workflow & Orchestration | int-workflow-external | ||
External | PubSub | AI / ML Integration | int-aiml-external | ||
External | PubSub | Native / Connector Integration | int-native-external | ||
External | BatchData | Manual / Ad-hoc Transfer | int-manual-external | ||
External | BatchData | Middleware Services (ESB) | int-middleware-external | ||
External | BatchData | API Management | int-api-external | API must be designed carefully when dealing with large data sets, consider paging the data and throttling limits | |
External | BatchData | ETL / Batch Processing | int-etl-external | ||
External | BatchData | Change Data Capture (CDC) | int-cdc-external | Consider small batches | |
External | BatchData | Secure File Transfer (SFT) | int-filetransfer-external | ||
External | BatchData | Master Data Management (MDM) | int-mdm-external | ||
External | BatchData | Event Streaming | int-esp-external | Event stream is not valid for large data sets the data needs to either be broken up or references to the location of the passed | |
External | BatchData | Workflow & Orchestration | int-workflow-external | ||
External | BatchData | AI / ML Integration | int-aiml-external | ||
External | BatchData | Native / Connector Integration | int-native-external | ||
Cloud | SyncReqResp | Manual / Ad-hoc Transfer | — | N/A | Not valid for synchronous interactions |
Cloud | SyncReqResp | Middleware Services (ESB) | int-middleware-cloud | ||
Cloud | SyncReqResp | API Management | int-api-cloud | ||
Cloud | SyncReqResp | ETL / Batch Processing | — | N/A | Not valid for synchronous interactions |
Cloud | SyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for synchronous interactions |
Cloud | SyncReqResp | Secure File Transfer (SFT) | — | N/A | Not valid for synchronous interactions |
Cloud | SyncReqResp | Master Data Management (MDM) | int-mdm-cloud | ||
Cloud | SyncReqResp | Event Streaming | int-esp-cloud | Asynchronous processing is preferred for event streaming, a synchronous API using middleware may be better solution | |
Cloud | SyncReqResp | Workflow & Orchestration | int-workflow-cloud | ||
Cloud | SyncReqResp | AI / ML Integration | int-aiml-cloud | ||
Cloud | SyncReqResp | Native / Connector Integration | int-native-cloud | ||
Cloud | AsyncReqResp | Manual / Ad-hoc Transfer | int-manual-cloud | ||
Cloud | AsyncReqResp | Middleware Services (ESB) | int-middleware-cloud | ||
Cloud | AsyncReqResp | API Management | int-api-cloud | ||
Cloud | AsyncReqResp | ETL / Batch Processing | int-etl-cloud | ||
Cloud | AsyncReqResp | Change Data Capture (CDC) | — | N/A | Not valid for asynchronous request reply, consider middleware |
Cloud | AsyncReqResp | Secure File Transfer (SFT) | int-filetransfer-cloud | ||
Cloud | AsyncReqResp | Master Data Management (MDM) | int-mdm-cloud | ||
Cloud | AsyncReqResp | Event Streaming | int-esp-cloud | ||
Cloud | AsyncReqResp | Workflow & Orchestration | int-workflow-cloud | ||
Cloud | AsyncReqResp | AI / ML Integration | int-aiml-cloud | ||
Cloud | AsyncReqResp | Native / Connector Integration | int-native-cloud | ||
Cloud | PubSub | Manual / Ad-hoc Transfer | int-manual-cloud | ||
Cloud | PubSub | Middleware Services (ESB) | int-middleware-cloud | ||
Cloud | PubSub | API Management | int-api-cloud | ||
Cloud | PubSub | ETL / Batch Processing | — | N/A | Not valid for publish subscribe interactions, consider middleware or CDC |
Cloud | PubSub | Change Data Capture (CDC) | int-cdc-cloud | ||
Cloud | PubSub | Secure File Transfer (SFT) | — | N/A | Not valid for publish subscribe interactions |
Cloud | PubSub | Master Data Management (MDM) | int-mdm-cloud | ||
Cloud | PubSub | Event Streaming | int-esp-cloud | ||
Cloud | PubSub | Workflow & Orchestration | int-workflow-cloud | ||
Cloud | PubSub | AI / ML Integration | int-aiml-cloud | ||
Cloud | PubSub | Native / Connector Integration | int-native-cloud | ||
Cloud | BatchData | Manual / Ad-hoc Transfer | int-manual-cloud | ||
Cloud | BatchData | Middleware Services (ESB) | int-middleware-cloud | ||
Cloud | BatchData | API Management | int-api-cloud | API must be designed carefully when dealing with large data sets, consider paging the data and throttling limits | |
Cloud | BatchData | ETL / Batch Processing | int-etl-cloud | ||
Cloud | BatchData | Change Data Capture (CDC) | int-cdc-cloud | Consider small batches | |
Cloud | BatchData | Secure File Transfer (SFT) | int-filetransfer-cloud | ||
Cloud | BatchData | Master Data Management (MDM) | int-mdm-cloud | ||
Cloud | BatchData | Event Streaming | int-esp-cloud | Event stream is not valid for large data sets the data needs to either be broken up or references to the location of the passed | |
Cloud | BatchData | Workflow & Orchestration | int-workflow-cloud | ||
Cloud | BatchData | AI / ML Integration | int-aiml-cloud | ||
Cloud | BatchData | Native / Connector Integration | int-native-cloud |
Solution Pattern Catalogue
The Pattern Library contains the details of the solution patterns, each pattern provides details such as:
a problem description of he challenge that needs to be solved.
a description of the solution.
guidelines that describe how the solution should be implemented on the integration platform components.
guidelines that describe how security should be enforced.
a diagram showing the flow through platform components.
The patterns consider commonly used security zones as follows:
Trusted Zone – is a zone where the organisation has full control this is typically where business applications and data are hosted.
Semi-Trusted (DMZ) – is a typical Demilitarised zone between the Untrusted zone and the Trusted zone where external connections are terminated on a gateway or proxy, the connections is validated before a new connection is created going into the trusted zone. Semi-Trusted zones may also be used for networks controlled by another organisation on behalf of the organisation e.g. cloud SaaS application.
Untrusted Zone – is a zone where the organisation has no little to no control like the internet.
Available Solution Patterns
You can find the detailed architectural designs, security controls, cloud-agnostic paradigms, and interactive SVG diagrams for each pattern in the library below:
- API Management:
- Event Streaming:
- Middleware Services (ESB):
- Secure File Transfer (SFT):
- Change Data Capture (CDC):
- ETL / Batch Processing:
- Master Data Management (MDM):
- Workflow & Orchestration:
- Native / Connector Integration:
- AI / ML Integration:
- Manual / Ad-hoc Transfer: