spring integration - basics martin toshev, diyan yordanov cisco systems
TRANSCRIPT
![Page 1: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/1.jpg)
Spring Integration - basicsMartin Toshev, Diyan YordanovCisco Systems
![Page 2: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/2.jpg)
Agenda
• Overview of Software Integration
• What are the Enterprise Integration Patterns ?
• What is Spring Integration ?
• Enterprise Integration Patterns implementation in Spring Integration
![Page 3: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/3.jpg)
Overview of Software Integration
•Enterprise companies have many software applications developed in different languages and run on different platforms. These applications need to communicate. Even the big ERP systems can not live alone and should be integrated with other systems.
•Application integration needs to provide efficient, reliable and secure data exchange between multiple enterprise applications in order to support common business processes and data sharing.
•EAI Suite – suites that encompass messaging, business process automation, workflow, portals, and other functions. Key players in this marketplace are IBM WebSphere MQ, Microsoft BizTalk,TIBCO, WebMethods, SeeBeyond, Vitria, CrossWorlds, and others. Many of these products include JMS as one of the many client API’s they support.
![Page 4: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/4.jpg)
What are Enterprise Integration Patterns ?
•A collection of design patterns for use in enterprise application integration and message-oriented middleware
•Understanding the patterns allows you to:
o build effective messaging systems
o develop applications that provide the ability to integrate with another systems in a cleaner manner using messaging
o gain insight on how to integrate completely different applications using messaging
•Several frameworks already implement these patterns (Spring Integration, Apache Camel, Guarana DSL etc.)
![Page 5: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/5.jpg)
•There are seven categories of enterprise integration patterns (organized in a catalogue):
o Messaging Systemso Messaging Channelso Message Constructiono Message Routingo Message Transformationo Messaging Endpointso System Management
![Page 6: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/6.jpg)
•An open-source framework for Enterprise Application Integration
•Builds on top of the Spring framework
•Supports message-driven architectures where IoC (inversion of control) applies to runtime concerns (the messaging and integration concerns are handled by the framework, so business components are further isolated from the infrastructure and developers are relieved of complex integration responsibilities)
![Page 7: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/7.jpg)
• 4 different applications should be integrated:
- 3 clothing manufactures – Adidas, Reebok and Nike
- 1 reseller that buys from them
![Page 8: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/8.jpg)
• direct communication using application-layer sockets
enforces high coupling between applications
![Page 9: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/9.jpg)
• communication using shared files
can lack timeliness
may not enforce data format sufficiently
![Page 10: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/10.jpg)
• communication using a shared database
can lack timeliness
the database can turn into a performance bottleneck
![Page 11: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/11.jpg)
• communication using RPC
although reduced - coupling is still an issue
![Page 12: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/12.jpg)
• messaging – delegates communication details to the messaging system
![Page 13: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/13.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from Nike (they are aware of the messaging system)
![Page 14: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/14.jpg)
EIP in Spring Integration
• Messaging Systems
o Message
o Message Channel
![Page 15: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/15.jpg)
EIP in Spring Integration
• Messaging Channels
o Point-to-Point Channel
![Page 16: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/16.jpg)
EIP in Spring Integration
• Message Construction
o Command Message
![Page 17: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/17.jpg)
EIP in Spring Integration
DEMO – Simple Channel
![Page 18: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/18.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from Nike (reseller is aware of the messaging system and Nike is not)
![Page 19: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/19.jpg)
EIP in Spring Integration
• Messaging Systems
o Message Endpoint
![Page 20: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/20.jpg)
EIP in Spring Integration
• Messaging Endpoints
o Service Activator
![Page 21: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/21.jpg)
EIP in Spring Integration
DEMO – Service Activator
![Page 22: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/22.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from Nike (both Nike and the reseller and not aware of the messaging system)
![Page 23: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/23.jpg)
EIP in Spring Integration
• Messaging Endpoints
o Messaging Gateway
![Page 24: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/24.jpg)
EIP in Spring Integration
• Message Construction
o Request-Reply
![Page 25: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/25.jpg)
EIP in Spring Integration
DEMO – Messaging Gateway
![Page 26: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/26.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from Nike using JMS (both reseller and Nike are not aware of the messaging system)
![Page 27: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/27.jpg)
EIP in Spring Integration
• Messaging Channel
o Channel Adapter
![Page 28: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/28.jpg)
EIP in Spring Integration
DEMO – Channel Adapter
![Page 29: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/29.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from Nike and Nike requires authentication from the reseller
![Page 30: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/30.jpg)
EIP in Spring Integration
• Messaging Systems
o Pipes and Filters
![Page 31: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/31.jpg)
EIP in Spring Integration
• Messaging Routing
o Filter
o Content Filter
![Page 32: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/32.jpg)
EIP in Spring Integration
DEMO – Pipes and Filters
![Page 33: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/33.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from Nike and Nike wants to send a notification on order receipt
![Page 34: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/34.jpg)
Demo – Email Notification With Retry
EIP in Spring Integration
![Page 35: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/35.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (using publish-subscribe channel)
![Page 36: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/36.jpg)
EIP in Spring Integration
• Messaging Channel
o Publish-Subscribe Channel
![Page 37: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/37.jpg)
EIP in Spring Integration
DEMO – Publish-Subscribe
![Page 38: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/38.jpg)
EIP in Spring Integration
10 minute BREAK
![Page 39: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/39.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (using recipient list)
![Page 40: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/40.jpg)
• Messaging Systems
o Message Router
![Page 41: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/41.jpg)
• Message Routing
o Recipient List
![Page 42: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/42.jpg)
EIP in Spring Integration
DEMO – Recipient List
![Page 43: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/43.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (Reebok and Adidas require authentication with monitoring)
![Page 44: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/44.jpg)
• Messaging Channels
o Dead Letter Channel
o Invalid Message Channel
EIP in Spring Integration
![Page 45: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/45.jpg)
• Messaging Channels
o Guaranteed Delivery
EIP in Spring Integration
![Page 46: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/46.jpg)
• System management
o Message Store
EIP in Spring Integration
![Page 47: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/47.jpg)
EIP in Spring Integration
DEMO – Invalid/Dead Letter Channel
![Page 48: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/48.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (they accept different types of messages)
![Page 49: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/49.jpg)
EIP in Spring Integration
DEMO – Transformer
![Page 50: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/50.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (the reseller wants to explicitly specify the manufacturer)
![Page 51: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/51.jpg)
• Message Routing
o Content-based Router
![Page 52: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/52.jpg)
EIP in Spring Integration
DEMO – Content-based Router
![Page 53: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/53.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (reseller wants to send a batch request and receive a response)
![Page 54: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/54.jpg)
• Message Routing
o Splitter
o Aggregator
![Page 55: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/55.jpg)
• Message Construction
o Correlation Identifier
EIP in Spring Integration
![Page 56: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/56.jpg)
EIP in Spring Integration
DEMO – Splitter/Aggregator
![Page 57: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/57.jpg)
EIP in Spring Integration
• Use case: reseller wants to buy from multiple manufacturers – Nike, Adidas and Reebok (ordering should be monitored and managed externally)
![Page 58: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/58.jpg)
• Message Routing
o Wire Tap
o Control Bus
EIP in Spring Integration
![Page 59: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/59.jpg)
EIP in Spring Integration
DEMO – Management/Monitoring
![Page 60: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/60.jpg)
• Messaging Channels
o Messaging Bridge
o Message Bus
EIP in Spring Integration
![Page 61: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/61.jpg)
• Messaging Channels
o Datatype Channel
EIP in Spring Integration
![Page 62: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/62.jpg)
• Message Construction
o Document Message
o Event Message
EIP in Spring Integration
![Page 63: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/63.jpg)
• Message Construction
o Return Address
EIP in Spring Integration
![Page 64: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/64.jpg)
• Message Construction
o Message Expiration
o Format Indicator – enables the sender to tell the receiver the format of the message
EIP in Spring Integration
![Page 65: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/65.jpg)
• Message Construction
o Message Sequence
EIP in Spring Integration
![Page 66: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/66.jpg)
• Message Routing
o Dynamic Router
EIP in Spring Integration
![Page 67: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/67.jpg)
• Message Routing
o Resequencer
o Composed Message Processor
EIP in Spring Integration
![Page 68: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/68.jpg)
• Message Routing
o Scather-Gather
o Routing Slip
EIP in Spring Integration
![Page 69: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/69.jpg)
• Message Routing
o Process Manager
o Message Broker
EIP in Spring Integration
![Page 70: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/70.jpg)
• Message Transformation
o Envelope Wrapper
o Content Enricher
EIP in Spring Integration
![Page 71: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/71.jpg)
• Message Transformation
oClaim Check
EIP in Spring Integration
![Page 72: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/72.jpg)
• Message Transformation
o Normalizer
o Canonical Data Model
EIP in Spring Integration
![Page 73: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/73.jpg)
• Messaging Endpoints
o Messaging Mapper
o Transactional Client
EIP in Spring Integration
![Page 74: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/74.jpg)
• Messaging Endpoints
o Polling Consumer
o Event-Driven Consumer
EIP in Spring Integration
![Page 75: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/75.jpg)
• Messaging Endpoints
o Competing Consumers
o Message Dispatcher
EIP in Spring Integration
![Page 76: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/76.jpg)
• Messaging Endpoints
o Selective Consumer
o Durable Subscriber
EIP in Spring Integration
![Page 77: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/77.jpg)
• Messaging Endpoints
o Idempotent Receiver – an endpoint that is able to receive and distinguish between duplicate messages
EIP in Spring Integration
![Page 78: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/78.jpg)
• System Management
oDetour
EIP in Spring Integration
![Page 79: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/79.jpg)
• System Management
oMessage History
EIP in Spring Integration
![Page 80: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/80.jpg)
• System Management
o Smart Proxy
EIP in Spring Integration
![Page 81: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/81.jpg)
• System Management
o Test Message
o Channel Purger
EIP in Spring Integration
![Page 82: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/82.jpg)
Summary
•Design carefully your integration solutions – think of maintainability, performance, scalability and other critical factors that are of higher priority
•Hopefully – you have a better insight on how to integrate different applications/components (and in particular - using Spring Framework)
•You can find this presentation and the associated source code in GitHub (https://github.com/dgyordanov/springintegration)
![Page 83: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/83.jpg)
Q&A
Thank you !
![Page 84: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/84.jpg)
References
![Page 85: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/85.jpg)
References
Enterprise Integration Patterns – Designing, Building and Deploying Messaging Solutions, Gregor Hohpe, Bobby Woolf
http://www.eaipatterns.com/
Spring integration (springsource.com)http://www.springsource.org/spring-integration
Implementing enterprise integration patterns (springsource.com)http://blog.springsource.org/2008/05/19/implementing-enterprise-integration-
patterns-part-0/
Getting started with Spring Integration v2 and Enterprise Integration Patterns – A Simple Example using File and Mail Adapters
http://java.dzone.com/articles/getting-started-spring-0
![Page 86: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/86.jpg)
References
Getting started with Spring Integration v2 and Enterprise Integration Patterns – A Simple Example using File and Mail Adapters
http://java.dzone.com/articles/getting-started-spring-0
Solving the Enterprise Integration Puzzle with Spring Integrationhttp://wordpress.transentia.com.au/wordpress/2010/01/25/solving-the-enterprise-
integration-puzzle-with-spring-integration/
Spring Integration – Enterprise Integration Patterns (Vikas Kumar’s blog)http://vikaskumar9.blogspot.com/2011/01/spring-integration-enterprise.html
Enterprise Application Integration (wikipedia category of articles)http://en.wikipedia.org/wiki/Category:Enterprise_application_integration
Understanding Enterprise Integration Patternshttp://architects.dzone.com/articles/enterprise-integration
![Page 87: Spring Integration - basics Martin Toshev, Diyan Yordanov Cisco Systems](https://reader037.vdocuments.net/reader037/viewer/2022102809/56649e105503460f94afb1f1/html5/thumbnails/87.jpg)
References
Spring Integration in 10 minuteshttp://blog.springsource.org/2009/02/13/982/
Spring Integration Sampleshttp://blog.springsource.org/2007/12/21/spring-integration-samples/
Spring Integration 1.0.3 Sample – Just Add Mavenhttp://blog.springsource.org/2009/07/21/spring-integration-103-samples-just-add-
maven/
Spring Integration: A new addition to the Spring portfoliohttp://blog.springsource.org/2009/07/21/spring-integration-103-samples-just-add-
maven/