1
How would ESBs look like,
if they were done today?
Markus Eisele, @myfear
Developer Advocate
markus@jboss.org
October, 2015
“What’s right isn’t always popular.
What’s popular isn’t always right”
Howard Cosell
Application Server
Large Java EE / J2EE based applications
Application Server
EAR EAR EAR
WAR
JAR JAR JAR JAR
JAR JAR WAR
JAR JAR
EAM <?>
LoadBalancer
• Monolithic application – everything is package into a single .ear
• Reuse primarily by sharing .jars
• A “big” push to production once or twice a year
• Single database schema for the entire application
• >= 500k loc
• >= Heavyweight Infrastructure
• Thousands of Testcases
• Barely New Testcases
TechnicalImplications
5
• >= 20 Team Member
• The single .ear requiring a multi-month test cycle /
• Huge bug and feature databases
• User Acceptance Undefined
• Technical Design Approach
• Barely Business Components or Domains
• Requiring multiple team involvement & significant
oversight
TeamandQAImplications
6
• Still changing requirements.
• New features tend to be HUGE!
• Cross-cutting concerns nearly impossible to
implement.
Andevennow…
7
Why?
8
Technical Dept!
We’re lazy!
Inexperienced!
No education! Outdated Infrastructure!
We always did it like that.
Outdated Designpattern?
Grown application Outdated Runtimes!
9
Where did we go
from here?
10
We treated
everything as a
legacy system and
try to solve
integration
problems.
11
ENTERPRISE!
CENTRALIZE!
STANDARDS!
LICENSES!
INTEGRATION?
Enterprise Service Bus
Orchestration
12
• Still very large codebases
• Overloaded IDEs
• Hard to understand and modify
• Hard to test
• Complex dependencies
• Small Changes generate big Impact
• Difficult to scale
• Mostly not rewritten but “re-wired”
• Data Segmentation not defined
• Scaling difficult
TechnicalImplications
13
Hmmm … and
where are we
today?
14
15
Name it whatever you
like.
16
We’re decomposing
monoliths
and evolve them into
microservices
architectures.
17
Reduce Impact of Change by
Encapsulating Source of
Change
http://martinfowler.com/articles/microservices.html
18
How to find the
Right
Services?
19
Domain Driven Design
Bounded contexts
Designed For Automation
Designed for Failure
Independently Deployable
FromScratch
20
Verb or Use Case
e.g. Checkout UI
Noun
e.g. Catalog product service
Single Responsible Principle e.g.
Unix utilities
EvolutionFromExisting
21
What did ESBs do?
22
• Monitor and control routing of message exchange
between services
• Resolve contention between communicating service
components
• Control deployment and versioning of services
• Marshal use of redundant services
• 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
23
Let’s deconstruct the
$hit.
24
”Monitor and control routing of
message exchange between services”
25
• Not really anymore.
• “Services do one thing well”
• Bunch of different approaches to
service design and interaction.
• No centralized point of “control”
26
Aggregator Pattern
w or w/o Proxy
Chained Pattern Branch Pattern …..
27
”Resolve contention between
communicating service components”
28
“Smart endpoints and dumb pipes”
- Martin Fowler
http://martinfowler.com/articles/microservices.html
29
“Control deployment and
versioning of services”
30
- Deployment
- Configuration
- Profiles / App Packaging
- Service Discovery
- Versions
- Monitoring
- Governance
31
“Marshal use of redundant services”
32
“Decentralized Governance”
- Martin Fowler
http://martinfowler.com/articles/microservices.html#DecentralizedGovernanc
e
33
“Cater for commodity services”
34
• a lightweight service runtime
• Cross – Service Security
• Transaction Management
• Service Scaling
• Load Balancing
• Deployment
• Configuration
• Profiles / App Packaging
• Service Discovery
• Versions
• Monitoring
• Governance
• Failure Handling
• Asynchronous vs. Synchronous
• Cross – Service Logging
• ...
35
An approach.
36
Container
Container
Load
Balancer
ServiceAA DBClient Cache
APIGateway
Security
Service
Registry
ContainerContainer
Apossiblesolution...
37
The Pieces
38
http://undertow.io/
39
http://www.apiman.io/
40
41
42
• Implemented with Docker and
Kubernetes
• Use any JVM (or any technology)
• Docker images, encourage static, well-
defined, well-tested deployments
• Provides networking, JVM isolation,
orchestration, auto-scaling, health
checks, cloud deployments
• Still in community!
• Supports OpenShift v3
Fabric8 V2
43
And keep in mind….
44
 Operations and development are skills, not
roles. Delivery teams are composed of
people with all the necessary skills.
 Delivery teams run software products - not
projects - that run from inception to
retirement
DevOps .. Is a culture.
45
Let’s take one
step at a time and
not solve
everything at
once.
aka “Evolutionary Design”
46
Easy As That?
47
• No silver bullet; distributed systems are *hard*
• Dependency hell, custom shared libraries
• Fragmented and inconsistent management
• Team communication challenges
• Health checking, monitoring, liveness
• Over architecting, performance concerns, things
spiraling out of control fast
WARNING: Challenges ahead!
48
 Complex Runtime: many moving parts
 Distributed Systems are inherently complex
 Services are deployed on multiple instances
 Decentralized Data (Distributed Transactions vs
eventual consistency)
 Communication between services (Network and
Configuration)
 Synchronous vs. Asynchronous vs. Messaging
Communication
 Communication overhead (n2n)
 Failure Handling (Circuit Breaker)
 Service-/Metadata Registry
WARNING: Challenges ahead!
49
?
Load Balancing
API Management
Configuration
Deployment
Monitoring
SecurityGovernance
Nodes
Cartridges
Versions Patches
Changes
50
And this is only the
beginning...
The industry is still
learning a lot.
51
52
Correct functional decomposition is
crucial for microservices:
• pretty hard to get right from the
start
• a modular system can evolve to
microservices
• balance the needs with the costs
• work on it evolutionary
Takeaway:
53
Are they here to stay?
54
Nobody knows.
55
Take with you today:
56
• There is no single successor to ESBs.
• The whole turned into pieces.
• We’re still evolving them.
57
http://bit.ly/virtualJBUG
@vJBUG
58
http://developers.redhat.com/promotions/distributed-javaee-architecture
59
How would ESBs look like, if they were done today.
61
http://www.lordofthejars.com/2014/07/rxjava-java8-java-ee-7-arquillian-bliss.html
http://www.lordofthejars.com/2014/09/defend-your-application-with-hystrix.html
http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html
http://martinfowler.com/articles/microservices.html
http://microservices.io/patterns/microservices.html
http://techblog.netflix.com/2013/01/optimizing-netflix-api.html
http://www.infoq.com/articles/microservices-intro
https://sites.google.com/a/jezhumble.net/devops-manifesto/

More Related Content

PDF
Taking the friction out of microservice frameworks with Lagom
PDF
Architecting for failure - Why are distributed systems hard?
PDF
Stay productive while slicing up the monolith
PDF
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
PDF
Stay productive_while_slicing_up_the_monolith
PDF
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
PPTX
A Microservice Journey
PDF
SOA to Microservices
Taking the friction out of microservice frameworks with Lagom
Architecting for failure - Why are distributed systems hard?
Stay productive while slicing up the monolith
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
Stay productive_while_slicing_up_the_monolith
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
A Microservice Journey
SOA to Microservices

What's hot (20)

PPTX
An evolution of application networking: service mesh
PDF
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
PPTX
Microservices Journey Summer 2017
PDF
Microservices Journey NYC
PDF
Microservices and APIs
PDF
Java one kubernetes, jenkins and microservices
PPTX
A microservices journey - Round 2
PPTX
DevNexus 2015
PDF
Microservices with Apache Camel, DDD, and Kubernetes
PDF
Managing your camels in the cloud with CI/CD
PPTX
Microservices Journey Fall 2017
PPTX
Micro service architecture
PPTX
The hardest part of microservices: your data
PDF
Microservices with Spring Cloud, Netflix OSS and Kubernetes
PPTX
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
PDF
Lowering the risk of monolith to microservices
PDF
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
PDF
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
PPTX
Microservices and Integration: what's next with Istio service mesh
PDF
Chicago Microservices Integration Talk
An evolution of application networking: service mesh
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
Microservices Journey Summer 2017
Microservices Journey NYC
Microservices and APIs
Java one kubernetes, jenkins and microservices
A microservices journey - Round 2
DevNexus 2015
Microservices with Apache Camel, DDD, and Kubernetes
Managing your camels in the cloud with CI/CD
Microservices Journey Fall 2017
Micro service architecture
The hardest part of microservices: your data
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Lowering the risk of monolith to microservices
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Microservices and Integration: what's next with Istio service mesh
Chicago Microservices Integration Talk
Ad

Viewers also liked (20)

PDF
Swarms: introduction
PDF
Java EE microservices architecture - evolving the monolith
PDF
Microservices = Death of the Enterprise Service Bus (ESB)?
PDF
Wild Flies and a Camel Java EE Integration Stories
PDF
Wild Flies and a Camel - Chicago JUG - 03/15
PDF
Microservice Come in Systems
PDF
OpenShift for Java EE Developers
PDF
Community and Java EE @ DevConf.CZ
PDF
Architecting Large Enterprise Projects @DevConf.CZ
PDF
Modernizing Applications with Microservices
PDF
Nine Neins - where Java EE will never take you
PDF
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
PPTX
Real-Time Integration Between MongoDB and SQL Databases
PDF
NodeConf EU, Red Hat Mobile Keynote
PDF
Enterprise Mobility 1st Step Towards Digital Transformation
PDF
Develop a Mobile Application coonected to a REST backend
PDF
From XaaS to Java EE – Which damn cloud is right for me?
PDF
Architecting Large Enterprise Java Projects
PDF
Java cloud service - And introduction for Java EE Developers
PDF
Java EE 7 - Into the Cloud
Swarms: introduction
Java EE microservices architecture - evolving the monolith
Microservices = Death of the Enterprise Service Bus (ESB)?
Wild Flies and a Camel Java EE Integration Stories
Wild Flies and a Camel - Chicago JUG - 03/15
Microservice Come in Systems
OpenShift for Java EE Developers
Community and Java EE @ DevConf.CZ
Architecting Large Enterprise Projects @DevConf.CZ
Modernizing Applications with Microservices
Nine Neins - where Java EE will never take you
Microservices - Death of the Enterprise Service Bus (ESB)? (Update 2016)
Real-Time Integration Between MongoDB and SQL Databases
NodeConf EU, Red Hat Mobile Keynote
Enterprise Mobility 1st Step Towards Digital Transformation
Develop a Mobile Application coonected to a REST backend
From XaaS to Java EE – Which damn cloud is right for me?
Architecting Large Enterprise Java Projects
Java cloud service - And introduction for Java EE Developers
Java EE 7 - Into the Cloud
Ad

Similar to How would ESBs look like, if they were done today. (20)

PDF
Cloudify your applications: microservices and beyond
PPTX
Understanding Microservices
PDF
Microservices for java architects it-symposium-2015-09-15
PDF
Will Microservices Die.pdf
PPTX
Are Microservices our future?
PDF
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
PDF
Tactics Esb Implementation
PDF
SoC Keynote:The State of the Art in Integration Technology
PPTX
Accelerate DevOps/Microservices and Kubernetes
PDF
ESP POC Findings
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
PDF
Making microservices work
PDF
2011-ESB-WP-Draft
PPTX
3.6 - ESB Fundamentals
PDF
WSO2 ESB and SOA
PPT
Ss Esb
PPT
Ss Esb
PPTX
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
PDF
20141210 - Microservice Container
Cloudify your applications: microservices and beyond
Understanding Microservices
Microservices for java architects it-symposium-2015-09-15
Will Microservices Die.pdf
Are Microservices our future?
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
Tactics Esb Implementation
SoC Keynote:The State of the Art in Integration Technology
Accelerate DevOps/Microservices and Kubernetes
ESP POC Findings
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Making microservices work
2011-ESB-WP-Draft
3.6 - ESB Fundamentals
WSO2 ESB and SOA
Ss Esb
Ss Esb
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
20141210 - Microservice Container

More from Markus Eisele (20)

PDF
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
PDF
Backstage Software Templates for Java Developers
PDF
SparksCon 2024 - Die Ringe der Macht
PDF
Sustainable Software Architecture - Open Tour DACH '22
PDF
Going from java message service (jms) to eda
PDF
Let's be real. Quarkus in the wild.
PDF
What happens when unicorns drink coffee
PDF
Stateful on Stateless - The Future of Applications in the Cloud
PDF
Java in the age of containers - JUG Frankfurt/M
PDF
Java in the Age of Containers and Serverless
PDF
Migrating from Java EE to cloud-native Reactive systems
PDF
Streaming to a new Jakarta EE / JOTB19
PDF
Cloud wars - A LavaOne discussion in seven slides
PDF
Streaming to a new Jakarta EE
PDF
Reactive Integrations - Caveats and bumps in the road explained
PDF
Stay productive while slicing up the monolith
PDF
Stay productive while slicing up the monolith
PDF
How lagom helps to build real world microservice systems
PDF
CQRS and Event Sourcing for Java Developers
PDF
10 Golden Social Media Rules for Developer Relations Manager
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Backstage Software Templates for Java Developers
SparksCon 2024 - Die Ringe der Macht
Sustainable Software Architecture - Open Tour DACH '22
Going from java message service (jms) to eda
Let's be real. Quarkus in the wild.
What happens when unicorns drink coffee
Stateful on Stateless - The Future of Applications in the Cloud
Java in the age of containers - JUG Frankfurt/M
Java in the Age of Containers and Serverless
Migrating from Java EE to cloud-native Reactive systems
Streaming to a new Jakarta EE / JOTB19
Cloud wars - A LavaOne discussion in seven slides
Streaming to a new Jakarta EE
Reactive Integrations - Caveats and bumps in the road explained
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
How lagom helps to build real world microservice systems
CQRS and Event Sourcing for Java Developers
10 Golden Social Media Rules for Developer Relations Manager

Recently uploaded (20)

PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
substrate PowerPoint Presentation basic one
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
SaaS reusability assessment using machine learning techniques
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
CEH Module 2 Footprinting CEH V13, concepts
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
Human Computer Interaction Miterm Lesson
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
4 layer Arch & Reference Arch of IoT.pdf
substrate PowerPoint Presentation basic one
Auditboard EB SOX Playbook 2023 edition.
LMS bot: enhanced learning management systems for improved student learning e...
SaaS reusability assessment using machine learning techniques
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Presentation - Principles of Instructional Design.pptx
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
Rapid Prototyping: A lecture on prototyping techniques for interface design
Module 1 Introduction to Web Programming .pptx
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
CEH Module 2 Footprinting CEH V13, concepts
Build automations faster and more reliably with UiPath ScreenPlay
Human Computer Interaction Miterm Lesson

How would ESBs look like, if they were done today.