Evolution 1: Design-Pattern {Point to Point (Message Oriented Middleware)}
N Applications imply (N/2)*(N-1) Interfaces
Integrates one Source to one Target Application
Applications are Tightly Coupled
Spaghetti Network Architecture
If there is change in one Application, then All the Interfaced Applications need to be Changed
Evolution 2: Design-Pattern {Event-driven (Publish/Subscribe)}
Event-driven Architecture
Subscribing Applications Register their interest in a specific Message Topic at the Broker
When a Message is Published by the Publishing Application, a Copy of the Message is Delivered to Interested Subscribers
Pub-Sub can be Content-based or Topic-based
De-couples Applications
This style is usually for one-way Messaging and when there are Many Subscribing Applications
Evolution 3: Design-Pattern {Message-driven (Hub & Spoke)}
The Spokes (Applications) Send and Receive Messages to / from the Hub (Broker)
The Broker is responsible for Routing and Transforming / Enriching the Message Sent to the Applications
De-couples Applications as Compared to Point-to-Point
Centralized Routing and Transformation
Single Hop (Source-Hub-Target)
Evolution 4: Design-Pattern {Service-driven (SOA/ESB)}
Centralized Routing and Transformation
Service Orchestration (MicroServices)
Asynchronous / Synchronous
One-Way / Request-Reply
Canonical
Protocol Conversion
De-coupled Applications
Multiple hops/ legsÂ
Evolution 5: Design-Pattern {Process-driven (API-Led Connectivity)}
eXperience(Channel), Process(Orchestration), System(Services)
De-centralized Routing and Transformation
Service Orchestration (MicroServices)
Process Choreography
Asynchronous / Synchronous
One-Way / Request-Reply
Canonical
De-coupled Applications
Multiple hops/ legs
Experience, Process and, System Layers
OpenAPI, Design, Create, Publish, Secure, Consume, Monitor
Evolution 6: Design-Pattern {Event-Stream (Producer/Consumer)}
Evolution 7: Design-Pattern {Composable}
Integration Types
Application Integration
Schedule, Parse, Filter, Map, Transform, Route, Aggregate, Format, Dispatch
Data Integration
Data-Sync: Batch-Processing, Near RealTime(CDC), Streaming
Data-Sourcing: Collect, Ingest, Store, Compute, Consume
Data-Processing: Validate, Filter, Clean, Enrich, Transform, Analyse
Integration Modes
Request/Reply [Transactional]
Webhook/Callback [Event Notifications]
Integration Security
User-Id | Password
SAML(XML) | OpenIdConnect(JWT)
Client-Id | Client-Secret
Integration Protocols
FTP | SFTP
MQ | JMS
Kafka | Flink
MQTT
ODBC | JDBC | OData
HTTP
SOAP
REST
AS2
GraphQL
gRCP
MCP
Integration Protocols
Fixed-Width
CSV | TDS | TLV
X12 | EDIFACT
FHIR
SWIFT | FIX
IDOC
XML
JSON
Integration Payloads
Integration Pipelines
Event Processing
Business Rules
Data Processing
CICD
Integration Components
Gateway | Proxies | Policies
Governance | Schema | Design
Documentation | Testing
Connectors | Flows
Gateway | Proxies | Policies
Governance | Schema | Design
Documentation | Testing
Connectors | Flows
Integration Tools
Gateway | Proxies | Policies
Governance | Schema | Design
Documentation | Testing
Connectors | Flows