SlideShare a Scribd company logo
Enterprise Service Bus
@azilentech
#AzilenTechMeetup
Background
Information – Key to Success but challenges.
Distributed data across different systems
Inter organization data dependency
Intra organization data dependency
EIP-Enterprise Integration Pattern
• This data dependency needs to be resolved
• We need a way to make these systems talk to each other
• And the HERO is EIP
• EIP-”EIP is a set of re-usable design patterns or solutions
which can be used to connect more than two enterprise
applications and made them talk to each other and
communicate to each other.”
• P2P, File Transfer, Messaging, RPC, Shared DB etc. are an
example of EIPs.
• P2P is the most widely used EIP.
P2P-Point To Point Integration
• Two applications talk to each other directly, no intermediary.
• P2P integration is only suitable for very few integration points and there is
no possibility for future expansion.
• If there are at least three different integration end-points, and many more
are on the road map, then P2P integration is certainly not an option.
• It increases complexity, maintenance and reduces agility and visibility.
What is an ESB ?
“An enterprise service bus (ESB) is a software architecture model used for
designing and implementing communication between mutually interacting
software applications in a service-oriented architecture (SOA).”
-Wikipedia
• In nutshell- The enterprise service bus (ESB) is a software infrastructure or
architectural pattern that facilitates application integration.
• ESB provides implementations of EIPs and abstracts away all the
integration complexity of enterprise application integration
Why do we need ESB ?
• Business applications are rarely live in isolation.
• Users expect instant access to all business functions an enterprise can
offer, which requires different applications to talk to each other.
• Fragmented application development languages space
Fragmented Protocol Space
• Fragmented protocol space applications uses to communicate
Here it is!
Advantages of ESB
ESB facilitate two or more applications talking to each other via well defined interface.
To abstract away complexity (Languages / Protocols)
Increased Visibility
Provides loose coupling and flexibility
Provides reliability, Agility, high productivity
Well defined architecture
Easy to on board new systems and integrations
Advantages of ESB
Easier to migrate legacy systems
Scalable/ Manageable/ stateless
No matter which technologies you have to use, you
always do it the same way, i.e. same syntax, same
API, same automatic tests. The only difference is
the configuration of each endpoint
Disadvantages of ESB
• Lots of initial overhead
• Expertise needs to be built into DevOps teams
• Not for everybody (some initial understanding or
development experience required)
• Initial learning curve
• A new technology and system needs to be maintain
Secondary duties of ESB
• Monitor and control routing of message exchange between
services
• Resolve contention between communicating service
components
• Cater for commodity services like event handling, data
transformation and mapping, message and event queuing and
sequencing, security or exception handling, protocol
conversion and enforcing proper quality of communication
service
Capabilities of ESB
Service Invocation
Routing
Messaging
Complex
Event
Processing
Mediation QoS
Management Agnosticism
Capabilities of ESB
Security
Transformation
(xml, csv, json)
Enrichment Validation
Split and Merge
Different ESB Frameworks
• There are many different ESB offerings available in both
commercial and Open Source license agreement.
• The widely used open source offerings are as below
1. Apache Camel
2. Mule ESB
3. JBoss Fuse
4. WSO2 ESB
5. Spring Integration
Follows Same Religion
Comparison Criteria
Similarities
• All these frameworks have many similarities.
• All implement the EIPs and offer a consistent model
• The only difference is the configuration of each endpoint
• Though each framework uses different names, the idea is the same.
• For instance, “Camel routes“ are equivalent to “Mule flows“, “Camel components“
are called “adapters“ in Spring Integration.
Differences
• Very few differences between them
• Community support
• Tooling
• DSL (Domain specific languages)
• Popularity
• Developer Vs. Designer centric
What to Focus on?
Who uses ESB ?
Million-Dollar Question –When to ESB ?
Wrong Usage
Proper Usage
Please Beware !
• There is no silver bullet, an ESB can also be the wrong choice.
• Selecting the right product is essential for your project success.
Case Study-MyCart
• Order management
• Bulk Order management
• Shipping Logistics
• Customer management
• Analytics (Roadmap)
• Marketing Campaign (Roadmap)
Traditional Solution(P2P)
Order Management
System
Bulk Order
Management
system
Logistics system
Customer
Management
System
Analytics System Marketing System
Solution Using ESB
ESB
Order Management
System
Order Management
System
Order Management
System
Customer
Management
System
Analytics System Marketing System
Thank You
Twitter Contest !
Which license does Mule ESB offers to open
source community ?
Common Public Attribution License (CPAL)
@azilentech
#AzilenTechMeetup
Overview of ESB at Azilen Tech Meetup

More Related Content

Overview of ESB at Azilen Tech Meetup

  • 2. Background Information – Key to Success but challenges. Distributed data across different systems Inter organization data dependency Intra organization data dependency
  • 3. EIP-Enterprise Integration Pattern • This data dependency needs to be resolved • We need a way to make these systems talk to each other • And the HERO is EIP • EIP-”EIP is a set of re-usable design patterns or solutions which can be used to connect more than two enterprise applications and made them talk to each other and communicate to each other.” • P2P, File Transfer, Messaging, RPC, Shared DB etc. are an example of EIPs. • P2P is the most widely used EIP.
  • 4. P2P-Point To Point Integration • Two applications talk to each other directly, no intermediary. • P2P integration is only suitable for very few integration points and there is no possibility for future expansion. • If there are at least three different integration end-points, and many more are on the road map, then P2P integration is certainly not an option. • It increases complexity, maintenance and reduces agility and visibility.
  • 5. What is an ESB ? “An enterprise service bus (ESB) is a software architecture model used for designing and implementing communication between mutually interacting software applications in a service-oriented architecture (SOA).” -Wikipedia • In nutshell- The enterprise service bus (ESB) is a software infrastructure or architectural pattern that facilitates application integration. • ESB provides implementations of EIPs and abstracts away all the integration complexity of enterprise application integration
  • 6. Why do we need ESB ? • Business applications are rarely live in isolation. • Users expect instant access to all business functions an enterprise can offer, which requires different applications to talk to each other. • Fragmented application development languages space
  • 7. Fragmented Protocol Space • Fragmented protocol space applications uses to communicate
  • 9. Advantages of ESB ESB facilitate two or more applications talking to each other via well defined interface. To abstract away complexity (Languages / Protocols) Increased Visibility Provides loose coupling and flexibility Provides reliability, Agility, high productivity Well defined architecture Easy to on board new systems and integrations
  • 10. Advantages of ESB Easier to migrate legacy systems Scalable/ Manageable/ stateless No matter which technologies you have to use, you always do it the same way, i.e. same syntax, same API, same automatic tests. The only difference is the configuration of each endpoint
  • 11. Disadvantages of ESB • Lots of initial overhead • Expertise needs to be built into DevOps teams • Not for everybody (some initial understanding or development experience required) • Initial learning curve • A new technology and system needs to be maintain
  • 12. Secondary duties of ESB • Monitor and control routing of message exchange between services • Resolve contention between communicating service components • Cater for commodity services like event handling, data transformation and mapping, message and event queuing and sequencing, security or exception handling, protocol conversion and enforcing proper quality of communication service
  • 13. Capabilities of ESB Service Invocation Routing Messaging Complex Event Processing Mediation QoS Management Agnosticism
  • 14. Capabilities of ESB Security Transformation (xml, csv, json) Enrichment Validation Split and Merge
  • 15. Different ESB Frameworks • There are many different ESB offerings available in both commercial and Open Source license agreement. • The widely used open source offerings are as below 1. Apache Camel 2. Mule ESB 3. JBoss Fuse 4. WSO2 ESB 5. Spring Integration
  • 18. Similarities • All these frameworks have many similarities. • All implement the EIPs and offer a consistent model • The only difference is the configuration of each endpoint • Though each framework uses different names, the idea is the same. • For instance, “Camel routes“ are equivalent to “Mule flows“, “Camel components“ are called “adapters“ in Spring Integration.
  • 19. Differences • Very few differences between them • Community support • Tooling • DSL (Domain specific languages) • Popularity • Developer Vs. Designer centric
  • 25. Please Beware ! • There is no silver bullet, an ESB can also be the wrong choice. • Selecting the right product is essential for your project success.
  • 26. Case Study-MyCart • Order management • Bulk Order management • Shipping Logistics • Customer management • Analytics (Roadmap) • Marketing Campaign (Roadmap)
  • 27. Traditional Solution(P2P) Order Management System Bulk Order Management system Logistics system Customer Management System Analytics System Marketing System
  • 28. Solution Using ESB ESB Order Management System Order Management System Order Management System Customer Management System Analytics System Marketing System
  • 30. Twitter Contest ! Which license does Mule ESB offers to open source community ? Common Public Attribution License (CPAL) @azilentech #AzilenTechMeetup

Editor's Notes

  1. Inter organization dependency (Amazon / Flipcart) Intra organization dependency (Google add-sense/ Youtube / Netflix)
  2. Community size Active community Helping hands What are the tools available ? Are they easy and useful ? Java,scala,xml,Groovy
  3. Car pool-When to use car pool ? When use two-wheeler ?