SlideShare a Scribd company logo
1 of 25
Download to read offline
ENTERPRISE INTEGRATION PATTERNS
WITH
SPRING INTEGRATION
By
Kiran Hegde
https://www.linkedin.com/in/hegdekiran
ENTERPRISE INTEGRATION!
 Enterprise interaction allowed organizations to both share data
and make use of functionality provided by other systems.
 Although enterprise application integration can take many different
forms
 From extract-transform-load jobs run overnight
 To all-encompassing SOA strategies
 All approaches leverage one of four well-known integration styles
 File-based integration
 Shared-database integration
 Remote Procedure Calls
 Message-based integration
4 WELL KNOWN ENTERPRISE INTEGRATION STYLES
 File-based integration –
 Simple interoperable but deals with file read/write complexity
 Shared-database integration
 Atomic & Consistent but doesn’t solve invoking functionality in remote
application
 Remote Procedure Calls
 Method invocation, return value is serialized via Stubs, Proxies & Marshalling
 Therefore serializing arguments and return values harms interoperability
 Message-based integration
 Messaging is an integration style based on exchanging encapsulated data packets
(messages) between components (endpoints) through connections (channels). As
described at www.enterpriseintegrationpatterns.com,
 The packets should be small, and they should be shared frequently, reliably,
immediately, and asynchronously.
 The middleware that can orchestrate reliable communication
between these disparate endpoints, are typically called
as Enterprise Service Bus (ESB).
ENTERPRISE INTEGRATION PATTERNS?
WHAT PRODUCTS USE
ENTERPRISE INTEGRATION PATTERNS?
Open source ESB's like Mule ESB, JBoss Fuse, Open
ESB, WSo2, Spring Integration, or Talend ESB
Message Brokers like ActiveMQ, Apache Kafka,
or RabbitMQ
EAI and SOA platforms, such as IBM WebSphere
MQ, TIBCO, Vitria, Oracle ServiceBus, WebMethods (now
Software AG), Microsoft BizTalk, or Fiorano.
HOW IS AN INTEGRATION FRAMEWORK USEFUL?
We live in an event-driven world. Throughout each day,
we’re continuously bombarded by phone calls, emails,
and instant messages.
Interestingly I heard this somewhere –
 This Talk is also Messaging, perhaps we could see as
 Publish – Subscribe,
 One producer – Many Consumers
 May give immediate a.k.a Synchronous feedback
 May take this message – Transform a bit an give it to teams/friends
 Or leave an Aynchronous feedback – perhaps that this talk was good – jk!! 
Real World example –
 Online travel booking application
DZONE – 2015 GUIDE TO
ENTERPRISE INTEGRATION
SPRING INTEGRATION OVERVIEW
 It enables lightweight messaging within Spring-based applications
 Supports integration with external systems via declarative adapters.
 Those adapters provide a higher-level of abstraction over Spring’s
support for remoting, messaging, and scheduling.
 So essentially lightweight intra-application messaging
 And flexible inter-application integration
PIPES & FILTERS
Anyone familiar with a UNIX-based operating
system can appreciate the pipes-and-filters
style: it provides the foundation of such
operating systems.
Consider a basic example:
You can see that it’s literally the pipe symbol
being used to connect two commands (the
filters)
THE CORE OF SPRING INTEGRATION IS
 End Points ( Filters - similar to a Processor)
 connected through
 Channels (Pipes)
 exchanging
 Messages
MESSAGES & CHANNELS
 Messages
 Channels
 Point-to-Point Channel
 Publish-Subscribe Channel
DEMO
DIFFERENT TYPES OF CHANNELS
 Datatype Channel Configuration
 Priority Channel Configuration
 Scoped Channel Configuration

 Channel Interceptor & Wire Tap Configuration

EVENT DRIVEN ARCHITECTURE &
LOOSE COUPLING
 Achieving an appropriate degree of loose coupling allows you to spend
more time adding new features and delivering business value.
 Event-driven architecture (EDA) is an architectural pattern in which
complex applications are broken down into a set of components or
services that interact via events.
 Where events are communicated via channels that can act as buffers
in periods of high throughput, such a system can be described as
having a staged event-driven architecture (SEDA).
 The question of whether an application built around the Spring
Integration framework is inherently an EDA or SEDA application is open
to debate. Certainly Spring Integration provides the building blocks to
create both EDA and SEDA applications.
MESSAGE ENDPOINTS
 Receivers or senders
 Endpoints can either receive messages from the channel or put messages on the
channel for further processing.
 Polling endpoints or event-driven endpoints
 Endpoints can either pull messages from the channel or can subscribe to it.
Whenever a message is available, a registered callback method is called.
 Unidirectional or bidirectional endpoints
 Unidirectional endpoints send off or receive messages, but do not expect or receive
any acknowledgement. Spring Integration provides channel adapters for such types of
interactions. Bidirectional adapters can send, receive, and acknowledge messages.
Spring Integration provides gateways that are synonymous with synchronous two-way
communication.
 Inbound or outbound endpoints
 Outbound endpoints interact with external systems such as social networks, mail
servers, enterprise JMS, and others, whereas inbound endpoints listen for events
from outside entities such as mail connector, FTP connector, and so on.
MESSAGE PROCESSING USING
SPRING INTEGRATION ENDPOINTS
 Messaging Gateway
 Service Activator
DEMO
FLOW COMPONENTS
 Router
 Splitter
 Aggregator
ROUTER
 Payload type Router
 Header value Router
DOMAIN DRIVEN TRANSFORMATION
Message transformers are implementations of the
Enterprise Integration Pattern (EIP) named Message Translator,
HTTP & OBJECT TO JSON TRANSFORMER
 Demo
SPRING BATCH + SPRING INTEGRATION
WITH RABBIT MQ
 Demo
ENTERPRISE INTEGRATION PATTERNS!!
 Reconciling the EIP slide shared earlier in presentation –
we should not have correlation to one each of the broader level component.
REFERENCES
 Views personal and not of employer’s
 Sharing what I learnt, is not an endorsement!
 Content referenced from few books, blogs & online resources
 Few of them below
 http://www.enterpriseintegrationpatterns.com/
 http://projects.spring.io/spring-integration/
 Spring Integration in Action by Mark Fisher, Jonas Partner, Marius
Bogoevici, and Iwein Fuld
 Spring Integration Essentials By Chandan Pandey
 https://github.com/spring-projects/spring-integration
THANK YOU!!
 Questions??

More Related Content

What's hot

Perfromane Test Tool jmeter
Perfromane Test Tool jmeterPerfromane Test Tool jmeter
Perfromane Test Tool jmeterNaga Mallala
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Electronic mail protocols and operations
 Electronic mail protocols and operations Electronic mail protocols and operations
Electronic mail protocols and operationsVivekRajawat9
 
Reports and dashboards @salesforce
Reports and dashboards @salesforceReports and dashboards @salesforce
Reports and dashboards @salesforceKapil Kumar Patle
 
Triggers and order of execution1
Triggers and order of execution1Triggers and order of execution1
Triggers and order of execution1Prabhakar Sharma
 
webMethods 10.5 and webMethods.io Integration: Everything You Must Know
webMethods 10.5 and webMethods.io Integration: Everything You Must KnowwebMethods 10.5 and webMethods.io Integration: Everything You Must Know
webMethods 10.5 and webMethods.io Integration: Everything You Must KnowKellton Tech Solutions Ltd
 
Overview of Microsoft Exchange Server
Overview of Microsoft Exchange ServerOverview of Microsoft Exchange Server
Overview of Microsoft Exchange Serverbedekarpm
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Sam Garforth
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Kai Wähner
 
Salesforce - Implicit Sharing, Record Locks & Skews
Salesforce - Implicit Sharing, Record Locks & SkewsSalesforce - Implicit Sharing, Record Locks & Skews
Salesforce - Implicit Sharing, Record Locks & SkewsNora Nicklis
 
The Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With SalesforceThe Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With SalesforceAaronLieberman5
 
Salesforce apex hours : Introduction to external services
Salesforce apex hours : Introduction to external servicesSalesforce apex hours : Introduction to external services
Salesforce apex hours : Introduction to external servicesAmit Chaudhary
 
SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented ArchitectureVinay Rajadhyaksha
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...Simplilearn
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 

What's hot (20)

Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Perfromane Test Tool jmeter
Perfromane Test Tool jmeterPerfromane Test Tool jmeter
Perfromane Test Tool jmeter
 
Data model in salesforce
Data model in salesforceData model in salesforce
Data model in salesforce
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Electronic mail protocols and operations
 Electronic mail protocols and operations Electronic mail protocols and operations
Electronic mail protocols and operations
 
Reports and dashboards @salesforce
Reports and dashboards @salesforceReports and dashboards @salesforce
Reports and dashboards @salesforce
 
Triggers and order of execution1
Triggers and order of execution1Triggers and order of execution1
Triggers and order of execution1
 
webMethods 10.5 and webMethods.io Integration: Everything You Must Know
webMethods 10.5 and webMethods.io Integration: Everything You Must KnowwebMethods 10.5 and webMethods.io Integration: Everything You Must Know
webMethods 10.5 and webMethods.io Integration: Everything You Must Know
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
 
Overview of Microsoft Exchange Server
Overview of Microsoft Exchange ServerOverview of Microsoft Exchange Server
Overview of Microsoft Exchange Server
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
 
Salesforce - Implicit Sharing, Record Locks & Skews
Salesforce - Implicit Sharing, Record Locks & SkewsSalesforce - Implicit Sharing, Record Locks & Skews
Salesforce - Implicit Sharing, Record Locks & Skews
 
The Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With SalesforceThe Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With Salesforce
 
Salesforce apex hours : Introduction to external services
Salesforce apex hours : Introduction to external servicesSalesforce apex hours : Introduction to external services
Salesforce apex hours : Introduction to external services
 
SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented Architecture
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 

Viewers also liked

Atlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring IntegrationAtlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring IntegrationGunnar Hillert
 
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 Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchEberhard Wolff
 
Define enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadDefine enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadBhawani N Prasad
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedKenneth Peeples
 
Messaging with Spring Integration
Messaging with Spring IntegrationMessaging with Spring Integration
Messaging with Spring IntegrationVadim Mikhnevych
 
Integration strategy for large erp deployments
Integration strategy for large erp deploymentsIntegration strategy for large erp deployments
Integration strategy for large erp deploymentsArup Dutta
 
Mba ii u v enterprise application integration
Mba ii u v enterprise application integrationMba ii u v enterprise application integration
Mba ii u v enterprise application integrationRai University
 
Application integration in the age of APIs
Application integration in the age of APIsApplication integration in the age of APIs
Application integration in the age of APIsRenat Zubairov
 
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...ColomboArchitectureMeetup
 
Smart first, Phones later (Tin Kadoic)
Smart first, Phones later (Tin Kadoic)Smart first, Phones later (Tin Kadoic)
Smart first, Phones later (Tin Kadoic)Future Insights
 
Building API Integrations You Can Live With
Building API Integrations You Can Live WithBuilding API Integrations You Can Live With
Building API Integrations You Can Live WithFuture Insights
 
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...Kai Wähner
 
AIA 4 Iowa Apps User Group
AIA 4 Iowa Apps User GroupAIA 4 Iowa Apps User Group
AIA 4 Iowa Apps User GroupJim Basler
 
Enterprise Application integration (middleware) concepts
Enterprise Application integration (middleware) conceptsEnterprise Application integration (middleware) concepts
Enterprise Application integration (middleware) conceptsShantanu Thakre
 
Application integration framework & Adaptor ppt
Application integration framework & Adaptor pptApplication integration framework & Adaptor ppt
Application integration framework & Adaptor pptAditya Negi
 

Viewers also liked (20)

Spring integration
Spring integrationSpring integration
Spring integration
 
Atlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring IntegrationAtlanta JUG - Integrating Spring Batch and Spring Integration
Atlanta JUG - Integrating Spring Batch and Spring Integration
 
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 Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring Batch
 
Define enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadDefine enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasad
 
Camel vs Spring EIP JAVA DSL
Camel vs Spring EIP JAVA DSLCamel vs Spring EIP JAVA DSL
Camel vs Spring EIP JAVA DSL
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speed
 
Spring Integration
Spring IntegrationSpring Integration
Spring Integration
 
Messaging with Spring Integration
Messaging with Spring IntegrationMessaging with Spring Integration
Messaging with Spring Integration
 
Integration strategy for large erp deployments
Integration strategy for large erp deploymentsIntegration strategy for large erp deployments
Integration strategy for large erp deployments
 
Mba ii u v enterprise application integration
Mba ii u v enterprise application integrationMba ii u v enterprise application integration
Mba ii u v enterprise application integration
 
Application integration in the age of APIs
Application integration in the age of APIsApplication integration in the age of APIs
Application integration in the age of APIs
 
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
Colombo Architecture Meetup - Enterprise Integration Architectural Challenges...
 
Smart first, Phones later (Tin Kadoic)
Smart first, Phones later (Tin Kadoic)Smart first, Phones later (Tin Kadoic)
Smart first, Phones later (Tin Kadoic)
 
Building API Integrations You Can Live With
Building API Integrations You Can Live WithBuilding API Integrations You Can Live With
Building API Integrations You Can Live With
 
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
 
AIA 4 Iowa Apps User Group
AIA 4 Iowa Apps User GroupAIA 4 Iowa Apps User Group
AIA 4 Iowa Apps User Group
 
Enterprise Application integration (middleware) concepts
Enterprise Application integration (middleware) conceptsEnterprise Application integration (middleware) concepts
Enterprise Application integration (middleware) concepts
 
Debug like a doctor
Debug like a doctorDebug like a doctor
Debug like a doctor
 
Application integration framework & Adaptor ppt
Application integration framework & Adaptor pptApplication integration framework & Adaptor ppt
Application integration framework & Adaptor ppt
 

Similar to Enterprise Integration Patterns with Spring integration!

Integration Patterns With Spring integration
Integration Patterns With Spring integrationIntegration Patterns With Spring integration
Integration Patterns With Spring integrationEldad Dor
 
FME as an ESB at the Township of Langley
FME as an ESB at the Township of LangleyFME as an ESB at the Township of Langley
FME as an ESB at the Township of LangleySafe Software
 
JDC2008 - Enterprise Integration and Service Oriented Design
JDC2008 - Enterprise Integration and Service Oriented DesignJDC2008 - Enterprise Integration and Service Oriented Design
JDC2008 - Enterprise Integration and Service Oriented DesignHossam Karim
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLJorgen Thelin
 
A Deep Dive in the World of IT Networking (Part 2)
A Deep Dive in the World of IT Networking (Part 2)A Deep Dive in the World of IT Networking (Part 2)
A Deep Dive in the World of IT Networking (Part 2)Tuan Yang
 
Event Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUGEvent Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUGChris Patterson
 
Chapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfChapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfKhairul Anwar Sedek
 
Mule getting started
Mule getting startedMule getting started
Mule getting startedKarim Ezzine
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Jason Townsend, MBA
 
Internetworking
InternetworkingInternetworking
InternetworkingRaghu nath
 
Telpro Integration
Telpro IntegrationTelpro Integration
Telpro IntegrationRex Sheridan
 
Designing Application over mobile environment
Designing Application over mobile environmentDesigning Application over mobile environment
Designing Application over mobile environmentMaulik Patel
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architectureYisal Khan
 
Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)kyroskoh
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMuthu Guru Rathinesh G
 

Similar to Enterprise Integration Patterns with Spring integration! (20)

Integration Patterns With Spring integration
Integration Patterns With Spring integrationIntegration Patterns With Spring integration
Integration Patterns With Spring integration
 
FME as an ESB at the Township of Langley
FME as an ESB at the Township of LangleyFME as an ESB at the Township of Langley
FME as an ESB at the Township of Langley
 
JDC2008 - Enterprise Integration and Service Oriented Design
JDC2008 - Enterprise Integration and Service Oriented DesignJDC2008 - Enterprise Integration and Service Oriented Design
JDC2008 - Enterprise Integration and Service Oriented Design
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
 
A Deep Dive in the World of IT Networking (Part 2)
A Deep Dive in the World of IT Networking (Part 2)A Deep Dive in the World of IT Networking (Part 2)
A Deep Dive in the World of IT Networking (Part 2)
 
Event Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUGEvent Driven Architecture at NDDNUG
Event Driven Architecture at NDDNUG
 
Chapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfChapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdf
 
Mule getting started
Mule getting startedMule getting started
Mule getting started
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
Internetworking
InternetworkingInternetworking
Internetworking
 
Telpro Integration
Telpro IntegrationTelpro Integration
Telpro Integration
 
Designing Application over mobile environment
Designing Application over mobile environmentDesigning Application over mobile environment
Designing Application over mobile environment
 
integeration
integerationintegeration
integeration
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
MUSIC.pptx
MUSIC.pptxMUSIC.pptx
MUSIC.pptx
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)
 
Report on intranet
Report on intranetReport on intranet
Report on intranet
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh g
 
ESB Overview
ESB OverviewESB Overview
ESB Overview
 

Recently uploaded

Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck.  .pptxChizaram's Women Tech Makers Deck.  .pptx
Chizaram's Women Tech Makers Deck. .pptxogubuikealex
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Escort Service
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Krijn Poppe
 
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRRINDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRRsarwankumar4524
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxnoorehahmad
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...marjmae69
 
Early Modern Spain. All about this period
Early Modern Spain. All about this periodEarly Modern Spain. All about this period
Early Modern Spain. All about this periodSaraIsabelJimenez
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxCarrieButtitta
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...漢銘 謝
 
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for  RA (1ST SEMQuality by design.. ppt for  RA (1ST SEM
Quality by design.. ppt for RA (1ST SEMCharmi13
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸mathanramanathan2005
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.KathleenAnnCordero2
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power
 
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comSaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comsaastr
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationNathan Young
 
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...Henrik Hanke
 

Recently uploaded (20)

Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck.  .pptxChizaram's Women Tech Makers Deck.  .pptx
Chizaram's Women Tech Makers Deck. .pptx
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
 
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRRINDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
 
Early Modern Spain. All about this period
Early Modern Spain. All about this periodEarly Modern Spain. All about this period
Early Modern Spain. All about this period
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
 
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for  RA (1ST SEMQuality by design.. ppt for  RA (1ST SEM
Quality by design.. ppt for RA (1ST SEM
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
 
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.comSaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
 
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
DGT @ CTAC 2024 Valencia: Most crucial invest to digitalisation_Sven Zoelle_v...
 

Enterprise Integration Patterns with Spring integration!

  • 1. ENTERPRISE INTEGRATION PATTERNS WITH SPRING INTEGRATION By Kiran Hegde https://www.linkedin.com/in/hegdekiran
  • 2. ENTERPRISE INTEGRATION!  Enterprise interaction allowed organizations to both share data and make use of functionality provided by other systems.  Although enterprise application integration can take many different forms  From extract-transform-load jobs run overnight  To all-encompassing SOA strategies  All approaches leverage one of four well-known integration styles  File-based integration  Shared-database integration  Remote Procedure Calls  Message-based integration
  • 3. 4 WELL KNOWN ENTERPRISE INTEGRATION STYLES  File-based integration –  Simple interoperable but deals with file read/write complexity  Shared-database integration  Atomic & Consistent but doesn’t solve invoking functionality in remote application  Remote Procedure Calls  Method invocation, return value is serialized via Stubs, Proxies & Marshalling  Therefore serializing arguments and return values harms interoperability  Message-based integration  Messaging is an integration style based on exchanging encapsulated data packets (messages) between components (endpoints) through connections (channels). As described at www.enterpriseintegrationpatterns.com,  The packets should be small, and they should be shared frequently, reliably, immediately, and asynchronously.  The middleware that can orchestrate reliable communication between these disparate endpoints, are typically called as Enterprise Service Bus (ESB).
  • 5. WHAT PRODUCTS USE ENTERPRISE INTEGRATION PATTERNS? Open source ESB's like Mule ESB, JBoss Fuse, Open ESB, WSo2, Spring Integration, or Talend ESB Message Brokers like ActiveMQ, Apache Kafka, or RabbitMQ EAI and SOA platforms, such as IBM WebSphere MQ, TIBCO, Vitria, Oracle ServiceBus, WebMethods (now Software AG), Microsoft BizTalk, or Fiorano.
  • 6. HOW IS AN INTEGRATION FRAMEWORK USEFUL? We live in an event-driven world. Throughout each day, we’re continuously bombarded by phone calls, emails, and instant messages. Interestingly I heard this somewhere –  This Talk is also Messaging, perhaps we could see as  Publish – Subscribe,  One producer – Many Consumers  May give immediate a.k.a Synchronous feedback  May take this message – Transform a bit an give it to teams/friends  Or leave an Aynchronous feedback – perhaps that this talk was good – jk!!  Real World example –  Online travel booking application
  • 7. DZONE – 2015 GUIDE TO ENTERPRISE INTEGRATION
  • 8. SPRING INTEGRATION OVERVIEW  It enables lightweight messaging within Spring-based applications  Supports integration with external systems via declarative adapters.  Those adapters provide a higher-level of abstraction over Spring’s support for remoting, messaging, and scheduling.  So essentially lightweight intra-application messaging  And flexible inter-application integration
  • 9. PIPES & FILTERS Anyone familiar with a UNIX-based operating system can appreciate the pipes-and-filters style: it provides the foundation of such operating systems. Consider a basic example: You can see that it’s literally the pipe symbol being used to connect two commands (the filters)
  • 10. THE CORE OF SPRING INTEGRATION IS  End Points ( Filters - similar to a Processor)  connected through  Channels (Pipes)  exchanging  Messages
  • 11. MESSAGES & CHANNELS  Messages  Channels  Point-to-Point Channel  Publish-Subscribe Channel
  • 12. DEMO
  • 13. DIFFERENT TYPES OF CHANNELS  Datatype Channel Configuration  Priority Channel Configuration  Scoped Channel Configuration   Channel Interceptor & Wire Tap Configuration 
  • 14. EVENT DRIVEN ARCHITECTURE & LOOSE COUPLING  Achieving an appropriate degree of loose coupling allows you to spend more time adding new features and delivering business value.  Event-driven architecture (EDA) is an architectural pattern in which complex applications are broken down into a set of components or services that interact via events.  Where events are communicated via channels that can act as buffers in periods of high throughput, such a system can be described as having a staged event-driven architecture (SEDA).  The question of whether an application built around the Spring Integration framework is inherently an EDA or SEDA application is open to debate. Certainly Spring Integration provides the building blocks to create both EDA and SEDA applications.
  • 15. MESSAGE ENDPOINTS  Receivers or senders  Endpoints can either receive messages from the channel or put messages on the channel for further processing.  Polling endpoints or event-driven endpoints  Endpoints can either pull messages from the channel or can subscribe to it. Whenever a message is available, a registered callback method is called.  Unidirectional or bidirectional endpoints  Unidirectional endpoints send off or receive messages, but do not expect or receive any acknowledgement. Spring Integration provides channel adapters for such types of interactions. Bidirectional adapters can send, receive, and acknowledge messages. Spring Integration provides gateways that are synonymous with synchronous two-way communication.  Inbound or outbound endpoints  Outbound endpoints interact with external systems such as social networks, mail servers, enterprise JMS, and others, whereas inbound endpoints listen for events from outside entities such as mail connector, FTP connector, and so on.
  • 16. MESSAGE PROCESSING USING SPRING INTEGRATION ENDPOINTS  Messaging Gateway  Service Activator
  • 17. DEMO
  • 18. FLOW COMPONENTS  Router  Splitter  Aggregator
  • 19. ROUTER  Payload type Router  Header value Router
  • 20. DOMAIN DRIVEN TRANSFORMATION Message transformers are implementations of the Enterprise Integration Pattern (EIP) named Message Translator,
  • 21. HTTP & OBJECT TO JSON TRANSFORMER  Demo
  • 22. SPRING BATCH + SPRING INTEGRATION WITH RABBIT MQ  Demo
  • 23. ENTERPRISE INTEGRATION PATTERNS!!  Reconciling the EIP slide shared earlier in presentation – we should not have correlation to one each of the broader level component.
  • 24. REFERENCES  Views personal and not of employer’s  Sharing what I learnt, is not an endorsement!  Content referenced from few books, blogs & online resources  Few of them below  http://www.enterpriseintegrationpatterns.com/  http://projects.spring.io/spring-integration/  Spring Integration in Action by Mark Fisher, Jonas Partner, Marius Bogoevici, and Iwein Fuld  Spring Integration Essentials By Chandan Pandey  https://github.com/spring-projects/spring-integration