SI Community Presentation
Spring Integration
Message-driven architecture
Djail Turgumbaev
15/05/2013
Topics
 Presentation Overview
 Spring Integration core
 Integration patterns
2
Presentation Overview
 Introduction to Spring Integration
 Integration patterns and Core Concepts
 Message End Points
 Channels
• Demo
3
Technology Background
 Spring Integration Subproject
 Spring development principles
 Configuration, DI, POJOs, Testing
 Maven
 Integration patterns: Message-driven architecture
 http://www.eaipatterns.com/
4
Features
 Lightweight
 Message driven integration design patterns:
 Loose coupling
 Content based routing
 Different types of channels
 Rich set of out of the box adapters
 Transformation
5
Channels
•Pollable
•Subscribable
<int:channel id="queueChannel">
<queue capacity="25"/>
</int:channel>
<int:channel id="dbBackedChannel">
<int:queue message-store="messageStore">
</int:channel>
<int:channel id="priorityChannel">
<int:priority-queue capacity="20"/>
</int:channel>
6
Message
• Message header:
– id, timestamp, correlation id, return address etc
•Payload
7
Message End points
•Message Transformer
•Message Filter
•Message Router
•Splitter/Aggregator
•Service Activator
•Channel Adapters
8
Channel adapters
■ File system
■ HTTP
■ Web Services
■ Mail (POP3 or IMAP for receiving; SMTP for sending)
■ Java Message Service (JMS)
■ Java Database Connectivity (JDBC)
9
Demo
• Webservice gateway
• Execution Channel
• Splitter/Aggregator
 JMS adapter
 Source code:
git://github.com/djail/spring-integration-sample.git
10
Questions ?
11

Spring integration