SlideShare a Scribd company logo
1 of 100
Download to read offline
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

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Enterprise Integration Patterns