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

PDF
Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery...
PDF
Lecture9
PPSX
Extending Openstack Horizon for multi cloud management
DOCX
Informatica
PDF
Business application architecture in modern multi-cloud environment / Microso...
PDF
Continues Integration
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery...
Lecture9
Extending Openstack Horizon for multi cloud management
Informatica
Business application architecture in modern multi-cloud environment / Microso...
Continues Integration
2024 Trend Updates: What Really Works In SEO & Content Marketing
Storytelling For The Web: Integrate Storytelling in your Design Process

Recently uploaded (20)

PPTX
Machine Learning_overview_presentation.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
Teaching material agriculture food technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Machine Learning_overview_presentation.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf
Teaching material agriculture food technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Empathic Computing: Creating Shared Understanding
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Big Data Technologies - Introduction.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Encapsulation_ Review paper, used for researhc scholars
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Ad
Ad

Enterprise Integration Patterns