Down-to-Earth Microservices with Java EE

Reza Rahman
Reza RahmanPrincipal Program Manager at Microsoft
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.
1 of 17

Recommended

HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015 by
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
19.2K views82 slides
EJB and CDI - Alignment and Strategy by
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyDavid Delabassee
31.9K views43 slides
MVC 1.0 / JSR 371 by
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371David Delabassee
12.7K views42 slides
Seven Points for Applying Java EE 7 by
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Hirofumi Iwasaki
24.2K views67 slides
Finally, EE Security API JSR 375 by
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Alex Kosowski
13.4K views80 slides
Java EE 8 - An instant snapshot by
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
10.7K views91 slides

More Related Content

What's hot

Adopt-a-JSR for JSON Processing 1.1, JSR 374 by
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
6.5K views13 slides
JavaScript Frameworks and Java EE – A Great Match by
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
132.8K views11 slides
Servlet 4.0 at GeekOut 2015 by
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Edward Burns
19.3K views87 slides
What's New in WebLogic 12.1.3 and Beyond by
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
20.3K views16 slides
Reactive Java EE - Let Me Count the Ways! by
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
104.5K views39 slides
Burns jsf-confess-2015 by
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
2.3K views37 slides

What's hot(16)

Adopt-a-JSR for JSON Processing 1.1, JSR 374 by Heather VanCura
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
Heather VanCura6.5K views
JavaScript Frameworks and Java EE – A Great Match by Reza Rahman
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
Reza Rahman132.8K views
Servlet 4.0 at GeekOut 2015 by Edward Burns
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
Edward Burns19.3K views
What's New in WebLogic 12.1.3 and Beyond by Oracle
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
Oracle20.3K views
Reactive Java EE - Let Me Count the Ways! by Reza Rahman
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 Rahman104.5K views
Burns jsf-confess-2015 by Edward Burns
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
Edward Burns2.3K views
Modern web application development with java ee 7 by Shekhar Gulati
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
Shekhar Gulati24K views
MySQL by PT.JUG
MySQLMySQL
MySQL
PT.JUG4.9K views
Have You Seen Java EE Lately? by Reza Rahman
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Reza Rahman37.1K views
Java EE 7 from an HTML5 Perspective, JavaLand 2015 by Edward Burns
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
Edward Burns3.4K views
Java EE 8: On the Horizon by Josh Juneau
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
Josh Juneau13.3K views
What is tackled in the Java EE Security API (Java EE 8) by Rudy De Busscher
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 Busscher18.8K views
Ed presents JSF 2.2 and WebSocket to Gameduell. by Edward Burns
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 Burns3.9K views
WebSocket in Enterprise Applications 2015 by Pavel Bucek
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
Pavel Bucek1.9K views

Similar to Down-to-Earth Microservices with Java EE

A Microservice Journey by
A Microservice JourneyA Microservice Journey
A Microservice JourneyChristian Posta
2.4K views71 slides
Microservices Journey NYC by
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
2.3K views81 slides
Tw Technology Radar Qtb Sep11 by
Tw Technology Radar Qtb Sep11Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11Adrian Treacy
437 views18 slides
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca... by
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
680 views15 slides
Got Shadow IT? How to Win-Win with a Private Cloud. by
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
347 views28 slides
110307 cloud security requirements gourley by
110307 cloud security requirements gourley110307 cloud security requirements gourley
110307 cloud security requirements gourleyGovCloud Network
976 views21 slides

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

Tw Technology Radar Qtb Sep11 by Adrian Treacy
Tw Technology Radar Qtb Sep11Tw Technology Radar Qtb Sep11
Tw Technology Radar Qtb Sep11
Adrian Treacy437 views
2012 RightScale Conference NYC - Thomas Packert, Chief Technology Officer, Ca... by RightScale
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...
RightScale680 views
Got Shadow IT? How to Win-Win with a Private Cloud. by Platform9
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.
Platform9347 views
110307 cloud security requirements gourley by GovCloud Network
110307 cloud security requirements gourley110307 cloud security requirements gourley
110307 cloud security requirements gourley
GovCloud Network976 views
Modernizing Applications with Microservices by Markus Eisele
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
Markus Eisele544 views
Microservices Gone Wrong! by Bert Ertman
Microservices Gone Wrong!Microservices Gone Wrong!
Microservices Gone Wrong!
Bert Ertman909 views
Coding Secure Infrastructure in the Cloud using the PIE framework by James Wickett
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
James Wickett3K views
Navigating a Mesh of Microservices in the new Cloud-Native World with Istio by Gary Arora
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
Gary Arora504 views
Developing Your Cloud Strategy by Internap
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
Internap980 views
Webinar: Is Convergence right for you? – 4 questions to ask by Storage Switzerland
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 by Apcera
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native Stack
Apcera716 views
Securing the Cloud Native stack by Hector Tapia
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stack
Hector Tapia244 views
2019-10-15 - the future of cloud-native Java - Bert Ertman by Apeldoorn JUG
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
Apeldoorn JUG176 views
Java EE microservices architecture - evolving the monolith by Markus Eisele
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
Markus Eisele7.3K views
Brighttalk understanding the promise of sde - final by Andrew White
Brighttalk   understanding the promise of sde - finalBrighttalk   understanding the promise of sde - final
Brighttalk understanding the promise of sde - final
Andrew White497 views
Mucon microservices and innovation by Gawain Hammond
Mucon microservices and innovationMucon microservices and innovation
Mucon microservices and innovation
Gawain Hammond681 views
Accelerate DevOps/Microservices and Kubernetes by Rick Hightower
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower224 views

Recently uploaded

TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
11 views15 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
91 views86 slides
Tunable Laser (1).pptx by
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptxHajira Mahmood
21 views37 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
165 views20 slides
[2023] Putting the R! in R&D.pdf by
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdfEleanor McHugh
38 views127 slides
.conf Go 2023 - Data analysis as a routine by
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routineSplunk
90 views12 slides

Recently uploaded(20)

TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab11 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software91 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10165 views
[2023] Putting the R! in R&D.pdf by Eleanor McHugh
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh38 views
.conf Go 2023 - Data analysis as a routine by Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk90 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma17 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
How the World's Leading Independent Automotive Distributor is Reinventing Its... by NUS-ISS
How the World's Leading Independent Automotive Distributor is Reinventing Its...How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...
NUS-ISS15 views
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze by NUS-ISS
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng TszeDigital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
NUS-ISS19 views
Data-centric AI and the convergence of data and model engineering: opportunit... by Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier29 views

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.