SlideShare a Scribd company logo
1 of 17
Others Talk,
We Listen.
Down-to-Earth
Microservices
with Java EE
Reza Rahman
Senior Architect
rrahman@captechconsulting.com
@reza_rahman
CapTech
Full-service US national IT consulting firm that focuses on client best interests,
trust, servant leadership, culture, professionalism and technical excellence.
#28 in Vault's Consulting Top 50
#3 Best Consulting Internship
#9 Best Overall Internship
#1 in Meeting Client’s Needs
#7 Best Firm to Work For
#1 in Career Development
Ranked for the
7th
Consecutive Year
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Agenda
• What exactly are microservices?
• Are microservices for you?
• Microservices and Java EE
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
What’s in a Name?
• “Microservices” very vague
• Big hurdle to practical adoption by average Joe developer
• Poor naming regime, including “monolith”
• Overloaded by commercial interests
• Simple concept with a long history
• UNIX, CORBA, Jini, RMI, EJB 1/2, COM/DCOM, OSGi, SOAP/ESB
• An intellectually honest name could be “Son of SOA”
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
What’s in a Name?
• Decomposing larger systems into smaller independently deployable
parts
• Purists distance themselves from SOAP, ESB
• Purists embrace mostly REST and messaging
• Purists take for granted testing, DevOps, continuous delivery
• Purists focus on (ridiculously) fine grained services
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
The Promise
• As systems grow, they become harder to maintain without modularity
• Ideal size for “monolithic” team is somewhere around 10-12 engineers
• Distributed systems can enforce better modularity
• Greater agility – maybe
• Easier to scale – maybe
• Polyglot programming – maybe
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
The Reality
• Long well-understood downsides of distributed systems
• Significantly more complex administration, deployment and monitoring
• Significantly harder testing, debugging, diagnostics, reliability,
consistency
• Code duplication - the challenges of finding module boundaries
• Higher skill and automation requirements for development and operations
• “Distributed big ball of mud”
• “Fallacies of distributed computing”
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
The Reality
• The Bottom Line
• Majority of systems probably just fine as “monoliths”
• Majority of systems needing microservices would be considered “hybrids”
by purists
• Few practical enterprise systems can or need to achieve “microservices
nirvana”
• Business and system needs most of the time make decomposition lines
obvious
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
DDD
Bounded
Context
A Picture Says a Thousand Words…
For most ordinary “blue collar” IT organizations “microservices nirvana” is
probably more like microservices hell.
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Microservices and Vanilla Java EE
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
JAX-RSJAX-RS
JSFJSF
JMSJMS WebSocketWebSocket
JSONJSON
CDICDI
Bean
Validation
Bean
Validation
EJB 3EJB 3 JPAJPA
AdministrationAdministration
MonitoringMonitoring
High
Availability
High
Availability SecuritySecurity
ResourcesResources
Pragmatic Java EE Microservices Demo
https://github.com/m-reza-rahman/javaee-pragmatic-microservices
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Microservices Buzzword Bingo
• Fat jars, uber jars, “containerless”, microframeworks
• WildFly Swarm, Payara Micro, WebSphere Liberty, KumuluzEE, TomEE
embedded, Spring Boot
• Containers
• Docker
• Cloud, IaaS, PaaS
• AWS, OpenShift, Oracle Cloud, BlueMix, Cloud Foundry
• Dynamic discovery, client-side load-balancing, circuit-breakers/bulkheads,
health-check/metrics
• Ribbon, Hystrix, RxJava, NetFlixOSS
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Microservices and Java EE
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
http://microprofile.io
Java EE 9
• Dynamic configuration, health-check, OAuth, OpenID
• Fat jars, Java SE 9 modules
• Dynamic discovery, circuit-breakers/bulkheads/client-side load-balancing
• NoSQL, state management, eventual consistency, events
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Summary
• Microservices newest incarnation of ideas with a long history, the last major
incarnation being SOA.
• Microservices is a valuable architectural technique that is pretty technology
agnostic.
• Microservices are not necessarily for everyone, not necessary always and not
necessarily all-at-once.
• Vanilla Java EE is a very capable platform for pragmatic microservices more
relevant to ordinary IT organizations, “monoliths” and everything in between.
• The Java EE ecosystem is already stepping up to support even the niche of
microservices nirvana.
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Resources
• Microservices Premium by Martin Fowler
• https://martinfowler.com/bliki/MicroservicePremium.html
• Microservices is SOA, for those who know what SOA is
• http://service-architecture.blogspot.com/2014/03/microservices-is-soa-for-those
• Java EE Tutorials
• http://docs.oracle.com/javaee/7/tutorial/doc/home.htm
• Pragmatic Microservices Lab
• https://github.com/m-reza-rahman/pragmatic-microservices-lab
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
Copyright©2015CapTechVentures,Inc.Allrightsreserved.

More Related Content

What's hot

Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Heather VanCura
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Edward Burns
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondOracle
 
Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reza Rahman
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7Shekhar Gulati
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Reza Rahman
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the HorizonJosh Juneau
 
What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)Rudy De Busscher
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Edward Burns
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015Pavel Bucek
 

What's hot (16)

Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and Beyond
 
Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
 
MySQL
MySQLMySQL
MySQL
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
 
Move from J2EE to Java EE
Move from J2EE to Java EEMove from J2EE to Java EE
Move from J2EE to Java EE
 
What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
 
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David DelabasseeJavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 

Similar to Down-to-Earth Microservices with Java EE

Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
 
Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Adrian Treacy
 
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...RightScale
 
Got Shadow IT? How to Win-Win with a Private Cloud.
Got Shadow IT? How to Win-Win with a Private Cloud.Got Shadow IT? How to Win-Win with a Private Cloud.
Got Shadow IT? How to Win-Win with a Private Cloud.Platform9
 
110307 cloud security requirements gourley
110307 cloud security requirements gourley110307 cloud security requirements gourley
110307 cloud security requirements gourleyGovCloud Network
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with MicroservicesMarkus Eisele
 
Microservices Gone Wrong!
Microservices Gone Wrong!Microservices Gone Wrong!
Microservices Gone Wrong!Bert Ertman
 
Coding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkCoding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkJames Wickett
 
Navigating a Mesh of Microservices in the new Cloud-Native World with Istio
Navigating a Mesh of Microservices in the new Cloud-Native World with IstioNavigating a Mesh of Microservices in the new Cloud-Native World with Istio
Navigating a Mesh of Microservices in the new Cloud-Native World with IstioGary Arora
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud StrategyInternap
 
Webinar: Is Convergence right for you? – 4 questions to ask
Webinar: Is Convergence right for you? – 4 questions to askWebinar: Is Convergence right for you? – 4 questions to ask
Webinar: Is Convergence right for you? – 4 questions to askStorage Switzerland
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native StackApcera
 
Securing the Cloud Native stack
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stackHector Tapia
 
2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert ErtmanApeldoorn JUG
 
Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)Anton de Ruiter
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithMarkus Eisele
 
Brighttalk understanding the promise of sde - final
Brighttalk   understanding the promise of sde - finalBrighttalk   understanding the promise of sde - final
Brighttalk understanding the promise of sde - finalAndrew White
 
Mucon microservices and innovation
Mucon microservices and innovationMucon microservices and innovation
Mucon microservices and innovationGawain Hammond
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesRick Hightower
 

Similar to Down-to-Earth Microservices with Java EE (20)

A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11
 
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca...
 
Got Shadow IT? How to Win-Win with a Private Cloud.
Got Shadow IT? How to Win-Win with a Private Cloud.Got Shadow IT? How to Win-Win with a Private Cloud.
Got Shadow IT? How to Win-Win with a Private Cloud.
 
110307 cloud security requirements gourley
110307 cloud security requirements gourley110307 cloud security requirements gourley
110307 cloud security requirements gourley
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
 
Microservices Gone Wrong!
Microservices Gone Wrong!Microservices Gone Wrong!
Microservices Gone Wrong!
 
Coding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkCoding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE framework
 
Navigating a Mesh of Microservices in the new Cloud-Native World with Istio
Navigating a Mesh of Microservices in the new Cloud-Native World with IstioNavigating a Mesh of Microservices in the new Cloud-Native World with Istio
Navigating a Mesh of Microservices in the new Cloud-Native World with Istio
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
 
Webinar: Is Convergence right for you? – 4 questions to ask
Webinar: Is Convergence right for you? – 4 questions to askWebinar: Is Convergence right for you? – 4 questions to ask
Webinar: Is Convergence right for you? – 4 questions to ask
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native Stack
 
Securing the Cloud Native stack
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stack
 
2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman
 
Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
 
Brighttalk understanding the promise of sde - final
Brighttalk   understanding the promise of sde - finalBrighttalk   understanding the promise of sde - final
Brighttalk understanding the promise of sde - final
 
Mucon microservices and innovation
Mucon microservices and innovationMucon microservices and innovation
Mucon microservices and innovation
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

Down-to-Earth Microservices with Java EE

  • 1. Others Talk, We Listen. Down-to-Earth Microservices with Java EE Reza Rahman Senior Architect rrahman@captechconsulting.com @reza_rahman
  • 2. CapTech Full-service US national IT consulting firm that focuses on client best interests, trust, servant leadership, culture, professionalism and technical excellence. #28 in Vault's Consulting Top 50 #3 Best Consulting Internship #9 Best Overall Internship #1 in Meeting Client’s Needs #7 Best Firm to Work For #1 in Career Development Ranked for the 7th Consecutive Year Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 3. Agenda • What exactly are microservices? • Are microservices for you? • Microservices and Java EE Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 4. What’s in a Name? • “Microservices” very vague • Big hurdle to practical adoption by average Joe developer • Poor naming regime, including “monolith” • Overloaded by commercial interests • Simple concept with a long history • UNIX, CORBA, Jini, RMI, EJB 1/2, COM/DCOM, OSGi, SOAP/ESB • An intellectually honest name could be “Son of SOA” Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 5. What’s in a Name? • Decomposing larger systems into smaller independently deployable parts • Purists distance themselves from SOAP, ESB • Purists embrace mostly REST and messaging • Purists take for granted testing, DevOps, continuous delivery • Purists focus on (ridiculously) fine grained services Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 6. The Promise • As systems grow, they become harder to maintain without modularity • Ideal size for “monolithic” team is somewhere around 10-12 engineers • Distributed systems can enforce better modularity • Greater agility – maybe • Easier to scale – maybe • Polyglot programming – maybe Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 7. The Reality • Long well-understood downsides of distributed systems • Significantly more complex administration, deployment and monitoring • Significantly harder testing, debugging, diagnostics, reliability, consistency • Code duplication - the challenges of finding module boundaries • Higher skill and automation requirements for development and operations • “Distributed big ball of mud” • “Fallacies of distributed computing” Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 8. The Reality • The Bottom Line • Majority of systems probably just fine as “monoliths” • Majority of systems needing microservices would be considered “hybrids” by purists • Few practical enterprise systems can or need to achieve “microservices nirvana” • Business and system needs most of the time make decomposition lines obvious Copyright © 2015 CapTech Ventures, Inc. All rights reserved. DDD Bounded Context
  • 9. A Picture Says a Thousand Words… For most ordinary “blue collar” IT organizations “microservices nirvana” is probably more like microservices hell. Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 10. Microservices and Vanilla Java EE Copyright © 2015 CapTech Ventures, Inc. All rights reserved. JAX-RSJAX-RS JSFJSF JMSJMS WebSocketWebSocket JSONJSON CDICDI Bean Validation Bean Validation EJB 3EJB 3 JPAJPA AdministrationAdministration MonitoringMonitoring High Availability High Availability SecuritySecurity ResourcesResources
  • 11. Pragmatic Java EE Microservices Demo https://github.com/m-reza-rahman/javaee-pragmatic-microservices Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 12. Microservices Buzzword Bingo • Fat jars, uber jars, “containerless”, microframeworks • WildFly Swarm, Payara Micro, WebSphere Liberty, KumuluzEE, TomEE embedded, Spring Boot • Containers • Docker • Cloud, IaaS, PaaS • AWS, OpenShift, Oracle Cloud, BlueMix, Cloud Foundry • Dynamic discovery, client-side load-balancing, circuit-breakers/bulkheads, health-check/metrics • Ribbon, Hystrix, RxJava, NetFlixOSS Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 13. Microservices and Java EE Copyright © 2015 CapTech Ventures, Inc. All rights reserved. http://microprofile.io
  • 14. Java EE 9 • Dynamic configuration, health-check, OAuth, OpenID • Fat jars, Java SE 9 modules • Dynamic discovery, circuit-breakers/bulkheads/client-side load-balancing • NoSQL, state management, eventual consistency, events Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 15. Summary • Microservices newest incarnation of ideas with a long history, the last major incarnation being SOA. • Microservices is a valuable architectural technique that is pretty technology agnostic. • Microservices are not necessarily for everyone, not necessary always and not necessarily all-at-once. • Vanilla Java EE is a very capable platform for pragmatic microservices more relevant to ordinary IT organizations, “monoliths” and everything in between. • The Java EE ecosystem is already stepping up to support even the niche of microservices nirvana. Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  • 16. Resources • Microservices Premium by Martin Fowler • https://martinfowler.com/bliki/MicroservicePremium.html • Microservices is SOA, for those who know what SOA is • http://service-architecture.blogspot.com/2014/03/microservices-is-soa-for-those • Java EE Tutorials • http://docs.oracle.com/javaee/7/tutorial/doc/home.htm • Pragmatic Microservices Lab • https://github.com/m-reza-rahman/pragmatic-microservices-lab Copyright © 2015 CapTech Ventures, Inc. All rights reserved.