SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Spring Integration


                                     Connecting Enterprise Applications




Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Topics in this session


          •       Introduction to Spring Integration
          •       Spring Integration Compared
          •       Enterprise Integration Patterns
          •       Examples and demos
          •       Summary and questions




                                                                                                                     2
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
The synchronous breakdown


          • A customer orders a coffee
                   – and waits
          • The waiter walks to the barista and
            passes the order
                   – and waits
          • The barista walks to the coffee machine
                   – and waits
          • How about the next customer?



                                                                                                                     3
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
What is Messaging?


     How can multiple agents work
     together?...

     ...without being in each others way.



     Waiter helps customer and cook to
     collaborate.




                                                                                                                     4
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Characteristics of
   Messaging
     Transport
     The waiter takes an order and moves it to the barista


    Asynchronous
    Different actors do different things in parallel


     Translation
     menu item => number => recipe


    Routing
    Orders arrive back at the proper table



                                                                                                                     5
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Why messaging (1/4)
    Loose coupling




                                                                                                                     6
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Why Messaging? (2/4)
    Performance




                                                                                                                     7
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Why Messaging? (3/4)
     Flexibility




                                                                                                                     8
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Why Messaging? (4/4)
    Interception and filtering




                                                                                                                     9
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Spring Integration




                                                                                                                     10
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Hello world
<service-activator input-channel=quot;inputChannelquot;
          default-output-channel=quot;outputChannelquot;
          ref=quot;helloServicequot;
          method=quot;sayHelloquot;/>

<beans:bean id=quot;helloServicequot; class=quot;...HelloServicequot;/>




                                                      public class HelloService {
                                                        public String sayHello(String name) {
                                                          return quot;Hello quot; + name;
                                                        }
                                                      }


                                                                                                                     11
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Hello world
                   inputChannel =
                     context.getBean(quot;inputChannelquot;);
                   outputChannel =
                     context.getBean(quot;outputChannelquot;);

                   inputChannel.send(new StringMessage(quot;Worldquot;));
                   System.out.println(
                     outputChannel.receive().getPayload());

                                                               $ java HelloWorldDemo
                                                               Hello World




                                                                                                                     12
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Channels

         <channel id=quot;incomingquot;/>

         <channel id=quot;orderedNotificationsquot;>
             <queue capacity=quot;10quot;/>
         </channel>




                                                                                                                     13
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Channels




                                                                                                                     14
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
MessageEndpoints

MessageEndpoints are the knots that tie applications
to the integration solution.


                                                                                   MessageEndpoint




                                                                                                 Channel
                                                Sender                                                                Receiver
                                               Application                                                           Application



                                                                                                                                   15
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Missing link



                                   Invoked by Sender                                                       Who is responsible?




                                                                                       Channel
                                      Sender                                                                          Receiver
                                     Application                                                                     Application




                                                                                                                                   16
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
The Poller

                                                                     A Message Bus enables separate applications
                                                                     to work together, but in a decoupled fashion
                                                                     such that applications can be easily added or
                                                                     removed without affecting the others.




                                                                                                          <poller default=quot;truequot;/>
    In Spring Integration:

    you don't need to worry about it



                                                                                                                             17
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Topics in this session


          •       Introduction to Spring Integration
          •       Comparing Spring Integration to others
          •       Enterprise Integration Patterns
          •       Examples and demos
          •       Summary and questions




                                                                                                                     18
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
What’s different about
   Spring Integration?

          • Can be used from within an existing
            application.
          • Lightweight (like any Spring application):
                    – run from JUnit test
                    – run within webapp
          • Focussed on messaging and integration
          • Not an ESB



                                                                                                                     19
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Others in general


          • Full blown ESB
          • It’s an application, not a framework
                    – You need to install it
                    – You need to run it
          • Typically a lot heavier
          • Focus on the deployment architecture
            not the actual integration.



                                                                                                                     20
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Mule


          • Integrates with Spring
          • Lots of integration options:
                    – REST, SOAP
                    – JMS
          • Embeddable
          • Distribution
                    – 32Mb
                    – 2Mb jar only (for embedding)



                                                                                                                     21
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
ServiceMix


          • Based on JBI
                    – (Mediated Message Exchange Model)


          • Distribution:
                    – 100mb

          • http://servicemix.apache.org/how-to-evaluate-an-esb.html




                                                                                                                     22
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Camel


          • Most direct competition for Spring
            Integration
          • Less consistent with Spring
          • Focus on routing
          • Fluent interface as an alternative to xml




                                                                                                                     23
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Considerations


          • Routing complexity
                    – a bus can be useful for more complex
                      routing problems
          • Comfort zone
                    – what will the developers feel at home with
          • Keep it clean
                    – don’t scatter the routing rules




                                                                                                                     24
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Basic Integration




                                                                                                                     25
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
With a bus




                                                                                                                     26
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Topics in this session


          •       Introduction to Spring Integration
          •       Comparing Spring Integration to others
          •       Enterprise Integration Patterns
          •       Examples and demos
          •       Summary and questions




                                                                                                                     27
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Message Router


          • Takes messages from a channel and
            forwards them to different channels




                                                                                                                     28
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Competing Consumers


          • Multiple consumers take messages from
            the channel
          • First come first serve




                                                                                                                     29
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Competing Consumers




                                                                                                                     30
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Selective Consumer


          • Select only relevant messages
          • Reduces the need for dedicated
            channels




                                                                                                                     31
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Selective Consumer




                                                                                                                     32
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Splitter




                                                                                                                     33
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Detour




                                                                                                                     34
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Topics in this session


          •       Introduction to Spring Integration
          •       Comparing Spring Integration to others
          •       Enterprise Integration Patterns
          •       Examples and demos
          •       Summary and questions




                                                                                                                     35
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Demo Time




                                                                                                                     36
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Topics in this session


          •       Introduction to Spring Integration
          •       Comparing Spring Integration to others
          •       Enterprise Integration Patterns
          •       Examples and demos
          •       Summary and questions




                                                                                                                     37
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Summary


          • Spring Integration
                    – works from existing Spring applications
                    – lightweight
                    – decentralized (if you want)
          • Enterprise Integration Patterns
                    – describe ways of plumbing the enterprise
                      application landscape.




                                                                                                                     38
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
Questions and Plugs


          • You can ask questions now while you
            ignore these shameless plugs

          • Thanks to Babiche Israel (cartoons)
                    – http://babicheisrael.blogspot.com/


          • Come to Java meetup May 23
                    – http://tinyurl.com/66hfnt or
                    – Google for ‘java meetup q2 2008’

                                                                                                                     39
Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.

Weitere ähnliche Inhalte

Andere mochten auch

Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
Johan Aludden
 

Andere mochten auch (11)

Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Spring Madrid User Group - Spring Integration in Action
Spring Madrid User Group - Spring Integration in ActionSpring Madrid User Group - Spring Integration in Action
Spring Madrid User Group - Spring Integration in Action
 
Enterprise Integration and Batch Processing on Cloud Foundry
Enterprise Integration and Batch Processing on Cloud FoundryEnterprise Integration and Batch Processing on Cloud Foundry
Enterprise Integration and Batch Processing on Cloud Foundry
 
Spring Batch Behind the Scenes
Spring Batch Behind the ScenesSpring Batch Behind the Scenes
Spring Batch Behind the Scenes
 
S2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring BatchS2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring Batch
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise Architecture
 
Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계
 
Economies of Scaling Software
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling Software
 
기업 통합 패턴(Enterprise Integration Patterns) 강의
기업 통합 패턴(Enterprise Integration Patterns) 강의기업 통합 패턴(Enterprise Integration Patterns) 강의
기업 통합 패턴(Enterprise Integration Patterns) 강의
 
Workshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring IntegrationWorkshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring Integration
 

Ähnlich wie Spring Integration and EIP Introduction

Os Gi+Spring Integration
Os Gi+Spring IntegrationOs Gi+Spring Integration
Os Gi+Spring Integration
Iwein Fuld
 

Ähnlich wie Spring Integration and EIP Introduction (15)

BeJUG - Spring 3 talk
BeJUG - Spring 3 talkBeJUG - Spring 3 talk
BeJUG - Spring 3 talk
 
BeJUG - Di With Spring
BeJUG - Di With SpringBeJUG - Di With Spring
BeJUG - Di With Spring
 
Os Gi+Spring Integration
Os Gi+Spring IntegrationOs Gi+Spring Integration
Os Gi+Spring Integration
 
Aspects Every Where
Aspects Every WhereAspects Every Where
Aspects Every Where
 
Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT
Confess_2011 - Rapid Rich Client Development with Spring Roo and GWTConfess_2011 - Rapid Rich Client Development with Spring Roo and GWT
Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT
 
Comet and the Rise of Highly Interactive Websites
Comet and the Rise of Highly Interactive WebsitesComet and the Rise of Highly Interactive Websites
Comet and the Rise of Highly Interactive Websites
 
Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!
 
Building web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend ExpressiveBuilding web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend Expressive
 
Enterprise Security mit Spring Security
Enterprise Security mit Spring SecurityEnterprise Security mit Spring Security
Enterprise Security mit Spring Security
 
Scaling Push Messaging for Millions of Netflix Devices
Scaling Push Messaging for Millions of Netflix DevicesScaling Push Messaging for Millions of Netflix Devices
Scaling Push Messaging for Millions of Netflix Devices
 
David Pilato - Advance search for your legacy application - NoSQL matters Par...
David Pilato - Advance search for your legacy application - NoSQL matters Par...David Pilato - Advance search for your legacy application - NoSQL matters Par...
David Pilato - Advance search for your legacy application - NoSQL matters Par...
 
The Lean Journey
The Lean JourneyThe Lean Journey
The Lean Journey
 
Sharepoint and SQL Server 2012
Sharepoint and SQL Server 2012Sharepoint and SQL Server 2012
Sharepoint and SQL Server 2012
 
SharePoint Governance - Jetzt mit Struktur (6. Alzenauer Innovationstage)
SharePoint Governance - Jetzt mit Struktur (6. Alzenauer Innovationstage)SharePoint Governance - Jetzt mit Struktur (6. Alzenauer Innovationstage)
SharePoint Governance - Jetzt mit Struktur (6. Alzenauer Innovationstage)
 
Developing SIP Applications
Developing SIP ApplicationsDeveloping SIP Applications
Developing SIP Applications
 

Mehr von Iwein Fuld (8)

Iwein fuld-elegant-code-google-queries
Iwein fuld-elegant-code-google-queriesIwein fuld-elegant-code-google-queries
Iwein fuld-elegant-code-google-queries
 
Businesscase for-quality
Businesscase for-qualityBusinesscase for-quality
Businesscase for-quality
 
Simplicity, elegance, correctness
Simplicity, elegance, correctnessSimplicity, elegance, correctness
Simplicity, elegance, correctness
 
Spring integration motivation and history
Spring integration motivation and historySpring integration motivation and history
Spring integration motivation and history
 
Mythical Powers Of Oss
Mythical Powers Of OssMythical Powers Of Oss
Mythical Powers Of Oss
 
Defluffing Cloud Computing
Defluffing Cloud ComputingDefluffing Cloud Computing
Defluffing Cloud Computing
 
Tc Server Glance Over
Tc Server Glance OverTc Server Glance Over
Tc Server Glance Over
 
Ams+Dm Server+Ec2
Ams+Dm Server+Ec2Ams+Dm Server+Ec2
Ams+Dm Server+Ec2
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Spring Integration and EIP Introduction

  • 1. Spring Integration Connecting Enterprise Applications Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 2. Topics in this session • Introduction to Spring Integration • Spring Integration Compared • Enterprise Integration Patterns • Examples and demos • Summary and questions 2 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 3. The synchronous breakdown • A customer orders a coffee – and waits • The waiter walks to the barista and passes the order – and waits • The barista walks to the coffee machine – and waits • How about the next customer? 3 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 4. What is Messaging? How can multiple agents work together?... ...without being in each others way. Waiter helps customer and cook to collaborate. 4 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 5. Characteristics of Messaging Transport The waiter takes an order and moves it to the barista Asynchronous Different actors do different things in parallel Translation menu item => number => recipe Routing Orders arrive back at the proper table 5 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 6. Why messaging (1/4) Loose coupling 6 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 7. Why Messaging? (2/4) Performance 7 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 8. Why Messaging? (3/4) Flexibility 8 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 9. Why Messaging? (4/4) Interception and filtering 9 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 10. Spring Integration 10 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 11. Hello world <service-activator input-channel=quot;inputChannelquot; default-output-channel=quot;outputChannelquot; ref=quot;helloServicequot; method=quot;sayHelloquot;/> <beans:bean id=quot;helloServicequot; class=quot;...HelloServicequot;/> public class HelloService { public String sayHello(String name) { return quot;Hello quot; + name; } } 11 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 12. Hello world inputChannel = context.getBean(quot;inputChannelquot;); outputChannel = context.getBean(quot;outputChannelquot;); inputChannel.send(new StringMessage(quot;Worldquot;)); System.out.println( outputChannel.receive().getPayload()); $ java HelloWorldDemo Hello World 12 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 13. Channels <channel id=quot;incomingquot;/> <channel id=quot;orderedNotificationsquot;> <queue capacity=quot;10quot;/> </channel> 13 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 14. Channels 14 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 15. MessageEndpoints MessageEndpoints are the knots that tie applications to the integration solution. MessageEndpoint Channel Sender Receiver Application Application 15 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 16. Missing link Invoked by Sender Who is responsible? Channel Sender Receiver Application Application 16 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 17. The Poller A Message Bus enables separate applications to work together, but in a decoupled fashion such that applications can be easily added or removed without affecting the others. <poller default=quot;truequot;/> In Spring Integration: you don't need to worry about it 17 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 18. Topics in this session • Introduction to Spring Integration • Comparing Spring Integration to others • Enterprise Integration Patterns • Examples and demos • Summary and questions 18 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 19. What’s different about Spring Integration? • Can be used from within an existing application. • Lightweight (like any Spring application): – run from JUnit test – run within webapp • Focussed on messaging and integration • Not an ESB 19 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 20. Others in general • Full blown ESB • It’s an application, not a framework – You need to install it – You need to run it • Typically a lot heavier • Focus on the deployment architecture not the actual integration. 20 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 21. Mule • Integrates with Spring • Lots of integration options: – REST, SOAP – JMS • Embeddable • Distribution – 32Mb – 2Mb jar only (for embedding) 21 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 22. ServiceMix • Based on JBI – (Mediated Message Exchange Model) • Distribution: – 100mb • http://servicemix.apache.org/how-to-evaluate-an-esb.html 22 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 23. Camel • Most direct competition for Spring Integration • Less consistent with Spring • Focus on routing • Fluent interface as an alternative to xml 23 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 24. Considerations • Routing complexity – a bus can be useful for more complex routing problems • Comfort zone – what will the developers feel at home with • Keep it clean – don’t scatter the routing rules 24 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 25. Basic Integration 25 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 26. With a bus 26 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 27. Topics in this session • Introduction to Spring Integration • Comparing Spring Integration to others • Enterprise Integration Patterns • Examples and demos • Summary and questions 27 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 28. Message Router • Takes messages from a channel and forwards them to different channels 28 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 29. Competing Consumers • Multiple consumers take messages from the channel • First come first serve 29 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 30. Competing Consumers 30 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 31. Selective Consumer • Select only relevant messages • Reduces the need for dedicated channels 31 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 32. Selective Consumer 32 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 33. Splitter 33 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 34. Detour 34 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 35. Topics in this session • Introduction to Spring Integration • Comparing Spring Integration to others • Enterprise Integration Patterns • Examples and demos • Summary and questions 35 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 36. Demo Time 36 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 37. Topics in this session • Introduction to Spring Integration • Comparing Spring Integration to others • Enterprise Integration Patterns • Examples and demos • Summary and questions 37 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 38. Summary • Spring Integration – works from existing Spring applications – lightweight – decentralized (if you want) • Enterprise Integration Patterns – describe ways of plumbing the enterprise application landscape. 38 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
  • 39. Questions and Plugs • You can ask questions now while you ignore these shameless plugs • Thanks to Babiche Israel (cartoons) – http://babicheisrael.blogspot.com/ • Come to Java meetup May 23 – http://tinyurl.com/66hfnt or – Google for ‘java meetup q2 2008’ 39 Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.