SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
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.

Mais conteúdo relacionado

Destaque

Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration PatternsJohan Aludden
 
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 ActionIván López Martín
 
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 FoundryJoshua Long
 
Spring Batch Behind the Scenes
Spring Batch Behind the ScenesSpring Batch Behind the Scenes
Spring Batch Behind the ScenesJoshua Long
 
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 BatchGunnar Hillert
 
Spring integration概要
Spring integration概要Spring integration概要
Spring integration概要kuroiwa
 
Pattern driven Enterprise Architecture
Pattern driven Enterprise ArchitecturePattern driven Enterprise Architecture
Pattern driven Enterprise ArchitectureWSO2
 
Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계Wangeun Lee
 
Economies of Scaling Software
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling SoftwareJoshua Long
 
기업 통합 패턴(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 IntegrationAntoine Rey
 

Destaque (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
 

Semelhante a Spring Integration and EIP Introduction

Os Gi+Spring Integration
Os Gi+Spring IntegrationOs Gi+Spring Integration
Os Gi+Spring IntegrationIwein Fuld
 
Aspects Every Where
Aspects Every WhereAspects Every Where
Aspects Every Whereguest9ff00
 
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 GWTKai Wähner
 
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 WebsitesJoe Walker
 
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!Reza Rahman
 
Enterprise Security mit Spring Security
Enterprise Security mit Spring SecurityEnterprise Security mit Spring Security
Enterprise Security mit Spring SecurityMike Wiesner
 
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 DevicesSusheel Aroskar
 
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...NoSQLmatters
 
Sharepoint and SQL Server 2012
Sharepoint and SQL Server 2012Sharepoint and SQL Server 2012
Sharepoint and SQL Server 2012James Tramel
 
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)Dennis Hobmaier
 
Developing SIP Applications
Developing SIP ApplicationsDeveloping SIP Applications
Developing SIP ApplicationsVoxeo Corp
 

Semelhante a 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
 

Mais de Iwein Fuld

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

Mais de 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
 

Último

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 MenDelhi Call girls
 
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 CVKhem
 
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.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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?Igalia
 

Último (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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?
 

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.