SlideShare a Scribd company logo
MicroProfile:
A Quest for a lightweight and
reactive Enterprise Java Platform
Ondro Mihályi, Payara
@omihalyi
@omihalyi
Enterprise Jungle
Database
SOAP
services
ACID
transactions
@omihalyi
Let’s feed it with lots of healthy food...
@omihalyi
All the healthy food we can get …
EJB
XA
JAX-WS
XML
JPA Transactions Monitoring
Resource
pooling
Thread
management
JMS
brokers
Security JSF
@omihalyi
And even healthier food …
JAX-RS
CDI JSON
Asynchronous
Simplified
Security
@omihalyi
Fundamental Shifts in Computing
● Deliver new features more quickly
● Smaller, more agile teams
● Deliver business features as discrete services
● Reduce time to market
● Address unpredictable loads
● Pay as you go
● Containerization
Cloud
Microservices
@omihalyi
Anything else?Big Data ?
Cloud ?
Reactive ?
Microservices ?
No, thanks.
I’d rather my
juicy CORBA
Docker ?
@omihalyi
We need something better
Java EE ++−−
@omihalyi
Or rather a diet …
Java EE ++
● Flexible
● Small disk and memory consumption
● Fast start-up times
● Simple installation and usage
−−
@omihalyi
WildFly Swarm - build app from fractions
Payara Micro - app server as a runnable JAR
TomEE - embeddable app server built on Tomcat
WebSphere Liberty - generate server subset
Java EE on a diet already
@omihalyi
Payara Micro payara.fish/payara_micro
● Executable JAR ( <60MB )
○ Java EE, JCache, CDI event bus
● Automatic clustering and replication
● Package app as executable JAR
java -jar payara.jar --deploy app.war
or with the maven plugin:
@omihalyi
Payara Micro payara.fish/payara_micro
● Executable JAR ( <60MB )
○ Java EE, JCache, CDI event bus
● Automatic clustering and replication
● Package app as executable JAR
java -jar payara.jar --deploy app.war --
outputUberJar app.jar
@omihalyi
PathFinder web app with a REST endpoint in 3 flavors
DEMO
https://github.com/OndrejM-demonstrations/Pathfinder-comparison
@omihalyi
After the diet applied...
WildFly
Swarm
Payara Micro Spring Boot
File size 105 MB 56 MB 22 MB
Heap size
(after GC)
28 MB 30 MB 29 MB
Boot time 12 s 14 s
( 10 s --noCluster)
7 s
@omihalyi
Java EE is about standards
Can it provide solutions?
● REST (4.56)
● OAuth (4.24), Secrets (4.07)
● Configuration (4.17)
● Reactive (3.97)
● Service Health (3.89)
Survey from 2016
@omihalyi
Things have changed...
Java EE needs to
adapt
or be replaced in
many cases
HTTP/2
OAuth
NoSQL
Docker
Reactive
Streams
Micro
Services
@omihalyi
We need heroes here!
● Supporting
development and
adoption of Java EE
● Lobbying vendors to
fulfill their commitments
● Finding ways of
process & collaboration
improvements
● Companies
● JSR Expert Group
members
● Java User Groups
● Individual developers
@omihalyi
Oracle revised Java EE plans at JavaOne
2016
@omihalyi
Oracle revised plans again in 2017
● Java EE 8 the last version governed by
Oracle
● Plans to transfer Java EE to the Eclipse
Foundation
● Possibly with a different name
@omihalyi
Meanwhile vendors & community cooperate
Optimizing Enterprise Java
for a Microservices Architecture
MicroProfile.io
MicroProfile Discussion Forum (bit.ly/MicroProfileForum)
MicroProfile Examples (https://github.com/eclipse/microprofile-conference)
@omihalyi
MicroProfile Release Philosophy
Release 1.0
JAX-RS
CDI
JSON-P
Build
consensus
Standardize
Rapidly iterate
and innovate
@omihalyi
Bridging Community and Standards
Choice
Application
Portability
Backwards
Compatibility
Broad Collaboration
Encouraged
Experimentation
Fail Fast
Rapid Innovation
MicroProfile 1.1
August 8, 2017
24
MicroProfile 1.2
End of September, 2017
Eclipse MicroProfile 1.1 (Aug, 2017)
25
MicroProfile 1.1
= New
= No change from last release
JAX-RS 2.0JSON-P 1.0CDI 1.2
Config 1.0
Configuration 1.0
Applications need to be configured based on a running environment. It must be
possible to modify configuration data from outside an application so that the
application itself does not need to be repackaged
26
Dev
Test
Prod @Inject
@ConfigProperty(name = "myservice.url")
URL myService;
@Inject
Config config;
myService = config
.getValue("myservice.url", URL.class)
Eclipse MicroProfile 1.2 (Sep, 2017)
27
MicroProfile 1.2
= New
= No change from last release
JAX-RS 2.0JSON-P 1.0CDI 1.2
Config 1.1
Fault
Tolerance 1.0
JWT
Propagation
1.0
Health
Check 1.0
Metrics 1.0
@omihalyi
DEMO ARCHITECTURE
WF Swarm WebSphere LP TomEE Payara Micro
https://github.com/eclipse/microprofile-conference
@omihalyi
The MicroProfile demo in numbers
Vendor Service JAR size Heap Starts in
WebSphere LP Session
Voting
36 MB 30 MB 8 sec.
WildFly Swarm Session 93 MB 37 MB 11 sec.
Payara Micro Session
Schedule
33 MB 27 MB 8 sec.
TomEE Speaker 35 MB 30 MB 7 sec.
@omihalyi
The nature of MicroProfile
● Sand-box Approach to Open
Contribution
● High Cadence Release Philosophy
● Transparency at all Stages
○ Public forum & chat, github, Eclipse foundation, Apache License
● CDI Centric Programming Model
@omihalyi
Join the Discussion!
https://groups.google.com/forum/#!forum/microprofile
Or even submit your idea as a
PR in the sandbox project!
https://github.com/eclipse/microprofile-
sandbox
@omihalyi
The quest continues...
● MicroProfile as a platform to cooperate faster
○ feed JCP with proposals
● Future Java EE targeting cloud and microservices
○ under community-friendly Eclipse Foundation
● JavaEE Guardians to lobby for the communityJoin the adventure!

More Related Content

ODP
GlassFish and JavaEE, Today and Future
PPTX
Discuss about java 9 with latest features
PDF
High Performance Java EE with JCache and CDI
PPTX
WebLogic authentication debugging
PDF
Migrating from Azure Search to SearcStax
PPTX
Supercharge JavaEE applications using JCache
PDF
MySQL on Docker and Kubernetes
PDF
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
GlassFish and JavaEE, Today and Future
Discuss about java 9 with latest features
High Performance Java EE with JCache and CDI
WebLogic authentication debugging
Migrating from Azure Search to SearcStax
Supercharge JavaEE applications using JCache
MySQL on Docker and Kubernetes
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović

What's hot (19)

PDF
CQRS and Event Sourcing for Java Developers
PPTX
SQL ON Azure (decision-matrix)
PDF
Glassfish AP server 連結 oracle DB 11g
PDF
Docker Compose Setup for MySQL InnoDB Cluster
ODP
SHARE 2014, Pittsburgh CICS and Liberty applications
PDF
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
PPTX
JSR107 Come, Code, Cache, Compute!
PPTX
WebLogic Scripting Tool made Cool!
PDF
Big App Workloads on Microsoft Azure - TechEd Europe 2014
PPTX
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
PDF
Tech Ed North America 2014 - Java on Azure
PPTX
All about Kerberos In Microsoft BI
PPTX
Quarkus bootstrap 2020
PDF
Glassfish An Introduction
PPTX
Oracle on Azure at Windows Azure Conference 2014
PPTX
Java EE 8 Update
PDF
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
PPTX
Microsoft Azure 新功能導覽 @ Build 2014
PDF
Nanoservices and Microservices with Java
CQRS and Event Sourcing for Java Developers
SQL ON Azure (decision-matrix)
Glassfish AP server 連結 oracle DB 11g
Docker Compose Setup for MySQL InnoDB Cluster
SHARE 2014, Pittsburgh CICS and Liberty applications
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
JSR107 Come, Code, Cache, Compute!
WebLogic Scripting Tool made Cool!
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Tech Ed North America 2014 - Java on Azure
All about Kerberos In Microsoft BI
Quarkus bootstrap 2020
Glassfish An Introduction
Oracle on Azure at Windows Azure Conference 2014
Java EE 8 Update
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Microsoft Azure 新功能導覽 @ Build 2014
Nanoservices and Microservices with Java
Ad

Similar to Bed con Quest for JavaEE (20)

PDF
GlassFish 3.1 at JCertif 2011
PDF
GlassFish Server 3.1: Deploying your Java EE 6 Applications
PDF
Google AppEngine @Open World Forum 2012 - 12 oct.2012
PDF
OWF12/Java Moussine pouchkine Girard
PPTX
Java @ Cloud - Setor Público SP
PPTX
Bluemix paas 기반 saas 개발 사례
PDF
MicroProfile Panel - Sept 2016
PDF
OTN Developer Days - GlassFish
PPT
Enterprise GlassFish
PPTX
Nyc mule soft_meetup_13_march_2021
PPTX
Codecamp 2020 microservices made easy workshop
PDF
VMworld 2013: Virtualizing Databases: Doing IT Right
ODP
Gf University 27may09 Amersfoort
PDF
03 monoliths to microservices with java ee and spring boot
PPTX
Coherence RoadMap 2018
PDF
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
PDF
Mysql User Camp : 20th June - Mysql New Features
PPTX
Introduction to Eclipse Microprofile
PDF
Service Lifecycle Management with Fuse Service Works
PDF
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
GlassFish 3.1 at JCertif 2011
GlassFish Server 3.1: Deploying your Java EE 6 Applications
Google AppEngine @Open World Forum 2012 - 12 oct.2012
OWF12/Java Moussine pouchkine Girard
Java @ Cloud - Setor Público SP
Bluemix paas 기반 saas 개발 사례
MicroProfile Panel - Sept 2016
OTN Developer Days - GlassFish
Enterprise GlassFish
Nyc mule soft_meetup_13_march_2021
Codecamp 2020 microservices made easy workshop
VMworld 2013: Virtualizing Databases: Doing IT Right
Gf University 27may09 Amersfoort
03 monoliths to microservices with java ee and spring boot
Coherence RoadMap 2018
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20th June - Mysql New Features
Introduction to Eclipse Microprofile
Service Lifecycle Management with Fuse Service Works
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
Ad

More from Payara (20)

PPTX
Easy Java Integration Testing with Testcontainers​
PPTX
Payara Cloud - Cloud Native Jakarta EE.pptx
PPTX
Jakarta Concurrency: Present and Future
PPTX
GlassFish Migration Webinar 2022 Current version.pptx
PPTX
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
PDF
Securing Microservices with MicroProfile and Auth0v2
PDF
Reactive features of MicroProfile you need to learn
PDF
Effective cloud-ready apps with MicroProfile
PDF
A step-by-step guide from traditional Java EE to reactive microservice design
PDF
Transactions in Microservices
PPTX
Fun with Kubernetes and Payara Micro 5
PDF
What's new in Jakarta EE and Eclipse GlassFish (May 2019)
PDF
Previewing Payara Platform 5.192
PDF
Secure JAX-RS
PDF
Gradual Migration to MicroProfile
PDF
Monitor Microservices with MicroProfile Metrics
PDF
Java2 days -_be_reactive_and_micro_with_a_microprofile_stack
PDF
Java2 days 5_agile_steps_to_cloud-ready_apps
PDF
Rapid development tools for java ee 8 and micro profile [GIDS]
PDF
Ondrej mihalyi be reactive and micro with a micro profile stack
Easy Java Integration Testing with Testcontainers​
Payara Cloud - Cloud Native Jakarta EE.pptx
Jakarta Concurrency: Present and Future
GlassFish Migration Webinar 2022 Current version.pptx
10 Strategies for Developing Reliable Jakarta EE & MicroProfile Applications ...
Securing Microservices with MicroProfile and Auth0v2
Reactive features of MicroProfile you need to learn
Effective cloud-ready apps with MicroProfile
A step-by-step guide from traditional Java EE to reactive microservice design
Transactions in Microservices
Fun with Kubernetes and Payara Micro 5
What's new in Jakarta EE and Eclipse GlassFish (May 2019)
Previewing Payara Platform 5.192
Secure JAX-RS
Gradual Migration to MicroProfile
Monitor Microservices with MicroProfile Metrics
Java2 days -_be_reactive_and_micro_with_a_microprofile_stack
Java2 days 5_agile_steps_to_cloud-ready_apps
Rapid development tools for java ee 8 and micro profile [GIDS]
Ondrej mihalyi be reactive and micro with a micro profile stack

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Cloud computing and distributed systems.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
KodekX | Application Modernization Development
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
GamePlan Trading System Review: Professional Trader's Honest Take
Per capita expenditure prediction using model stacking based on satellite ima...
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Cloud computing and distributed systems.
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Dropbox Q2 2025 Financial Results & Investor Presentation
KodekX | Application Modernization Development
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction

Bed con Quest for JavaEE

  • 1. MicroProfile: A Quest for a lightweight and reactive Enterprise Java Platform Ondro Mihályi, Payara @omihalyi
  • 3. @omihalyi Let’s feed it with lots of healthy food...
  • 4. @omihalyi All the healthy food we can get … EJB XA JAX-WS XML JPA Transactions Monitoring Resource pooling Thread management JMS brokers Security JSF
  • 5. @omihalyi And even healthier food … JAX-RS CDI JSON Asynchronous Simplified Security
  • 6. @omihalyi Fundamental Shifts in Computing ● Deliver new features more quickly ● Smaller, more agile teams ● Deliver business features as discrete services ● Reduce time to market ● Address unpredictable loads ● Pay as you go ● Containerization Cloud Microservices
  • 7. @omihalyi Anything else?Big Data ? Cloud ? Reactive ? Microservices ? No, thanks. I’d rather my juicy CORBA Docker ?
  • 8. @omihalyi We need something better Java EE ++−−
  • 9. @omihalyi Or rather a diet … Java EE ++ ● Flexible ● Small disk and memory consumption ● Fast start-up times ● Simple installation and usage −−
  • 10. @omihalyi WildFly Swarm - build app from fractions Payara Micro - app server as a runnable JAR TomEE - embeddable app server built on Tomcat WebSphere Liberty - generate server subset Java EE on a diet already
  • 11. @omihalyi Payara Micro payara.fish/payara_micro ● Executable JAR ( <60MB ) ○ Java EE, JCache, CDI event bus ● Automatic clustering and replication ● Package app as executable JAR java -jar payara.jar --deploy app.war or with the maven plugin:
  • 12. @omihalyi Payara Micro payara.fish/payara_micro ● Executable JAR ( <60MB ) ○ Java EE, JCache, CDI event bus ● Automatic clustering and replication ● Package app as executable JAR java -jar payara.jar --deploy app.war -- outputUberJar app.jar
  • 13. @omihalyi PathFinder web app with a REST endpoint in 3 flavors DEMO https://github.com/OndrejM-demonstrations/Pathfinder-comparison
  • 14. @omihalyi After the diet applied... WildFly Swarm Payara Micro Spring Boot File size 105 MB 56 MB 22 MB Heap size (after GC) 28 MB 30 MB 29 MB Boot time 12 s 14 s ( 10 s --noCluster) 7 s
  • 15. @omihalyi Java EE is about standards Can it provide solutions? ● REST (4.56) ● OAuth (4.24), Secrets (4.07) ● Configuration (4.17) ● Reactive (3.97) ● Service Health (3.89) Survey from 2016
  • 16. @omihalyi Things have changed... Java EE needs to adapt or be replaced in many cases HTTP/2 OAuth NoSQL Docker Reactive Streams Micro Services
  • 17. @omihalyi We need heroes here! ● Supporting development and adoption of Java EE ● Lobbying vendors to fulfill their commitments ● Finding ways of process & collaboration improvements ● Companies ● JSR Expert Group members ● Java User Groups ● Individual developers
  • 18. @omihalyi Oracle revised Java EE plans at JavaOne 2016
  • 19. @omihalyi Oracle revised plans again in 2017 ● Java EE 8 the last version governed by Oracle ● Plans to transfer Java EE to the Eclipse Foundation ● Possibly with a different name
  • 20. @omihalyi Meanwhile vendors & community cooperate
  • 21. Optimizing Enterprise Java for a Microservices Architecture MicroProfile.io MicroProfile Discussion Forum (bit.ly/MicroProfileForum) MicroProfile Examples (https://github.com/eclipse/microprofile-conference)
  • 22. @omihalyi MicroProfile Release Philosophy Release 1.0 JAX-RS CDI JSON-P Build consensus Standardize Rapidly iterate and innovate
  • 23. @omihalyi Bridging Community and Standards Choice Application Portability Backwards Compatibility Broad Collaboration Encouraged Experimentation Fail Fast Rapid Innovation
  • 24. MicroProfile 1.1 August 8, 2017 24 MicroProfile 1.2 End of September, 2017
  • 25. Eclipse MicroProfile 1.1 (Aug, 2017) 25 MicroProfile 1.1 = New = No change from last release JAX-RS 2.0JSON-P 1.0CDI 1.2 Config 1.0
  • 26. Configuration 1.0 Applications need to be configured based on a running environment. It must be possible to modify configuration data from outside an application so that the application itself does not need to be repackaged 26 Dev Test Prod @Inject @ConfigProperty(name = "myservice.url") URL myService; @Inject Config config; myService = config .getValue("myservice.url", URL.class)
  • 27. Eclipse MicroProfile 1.2 (Sep, 2017) 27 MicroProfile 1.2 = New = No change from last release JAX-RS 2.0JSON-P 1.0CDI 1.2 Config 1.1 Fault Tolerance 1.0 JWT Propagation 1.0 Health Check 1.0 Metrics 1.0
  • 28. @omihalyi DEMO ARCHITECTURE WF Swarm WebSphere LP TomEE Payara Micro https://github.com/eclipse/microprofile-conference
  • 29. @omihalyi The MicroProfile demo in numbers Vendor Service JAR size Heap Starts in WebSphere LP Session Voting 36 MB 30 MB 8 sec. WildFly Swarm Session 93 MB 37 MB 11 sec. Payara Micro Session Schedule 33 MB 27 MB 8 sec. TomEE Speaker 35 MB 30 MB 7 sec.
  • 30. @omihalyi The nature of MicroProfile ● Sand-box Approach to Open Contribution ● High Cadence Release Philosophy ● Transparency at all Stages ○ Public forum & chat, github, Eclipse foundation, Apache License ● CDI Centric Programming Model
  • 31. @omihalyi Join the Discussion! https://groups.google.com/forum/#!forum/microprofile Or even submit your idea as a PR in the sandbox project! https://github.com/eclipse/microprofile- sandbox
  • 32. @omihalyi The quest continues... ● MicroProfile as a platform to cooperate faster ○ feed JCP with proposals ● Future Java EE targeting cloud and microservices ○ under community-friendly Eclipse Foundation ● JavaEE Guardians to lobby for the communityJoin the adventure!