Enterprise Integration Patterns in Cloud Platform Integration (EIPinCPI)

December 15, 2019 Bhalchandra Wadekar

Hi SAP Community,

 

I want to contribute more to the SAP Community. Here’s an idea: why not blog about 65 integration patterns explained in Enterprise Integration Patterns book by Gregor Hohpe and Bobby Woolf and their implementation in SAP Cloud Platform Integration.

 

So, my resolution for 2020 is to blog about Enterprise Integration Patterns in Cloud Platform Integration. I aim to post a blog about an integration pattern every Sunday. I will call this project EIPinCPI. You can easily follow blogs in this series by following the tag EIPinCPI. Maybe, not all of the patterns can be implemented in CPI, maybe some of them can only be implemented partially, I’ll try my best to inform the same in my blogs.

 

Here’s the table of integration patterns [1]. I’ll link to individual blogs as I write them:

 

Message Construction

Message Routing

Message Transformation

Messaging Endpoints

Messaging Channels

System Management

Message

Pipes-and-Filters

Message Translator

Message Endpoint

Message Channel

Control Bus

Command Message

Message Router

Envelope Wrapper

Messaging Gateway

Point-to-Point Channel

Detour

Document Message

Content-based Router

Content Enricher

Messaging Mapper

Publish-Subscribe Channel

Wire Tap

Event Message

Message Filter

Content Filter

Transactional Client

Datatype Channel

Message History

Request-Reply

Dynamic Router

Claim Check

Polling Consumer

Invalid Message Channel

Message Store

Return Address

Recipient List

Normalizer

Event-driven Consumer

Dead Letter Channel

Smart Proxy

Correlation Identifier

Splitter

Canonical Data Model

Competing Consumers

Guaranteed Delivery

Test Message

Message Sequence

Aggregator

 

Message Dispatcher

Channel Adapter

Channel Purger

Message Expiration

Resequencer

 

Selective Consumer

Messaging Bridge

 

Format Indicator

Composed Message Processor

 

Durable Subscriber

Message Bus

 
 

Scatter-Gather

 

Idempotent Receiver

   
 

Routing Slip

 

Service Activator

   
 

Process Manager

       
 

Message Broker

       

 

 

Why Patterns?

Now that we have index out of the way, let us explore a little bit about reasons to use Enterprise Integration Patterns (This paragraph is based on “Why Enterprise Integration Patterns?” paragraph in the book Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf) [1]:

 

  1. Patterns are accepted solutions to recurring problems, for example,

    • How can I add information from the third party before sending the message to a receiver system? The answer is simple – use the ‘Content Enricher’ pattern.

    • I need to send orders to two systems – A and B. However, system A only requires the order if the order costs over £500. How can I achieve this? The answer is simple – use the ‘Message Router’ pattern.

  2. Patterns are abstract, i.e., you can apply patterns in SAP Cloud Platform Integration as well as SAP Process Integration and many other integration tools available in the market

  3. Patterns provide a vocabulary to efficiently describe the solution like used above in point number 1.

 

I hope you are excited to know more about individual patterns and see how to implement them in CPI.

 

EIPinCPI Rating

EIPinCPI rating indicates how well a given pattern is supported in CPI (Credits: Owen Pettiford and Daniel Graversen). From the Selective Consumer pattern, EIPinCPI rating is added.

 

Hope this helps,
Bala 

 

References/Further Readings

  1. Messaging Patterns Overview: https://www.enterpriseintegrationpatterns.com/patterns/messaging/

  2. SAP’s Guidelines to Implement Specific Integration Patterns

  3. Integration Flow Design Guidelines – Enterprise Integration Patterns on API Business Hub

About the Author

Bhalchandra Wadekar

Bhalchandra Wadekar is an Integration Enthusiast who authored the Enterprise Integration Patterns in SAP Cloud Platform Integration (#EIPinCPI) series on SAP Blog Community. He is a fan of integration from API Management and Open Connectors to Message Based Integration and Data Integration.

More Content by Bhalchandra Wadekar
Previous Article
EIPinCPI – Message
EIPinCPI – Message

Next Article
EIPinCPI – Envelope Wrapper
EIPinCPI – Envelope Wrapper