Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Others Talk,
We Listen.
Down-to-Earth
Microservices
with Java EE
Reza Rahman
Senior Architect
rrahman@captechconsulting.co...
CapTech
Full-service US national IT consulting firm that focuses on client best interests,
trust, servant leadership, cult...
Agenda
• What exactly are microservices?
• Are microservices for you?
• Microservices and Java EE
Copyright © 2015 CapTech...
What’s in a Name?
• “Microservices” very vague
• Big hurdle to practical adoption by average Joe developer
• Poor naming r...
What’s in a Name?
• Decomposing larger systems into smaller independently deployable
parts
• Purists distance themselves f...
The Promise
• As systems grow, they become harder to maintain without modularity
• Ideal size for “monolithic” team is som...
The Reality
• Long well-understood downsides of distributed systems
• Significantly more complex administration, deploymen...
The Reality
• The Bottom Line
• Majority of systems probably just fine as “monoliths”
• Majority of systems needing micros...
A Picture Says a Thousand Words…
For most ordinary “blue collar” IT organizations “microservices nirvana” is
probably more...
Microservices and Vanilla Java EE
Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
JAX-RSJAX-RS
JSFJSF
JMSJMS ...
Pragmatic Java EE Microservices Demo
https://github.com/m-reza-rahman/javaee-pragmatic-microservices
Copyright © 2015 CapT...
Microservices Buzzword Bingo
• Fat jars, uber jars, “containerless”, microframeworks
• WildFly Swarm, Payara Micro, WebSph...
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-...
Summary
• Microservices newest incarnation of ideas with a long history, the last major
incarnation being SOA.
• Microserv...
Resources
• Microservices Premium by Martin Fowler
• https://martinfowler.com/bliki/MicroservicePremium.html
• Microservic...
Copyright©2015CapTechVentures,Inc.Allrightsreserved.
Upcoming SlideShare
Loading in …5
×

of

Down-to-Earth Microservices with Java EE Slide 1 Down-to-Earth Microservices with Java EE Slide 2 Down-to-Earth Microservices with Java EE Slide 3 Down-to-Earth Microservices with Java EE Slide 4 Down-to-Earth Microservices with Java EE Slide 5 Down-to-Earth Microservices with Java EE Slide 6 Down-to-Earth Microservices with Java EE Slide 7 Down-to-Earth Microservices with Java EE Slide 8 Down-to-Earth Microservices with Java EE Slide 9 Down-to-Earth Microservices with Java EE Slide 10 Down-to-Earth Microservices with Java EE Slide 11 Down-to-Earth Microservices with Java EE Slide 12 Down-to-Earth Microservices with Java EE Slide 13 Down-to-Earth Microservices with Java EE Slide 14 Down-to-Earth Microservices with Java EE Slide 15 Down-to-Earth Microservices with Java EE Slide 16 Down-to-Earth Microservices with Java EE Slide 17
Upcoming SlideShare
Java EE 8 and the Open Future of Java EE - What You Need to Know!
Next
Download to read offline and view in fullscreen.

38 Likes

Share

Download to read offline

Down-to-Earth Microservices with Java EE

Download to read offline

Microservices have become the new kid of the buzzword block in our ever colorful industry. In this session we will explore what microservices really mean within the relatively well established context of distributed computing/SOA, when they make sense and how to develop them using the lightweight, simple, productive Java EE programming model.

We'll explore microservices using a simple but representative example using Java EE. You'll see how the Java EE programming model and APIs like JAX-RS, WebSocket, JSON-P, JSON-B, Bean Validation, CDI, JPA, EJB 3, JMS 2 and JTA aligns with the concept of microservices.

It may or may not surprise you to learn in the end that you already know more about microservices than you realize and that it is an architectural style that does not really require you to learn an entirely new tool set beyond the ones you already have. You might even see that Java EE is a particularly powerful and elegant tool set for developing microservices.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Down-to-Earth Microservices with Java EE

  1. 1. Others Talk, We Listen. Down-to-Earth Microservices with Java EE Reza Rahman Senior Architect rrahman@captechconsulting.com @reza_rahman
  2. 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. 3. Agenda • What exactly are microservices? • Are microservices for you? • Microservices and Java EE Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  4. 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. 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. 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. 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. 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. 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. 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. 11. Pragmatic Java EE Microservices Demo https://github.com/m-reza-rahman/javaee-pragmatic-microservices Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  12. 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. 13. Microservices and Java EE Copyright © 2015 CapTech Ventures, Inc. All rights reserved. http://microprofile.io
  14. 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. 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. 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.
  17. 17. Copyright©2015CapTechVentures,Inc.Allrightsreserved.
  • SarahReyes36

    Nov. 30, 2021
  • ribluc

    May. 28, 2017
  • ArmenArzumanyan

    Apr. 20, 2017
  • sadhiesh

    Apr. 2, 2017
  • kulinchoksi

    Jan. 16, 2017
  • josejuanmontiel

    Jan. 9, 2017
  • ZamisPl

    Aug. 18, 2016
  • jespinoz

    Jul. 22, 2016
  • AbdelrahmanSaied

    Jun. 22, 2016
  • sivanr

    May. 12, 2016
  • FulvioBottoni1

    Apr. 20, 2016
  • GeorgeRacu

    Apr. 12, 2016
  • pw8588

    Apr. 9, 2016
  • RostislavMatl

    Apr. 5, 2016
  • kboussebat

    Feb. 20, 2016
  • JorgeMontielCampos

    Feb. 19, 2016
  • seohoseok14

    Jan. 7, 2016
  • PlKnyves

    Jan. 2, 2016
  • AnkushBorse

    Jan. 2, 2016
  • AlexanderAcehovskiy

    Dec. 12, 2015

Microservices have become the new kid of the buzzword block in our ever colorful industry. In this session we will explore what microservices really mean within the relatively well established context of distributed computing/SOA, when they make sense and how to develop them using the lightweight, simple, productive Java EE programming model. We'll explore microservices using a simple but representative example using Java EE. You'll see how the Java EE programming model and APIs like JAX-RS, WebSocket, JSON-P, JSON-B, Bean Validation, CDI, JPA, EJB 3, JMS 2 and JTA aligns with the concept of microservices. It may or may not surprise you to learn in the end that you already know more about microservices than you realize and that it is an architectural style that does not really require you to learn an entirely new tool set beyond the ones you already have. You might even see that Java EE is a particularly powerful and elegant tool set for developing microservices.

Views

Total views

102,326

On Slideshare

0

From embeds

0

Number of embeds

70,574

Actions

Downloads

315

Shares

0

Comments

0

Likes

38

×