Your SlideShare is downloading. ×
0
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Spring Integration: Past, Present and Future(s), Tunis, January 2010
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Spring Integration: Past, Present and Future(s), Tunis, January 2010

1,424

Published on

Message-oriented software is on the increase after building a formidable home in the heart of many large-scale transaction processing systems in the finance industry. MoM is seeing a resurgence with …

Message-oriented software is on the increase after building a formidable home in the heart of many large-scale transaction processing systems in the finance industry. MoM is seeing a resurgence with the general recognition that everything from the newest languages (Erlang, Scala et al) through to Web Services and ESBs uses message passing to introduce a looser coupling and better separation of concerns in integration solutions.

In this talk Russ Miles, Principle Consultant and CEO of Open Credo, will introduce a light-weight approach to introducing message passing patterns into your software architecture using Spring Integration.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,424
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Spring Integration 1.0.X and What’s coming in 2.0 Russ Miles, CEO, OpenCredo Originally prepared by Jonas Partner, OpenCredo Principal Consultant, Committer on Spring Integration www.opencredo.com Monday, 25 January 2010
  • 2. Who is Russ Miles anyway? • OpenCredo • Author – CEO – AspectJ Cookbook – Learning UML 2.0 – Consultancy – Head First Software – Training Development – SpringSource Certified Deliver • “Thought Leader” Partner – Cloud Computing Editor – QCon – Large-scale Agile Conference © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 3. Agenda • Enterprise Integration Patterns • Why Spring Integration • What Spring Integration provides • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 4. Enterprise Integration Patterns • Book by Gregor Hohpe and Bobby Wolf • Documents – Styles of Integration database, file, messages and channels – Patterns • Splitter • Router • Transformer © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 5. Messages Generic package for data (the Message payload) that can be transported via channels Headers provide information to other components that consume from channels Sequence Number Headers Sequence Size ... Payload © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 6. Channels Channels deliver messages from producers to consumers Producer Channel Consumer © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 7. Why use messaging 1/2 • Loose coupling – Localise impact of changes – Improve separation of concerns • Easy Interception – Mediation – Filtering – Reroute © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 8. Why use messaging 2/2 • Performance – Less blocking since async – Efficient use of resources • Threads • DB Connections – Useful with multi core processors © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 9. Agenda • Enterprise Integration Patterns • Why Spring Integration • What Spring Integration provides • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 10. Why Spring Integration • Spring goodness in the integration space – Light-weight, not a server – Non invasive POJO programming model – Testable – Builds on strong foundation, Spring • Reusable Enterprise Integration Pattern implementations • Message and Channel approach useful for non integration applications © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 11. Light-Weight • Spring Integration != Spring ESB • Simply components in applications context – Wiring together through dependency injection – Channels beans, adapters beans ... – Follows application context lifecycle • Simple adoption © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 12. Agenda • Why Spring Integration • Enterprise Integration Patterns • Spring Integration provides – Enterprise Integration Patterns implementation – Message and Channel framework – Adapters • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 13. Transformer @Transformer public Document convert(Document doc){ return convertToNewFormat(doc); } © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 14. Splitter @Splitter public List<Document> orderItems(Document doc){ return splitOrder(doc); } © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 15. Router @Router public String resolveDrinkChannel(Drink drink) { return (drink.isIced()) ? "coldDrinks" : "hotDrinks"; } © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 16. Chain <chain input-channel="input" output-channel="output"> <filter ref="someSelector" throw-exception-on-rejection="true"/> <header-enricher error-channel="customErrorChannel"> <header name="foo" value="bar"/> </header-enricher> <service-activator ref="someService" method="someMethod"/> </chain> © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 17. Agenda • Why Spring Integration • Enterprise Integration Patterns • Spring Integration provides – Enterprise Integration Patterns implementation – Message and Channel framework – Adapters • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 18. SI Messages Simple Interface public interface Message<T> { MessageHeaders getHeaders; T getPayload(); } © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 19. Provided Message Implementations • GenericMessage – Uses generics for strongly typed payload • StringMessage – String payload • Most components don’t care © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 20. Channel • DirectChannel • QueueChannel • Pub Sub • Rendezvous • Executor © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 21. Agenda • Why Spring Integration • Enterprise Integration Patterns • Spring Integration provides – Enterprise Integration Patterns implementation – Message and Channel framework – Adapters • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 22. Adapter © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 23. Current Adapters • JMS • RMI • Http Invoker • HTTP • File • Spring Web Services • Mail Spring Application Events © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 24. Agenda • Why Spring Integration • Enterprise Integration Patterns • Spring Integration provides • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 25. NoodleBar Demo Loose Coupling, Messages, Channels and “Something Completely Different” © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 26. Agenda • Why Spring Integration • Enterprise Integration Patterns • Spring Integration provides • Some live coding... • Whats new in SI 2.0 © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 27. Spring Integration 2.0 1/2 • Due early this year – JDBC – Twitter?? – Suggestions/requests/contributions • Improved testing framework • Spring 3.0 expression language © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 28. Spring Integration 2.0 2/2 • XQuery • JMS Backed channel (not an adapter) • Other patterns – Claim Check – Scatter Gather – Process Manager.... © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 29. Also Spring Extensions • Home to FTP adapters and other contributions – http://www.springsource.org/extensions/ se-sia • Spring Integration .Net – http://www.springsource.org/extensions/ se-springintegration-net – Nearly a port of java.util.concurrent http://www.springsource.org/extensions/ se-threading-net © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 30. Where to go next... • Grab the code: – http://www.springsource.org/spring-integration • Grab hold of Tareq :) © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 31. And, of course, a book plug! © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 32. Summary • Spring Integration provides... – ...a lightweight way to ... – ... introduce looser, message-oriented coupling between components... – ...that enables integration problems to be solved using integration patterns... – ...right inside your existing application! No bloated middleware required! © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010
  • 33. Thanks for your time! Any questions? Email: russ.miles@opencredo.com Web: http://www.opencredo.com Blog: http://www.russmiles.com Twitter: russmiles © 2009 Open Credo Ltd www.opencredo.com Monday, 25 January 2010

×