SlideShare a Scribd company logo
Enterprise Integration
      patterns

           Johan Aludden
       Twitter: johanaludden
    Mail: me@johanaludden.com
  Blog: johanaludden.com/weblog
Integration styles




                     2
Integration styles
• File transfer




                               2
Integration styles
• File transfer
• Shared Database




                             2
Integration styles
• File transfer
• Shared Database
• Remote Procedure Invocation




                                2
Integration styles
• File transfer
• Shared Database
• Remote Procedure Invocation
• Messaging




                                2
Messaging




            3
Messaging
• Channels




                         3
Messaging
• Channels
• Messages




                         3
Producer Consumer




                    4
Producer Consumer
• Many producers - Many Consumers




                                    4
Producer Consumer
• Many producers - Many Consumers
• Message read once




                                    4
Producer Consumer
• Many producers - Many Consumers
• Message read once
• Load balancing




                                    4
Producer Consumer
• Many producers - Many Consumers
• Message read once
• Load balancing
• Parallelization




                                    4
Publish subscribe




                    5
Publish subscribe
• Many Producers - Many Consumers




                                    5
Publish subscribe
• Many Producers - Many Consumers
• Message read once per subscriber




                                     5
Publish subscribe
• Many Producers - Many Consumers
• Message read once per subscriber
• Broad casting




                                     5
Publish subscribe
• Many Producers - Many Consumers
• Message read once per subscriber
• Broad casting
• Different processing




                                     5
Channel Types
• Producer Consumer
• Publish Subscribe

      Common Properties
• Asynchronous
• One Way Communication


                          6
Document Message




                   7
Document Message
• Send information




                          7
Document Message
• Send information
• Receiver decides what to do




                                7
Document Message
• Send information
• Receiver decides what to do
• Single unit of data




                                7
Command Message




                  8
Command Message
• Send a command




                        8
Command Message
• Send a command
• Sender tells what to do




                            8
Command Message
• Send a command
• Sender tells what to do
• Single Unit of Work




                            8
Message Types
• Document message
• Command message




                         9
Common Patterns




                  10
You want to send a request
     and get a reply



                       11
11
Sender   Receiver




         11
Sender   Request   Receiver




                   11
Sender   Request   Receiver




                   11
Sender   Receiver




         11
Sender   Receiver




         11
Sender           Receiver




         Reply




                 11
Sender           Receiver




         Reply




                 11
Sender   Receiver




         11
Request
           ID: 2


Sender             Receiver




                   11
Request
           ID: 2


Sender             Receiver




                   11
Sender   Receiver




         11
Request
           ID: 3


Sender             Receiver




                   11
Request
           ID: 3


Sender             Receiver




                   11
Sender   Receiver




         11
Sender             Receiver




         Reply
           ID: 3




                   11
Sender             Receiver




         Reply
           ID: 3




                   11
Sender   Receiver




         11
Sender             Receiver




         Reply
           ID: 2




                   11
Sender             Receiver




         Reply
           ID: 2




                   11
Sender   Receiver




         11
Request - Reply



Sender                     Receiver




                           11
One message with parts that
can be handled individually



                       12
12
Sender   Receiver




          12
Sender   Receiver




          12
Message


Sender   Part 1    Receiver

         Part 2




                    12
Message


Sender   Part 1    Receiver

         Part 2




                    12
Part 1
Sender            Receiver
         Part 2




                   12
Part 1
Sender            Receiver
         Part 2




                   12
Part 1
Sender   Receiver
          Part 2




          12
Splitter


                     Part 1
Sender              Receiver
                     Part 2




                     12
Many Messages that needs to
   be handled together



                       13
13
Sender




         13
Sender   Receiver




          13
Sender   Receiver




          13
Part 1
Sender            Receiver




                   13
Part 1
Sender            Receiver
         Part 2




                   13
Part 1
Sender            Receiver
         Part 2




                   13
Part 1
Sender                     Receiver
         Part 2




                            13
Part 1
Sender            Receiver
         Part 2




                   13
Message
         Part 1
Sender             Receiver
         Part 2




                    13
Message
         Part 1
Sender             Receiver
         Part 2




                    13
Aggregator


                  Message
                  Part 1
Sender                      Receiver
                  Part 2




                             13
You have one entry point for
messages but they need to be
    handled by different
        processes


                        14
14
Receiver 1



Sender



         Receiver 2




          14
Receiver 1



Sender



         Receiver 2




          14
Router

                  Receiver 1



Sender



                  Receiver 2




                   14
The sender and the receiver
 does not speak the same
        language



                        15
15
Sender




         15
Sender   Receiver




          15
Sender   Receiver




          15
Translator



Sender                Receiver




                       15
You have messages that have
   the same semantic but
      different formats



                       16
16
Sender 1



           Receiver



Sender 2




            16
Sender 1            Translator



           Router                Receiver



Sender 2            Translator




                                  16
Normalizer

Sender 1            Translator



           Router                Receiver



Sender 2            Translator




                                  16
You want to send the same
 message to many but to
  handle the responses
        together


                      17
17
Service 1



Sender 1               Aggregator   Receiver



           Service 2




                                     17
Scatter Gather

            Service 1



Sender 1                Aggregator   Receiver



           Service 2




                                      17
Pipes & Filter
• Like Lego
• Combine different patterns




                               18
Other Patterns
• Resequencer
• Routing slip




                            19
Links
• Enterprise Integration Patterns site,
  http://www.eaipatterns.com/
• Book, http://www.amazon.com/
  Enterprise-Integration-Patterns-
  Designing-Deploying/dp/0321200683




                                   20
Questions?




             21

More Related Content

Similar to Enterprise Integration Patterns (20)

PDF
[FREE PDF sample] Enterprise Integration Patterns Designing Building and Depl...
nappioval
Ā 
PPT
Communication model
DIKSHA_LAHRANI
Ā 
PDF
Designing Distributed Systems
Dhananjay Singh
Ā 
PDF
Enterprise Integration Patterns Designing Building and Deploying Messaging So...
hgirexlnqo6644
Ā 
PPTX
communication system l2
MR Z
Ā 
PDF
HIPAA compliance statement
qliqSoft
Ā 
PPT
Week2.1
Digvijay Singh
Ā 
PDF
Why Messaging system?
Gurpreet singh
Ā 
PPT
Lecture application layer
Hasam Panezai
Ā 
PPT
Tcp ip
Akshay Nagpurkar
Ā 
PDF
Introduction to message_queue
Manfred Furuholmen
Ā 
PDF
Spring Integration and EIP Introduction
Iwein Fuld
Ā 
TXT
X.400
Sualeh Fatehi
Ā 
PPT
communication network
Abhishek Prasad
Ā 
PDF
Introduction to Diameter: The Evolution of Signaling
PT
Ā 
PDF
SMS
Sokunth Che
Ā 
ODP
Messaging and why do i care
Artem Bilan
Ā 
KEY
Spring integration motivation and history
Iwein Fuld
Ā 
PDF
Message Queues : A Primer - International PHP Conference Fall 2012
Mike Willbanks
Ā 
[FREE PDF sample] Enterprise Integration Patterns Designing Building and Depl...
nappioval
Ā 
Communication model
DIKSHA_LAHRANI
Ā 
Designing Distributed Systems
Dhananjay Singh
Ā 
Enterprise Integration Patterns Designing Building and Deploying Messaging So...
hgirexlnqo6644
Ā 
communication system l2
MR Z
Ā 
HIPAA compliance statement
qliqSoft
Ā 
Week2.1
Digvijay Singh
Ā 
Why Messaging system?
Gurpreet singh
Ā 
Lecture application layer
Hasam Panezai
Ā 
Introduction to message_queue
Manfred Furuholmen
Ā 
Spring Integration and EIP Introduction
Iwein Fuld
Ā 
X.400
Sualeh Fatehi
Ā 
communication network
Abhishek Prasad
Ā 
Introduction to Diameter: The Evolution of Signaling
PT
Ā 
Messaging and why do i care
Artem Bilan
Ā 
Spring integration motivation and history
Iwein Fuld
Ā 
Message Queues : A Primer - International PHP Conference Fall 2012
Mike Willbanks
Ā 

Recently uploaded (20)

PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
Ā 
PDF
The Future of Artificial Intelligence (AI)
Mukul
Ā 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
Ā 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
Ā 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
Ā 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
Ā 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
Ā 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
Ā 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
Ā 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
Ā 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
Ā 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
Ā 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
Ā 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
Ā 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
Ā 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
Ā 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
Ā 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
Ā 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
Ā 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
Ā 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
Ā 
The Future of Artificial Intelligence (AI)
Mukul
Ā 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
Ā 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
Ā 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
Ā 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
Ā 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
Ā 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
Ā 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
Ā 
Per Axbom: The spectacular lies of maps
Nexer Digital
Ā 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
Ā 
Market Insight : ETH Dominance Returns
CIFDAQ
Ā 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
Ā 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
Ā 
Brief History of Internet - Early Days of Internet
sutharharshit158
Ā 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
Ā 
introduction to computer hardware and sofeware
chauhanshraddha2007
Ā 
cloud computing vai.pptx for the project
vaibhavdobariyal79
Ā 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
Ā 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
Ā 
Ad

Enterprise Integration Patterns