Os Gi+Spring Integration

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Next up: Introduction to Spring integration which covers: - How and why Spring Integration came into existence

    Next up: Introduction to Spring integration which covers: - How and why Spring Integration came into existence

    Next up: Introduction to Spring integration which covers: - How and why Spring Integration came into existence

    Next up: Introduction to Spring integration which covers: - How and why Spring Integration came into existence

    Next up: Introduction to Spring integration which covers: - How and why Spring Integration came into existence

    Spring Integration was created by Mark Fisher of SpringSource. - It is an implementation of the patterns described in Enterprise Integration Patterns by Hohpe and Woolf. - The book itself doesn’t give concrete usable components, Spring Integration does this: non invasive declarative

    Endpoints connect application code to the integration framework.

    There is quite some code in the slide. Go over it slowly and promise another look during the demo. TODO enlarge code samples -> two slides

    Channels are buffers that hold messages, responsible for transporting the messages from sender to receiver(s) Mention equivalence with JMS Queues

    Download the SI distribution or check out the project from svn, import the sample projects into STS. Show at least the CafeDemo xml variant. If there is time you can show some of the following: - Tweaking for performance (add a thread-pool-task-executor to the poller, play with the trigger) - Other demos - add a JMX based detour (router with @ManagedAttribute outputChannel) to the deliveredOrders

    4 Favorites

    Os Gi+Spring Integration - Presentation Transcript

    1. OSGi and Messaging Building large applications that don't break down Iwein Fuld - SpringSource Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    2. Topics in this session
      • How things break
        • Code supernova
        • Single threaded breakdown
        • Synchronous breakdown
      • How to fix
        • Modularity
        • Multi threading
        • Messaging
      • Sounds good, let's do it
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    3. What is performance?
      • Performance
        • Response time (Classic performance)
        • Throughput (Concurrent processing)
        • Utilization (Map – Reduce)
      • Scalability
        • Related to second two types of performance
      • Reliability
        • Reduced by scalability improvements
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    4. Code supernova
      • Assuming nothing is perfect
      • Code bases shall grow
      • Therefore teams shall grow
      • Therefore code bases shall grow faster
      • Until they are infinite UNLESS:
        • they collapse into a black hole
        • someone pulls the plug
        • we modularize and evolve
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    5. The single thread breakdown
      • One thread can only occupy a single core
      • In ten years systems with less than 10 cores will be rare
      • Web servers work with thread pools
      BUT
      • What if a single request takes a lot of effort?
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    6. 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
      • Is this efficient?
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    7. Topics in this session
      • How things break
        • Code supernova
        • Single threaded breakdown
        • Synchronous breakdown
      • How to fix
        • Modularity
        • Multi threading
        • Messaging
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    8. OSGi
      • Fix Supernova problem by adding modularity without adding extra latency
      • Distribute development, colocate at runtime.
      • Some other really nice things that I don't need to tell you about
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    9. The other problems
      • Synchronous breakdown and single thread breakdown share common solution
      • Messaging enables:
        • Asynchronous handoff
        • Concurrent processing
        • Map reduce
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    10. What is Messaging? Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. How can multiple agents work together?... ...without being in each others way. Waiter helps customer and cook to collaborate.
    11. Characteristics of Messaging Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Transport The waiter takes an order and moves it to the barista Asynchronous Different actors can do different things in parallel Translation menu item => number => recipe Routing Orders arrive back at the proper table
    12. Spring Integration Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    13. Pipes and Filters Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Sender Application Receiver Application Channel MessageEndpoint
    14. Hello world Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. <service-activator input-channel = &quot;inputChannel&quot; default-output-channel = &quot;outputChannel&quot; ref = &quot;helloService&quot; method = &quot;sayHello&quot; /> < beans:bean id = &quot;helloService&quot; class = &quot;...HelloService&quot; /> public class HelloService { public String sayHello(String name) { return &quot;Hello &quot; + name; } }
    15. Channels Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. < channel id = &quot;incoming&quot; /> < channel id = &quot;orderedNotifications&quot; > <queue capacity = &quot;10&quot;/ > </channel>
    16. 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
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    17. 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.
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    18. Basic Integration Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    19. With a bus Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    20. Demo Time Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    21. Summary
      • With OSGi + Messaging you fix
        • Code supernova
        • Synchronous and single thread breakdown
      • Spring Integration
        • lightweight
        • decentralized (if you want)
      • Good to know:
        • Hohpe and Woolf + Goetz
        • STS, dm Server
      Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
    22. Questions and Plugs Ask now... or visit our booth... or google “Iwein Fuld” Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited.

    + Iwein FuldIwein Fuld, 4 months ago

    custom

    748 views, 4 favs, 2 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 748
      • 551 on SlideShare
      • 197 from embeds
    • Comments 0
    • Favorites 4
    • Downloads 0
    Most viewed embeds
    • 193 views on http://blog.springsource.com
    • 4 views on https://intranet.xebia.com

    more

    All embeds
    • 193 views on http://blog.springsource.com
    • 4 views on https://intranet.xebia.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories