SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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??

Contenu connexe

Tendances

SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...
SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...
SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...Amazon Web Services
 
FinOps: Costs savings in the cloud
FinOps: Costs savings in the cloudFinOps: Costs savings in the cloud
FinOps: Costs savings in the cloudStanislav Pogrebnyak
 
[AWS Migration Workshop] AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
[AWS Migration Workshop]  AWS 클라우드로의 안전하고 신속한 마이그레이션 방안[AWS Migration Workshop]  AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
[AWS Migration Workshop] AWS 클라우드로의 안전하고 신속한 마이그레이션 방안Amazon Web Services Korea
 
Comparativo entre plataformas de ESB
Comparativo entre plataformas de ESBComparativo entre plataformas de ESB
Comparativo entre plataformas de ESBIntellego Chile
 
Elastic Cloud keynote
Elastic Cloud keynoteElastic Cloud keynote
Elastic Cloud keynoteElasticsearch
 
Practical FinOps in Practice
Practical FinOps in PracticePractical FinOps in Practice
Practical FinOps in PracticePetri Kallberg
 
Introduction To IPaaS: Drivers, Requirements And Use Cases
Introduction To IPaaS: Drivers, Requirements And Use CasesIntroduction To IPaaS: Drivers, Requirements And Use Cases
Introduction To IPaaS: Drivers, Requirements And Use CasesSynerzip
 
Amazon Pinpoint - DevDay Austin 2017
Amazon Pinpoint - DevDay Austin 2017Amazon Pinpoint - DevDay Austin 2017
Amazon Pinpoint - DevDay Austin 2017Amazon Web Services
 
Serverless data and analytics on AWS for operations
Serverless data and analytics on AWS for operations Serverless data and analytics on AWS for operations
Serverless data and analytics on AWS for operations CloudHesive
 
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...Amazon Web Services Korea
 
Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...
Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...
Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...Amazon Web Services
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 
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
 
Webinar: Implementation of 10 Integration Patterns on iPaaS Platform
Webinar: Implementation of 10 Integration Patterns on iPaaS PlatformWebinar: Implementation of 10 Integration Patterns on iPaaS Platform
Webinar: Implementation of 10 Integration Patterns on iPaaS PlatformAPPSeCONNECT
 

Tendances (20)

Exchange Server 2013 Architecture Deep Dive, Part 2
Exchange Server 2013 Architecture Deep Dive, Part 2 Exchange Server 2013 Architecture Deep Dive, Part 2
Exchange Server 2013 Architecture Deep Dive, Part 2
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 
SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...
SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...
SEC306 Using Microsoft Active Directory Across On-Premises and AWS Cloud Wind...
 
Upgrading to Exchange 2016
Upgrading to Exchange 2016Upgrading to Exchange 2016
Upgrading to Exchange 2016
 
FinOps: Costs savings in the cloud
FinOps: Costs savings in the cloudFinOps: Costs savings in the cloud
FinOps: Costs savings in the cloud
 
[AWS Migration Workshop] AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
[AWS Migration Workshop]  AWS 클라우드로의 안전하고 신속한 마이그레이션 방안[AWS Migration Workshop]  AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
[AWS Migration Workshop] AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
 
Comparativo entre plataformas de ESB
Comparativo entre plataformas de ESBComparativo entre plataformas de ESB
Comparativo entre plataformas de ESB
 
Elastic Cloud keynote
Elastic Cloud keynoteElastic Cloud keynote
Elastic Cloud keynote
 
Practical FinOps in Practice
Practical FinOps in PracticePractical FinOps in Practice
Practical FinOps in Practice
 
Introduction To IPaaS: Drivers, Requirements And Use Cases
Introduction To IPaaS: Drivers, Requirements And Use CasesIntroduction To IPaaS: Drivers, Requirements And Use Cases
Introduction To IPaaS: Drivers, Requirements And Use Cases
 
Amazon Pinpoint - DevDay Austin 2017
Amazon Pinpoint - DevDay Austin 2017Amazon Pinpoint - DevDay Austin 2017
Amazon Pinpoint - DevDay Austin 2017
 
Serverless data and analytics on AWS for operations
Serverless data and analytics on AWS for operations Serverless data and analytics on AWS for operations
Serverless data and analytics on AWS for operations
 
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
 
Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...
Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...
Enterprise Governance: Build Your AWS Landing Zone (ENT351-R1) - AWS re:Inven...
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
Presentation On Slack
Presentation On SlackPresentation On Slack
Presentation On Slack
 
Amazon Kinesis
Amazon KinesisAmazon Kinesis
Amazon Kinesis
 
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...
 
AWS CloudFormation Masterclass
AWS CloudFormation MasterclassAWS CloudFormation Masterclass
AWS CloudFormation Masterclass
 
Webinar: Implementation of 10 Integration Patterns on iPaaS Platform
Webinar: Implementation of 10 Integration Patterns on iPaaS PlatformWebinar: Implementation of 10 Integration Patterns on iPaaS Platform
Webinar: Implementation of 10 Integration Patterns on iPaaS Platform
 

En vedette

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
 

En vedette (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
 

Similaire à Enterprise 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 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
 

Similaire à Enterprise Integration Patterns with Spring integration! (20)

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
 
Spring integration
Spring integrationSpring integration
Spring integration
 
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
 

Dernier

Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCamilleBoulbin1
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubssamaasim06
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Baileyhlharris
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIINhPhngng3
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsaqsarehman5055
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Delhi Call girls
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfSkillCertProExams
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lodhisaajjda
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 

Dernier (20)

Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 

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