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

TechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdfTechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdf
MIlton788007
 
NServiceBus introduction
NServiceBus introductionNServiceBus introduction
NServiceBus introduction
Boris Tveritnev
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWS
Munish Gupta
 

What's hot (20)

AWS Tagging Strategy
AWS Tagging StrategyAWS Tagging Strategy
AWS Tagging Strategy
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
Microservices and SOA
Microservices and SOAMicroservices and SOA
Microservices and SOA
 
Amazon RDS & Amazon Aurora: Relational Databases on AWS - SRV206 - Atlanta AW...
Amazon RDS & Amazon Aurora: Relational Databases on AWS - SRV206 - Atlanta AW...Amazon RDS & Amazon Aurora: Relational Databases on AWS - SRV206 - Atlanta AW...
Amazon RDS & Amazon Aurora: Relational Databases on AWS - SRV206 - Atlanta AW...
 
AWS Fargate와 Amazon ECS를 활용한 CI/CD 모범사례 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Mast...
AWS Fargate와 Amazon ECS를 활용한 CI/CD 모범사례 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Mast...AWS Fargate와 Amazon ECS를 활용한 CI/CD 모범사례 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Mast...
AWS Fargate와 Amazon ECS를 활용한 CI/CD 모범사례 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Mast...
 
TechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdfTechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdf
 
Content Delivery Using Amazon CloudFront - AWS Presentation - John Mancuso
Content Delivery Using Amazon CloudFront - AWS Presentation - John MancusoContent Delivery Using Amazon CloudFront - AWS Presentation - John Mancuso
Content Delivery Using Amazon CloudFront - AWS Presentation - John Mancuso
 
NServiceBus introduction
NServiceBus introductionNServiceBus introduction
NServiceBus introduction
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWS
 
Get started With Microsoft Azure Virtual Machine
Get started With Microsoft Azure Virtual MachineGet started With Microsoft Azure Virtual Machine
Get started With Microsoft Azure Virtual Machine
 
database migration simple, cross-engine and cross-platform migrations with ...
database migration   simple, cross-engine and cross-platform migrations with ...database migration   simple, cross-engine and cross-platform migrations with ...
database migration simple, cross-engine and cross-platform migrations with ...
 
Enterprise Cloud Computing with AWS - How enterprises are using the AWS Cloud...
Enterprise Cloud Computing with AWS - How enterprises are using the AWS Cloud...Enterprise Cloud Computing with AWS - How enterprises are using the AWS Cloud...
Enterprise Cloud Computing with AWS - How enterprises are using the AWS Cloud...
 
Building end-to-end IT Lifecycle Mgmt & Workflows with AWS Service Catalog - ...
Building end-to-end IT Lifecycle Mgmt & Workflows with AWS Service Catalog - ...Building end-to-end IT Lifecycle Mgmt & Workflows with AWS Service Catalog - ...
Building end-to-end IT Lifecycle Mgmt & Workflows with AWS Service Catalog - ...
 
DataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveDataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep Dive
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
Azure Infrastructure as Code and Hashicorp Terraform
Azure Infrastructure as Code and Hashicorp TerraformAzure Infrastructure as Code and Hashicorp Terraform
Azure Infrastructure as Code and Hashicorp Terraform
 
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 

Viewers also liked

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
 
Integration strategy for large erp deployments
Integration strategy for large erp deploymentsIntegration strategy for large erp deployments
Integration strategy for large erp deployments
 
Spring integration
Spring integrationSpring integration
Spring integration
 
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!

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
Hossam 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 XBRL
Jorgen Thelin
 
Internetworking
InternetworkingInternetworking
Internetworking
Raghu nath
 
Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)Bsit – integration styles (intra + inter)
Bsit – integration styles (intra + inter)
kyroskoh
 

Similar to 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
 

Recently uploaded

Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
David Celestin
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
ZurliaSoop
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Hung Le
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 

Recently uploaded (17)

Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait Cityin kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
 
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
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.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
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
 
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 Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
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
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Zone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptxZone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptx
 

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