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

What's hot

CQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java DevelopersCQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java Developers
Markus Eisele
 
SQL ON Azure (decision-matrix)
SQL  ON  Azure (decision-matrix)SQL  ON  Azure (decision-matrix)
SQL ON Azure (decision-matrix)
PARIKSHIT SAVJANI
 
Glassfish AP server 連結 oracle DB 11g
Glassfish AP server 連結 oracle DB 11gGlassfish AP server 連結 oracle DB 11g
Glassfish AP server 連結 oracle DB 11g
Hung-Yi Chen
 
Docker Compose Setup for MySQL InnoDB Cluster
Docker Compose Setup for MySQL InnoDB ClusterDocker Compose Setup for MySQL InnoDB Cluster
Docker Compose Setup for MySQL InnoDB Cluster
Balasubramanian Kandasamy
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applications
nick_garrod
 
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Brian Benz
 
JSR107 Come, Code, Cache, Compute!
JSR107 Come, Code, Cache, Compute! JSR107 Come, Code, Cache, Compute!
JSR107 Come, Code, Cache, Compute!
Payara
 
WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!
Maarten Smeets
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Brian Benz
 
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
Escalabilidad horizontal y Arquitecturas elásticas en Windows Azure | SolidQ ...
SolidQ
 
Tech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on Azure
Brian Benz
 
All about Kerberos In Microsoft BI
All about Kerberos In Microsoft BIAll about Kerberos In Microsoft BI
All about Kerberos In Microsoft BI
PARIKSHIT SAVJANI
 
Quarkus bootstrap 2020
Quarkus bootstrap 2020Quarkus bootstrap 2020
Quarkus bootstrap 2020
Maksym Govorischev
 
Glassfish An Introduction
Glassfish An IntroductionGlassfish An Introduction
Glassfish An Introduction
Jumping Bean
 
Oracle on Azure at Windows Azure Conference 2014
Oracle on Azure at Windows Azure Conference 2014Oracle on Azure at Windows Azure Conference 2014
Oracle on Azure at Windows Azure Conference 2014
PARIKSHIT SAVJANI
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 Update
Ryan Cuprak
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Arun Gupta
 
Microsoft Azure 新功能導覽 @ Build 2014
Microsoft Azure 新功能導覽 @ Build 2014Microsoft Azure 新功能導覽 @ Build 2014
Microsoft Azure 新功能導覽 @ Build 2014
Jeff Chu
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
Eberhard Wolff
 

What's hot (19)

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

Similar to Bed con Quest for JavaEE

GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 Applications
Arun Gupta
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
OWF12/Java Moussine pouchkine Girard
OWF12/Java  Moussine pouchkine GirardOWF12/Java  Moussine pouchkine Girard
OWF12/Java Moussine pouchkine Girard
Paris Open Source Summit
 
Google AppEngine @Open World Forum 2012 - 12 oct.2012
Google AppEngine @Open World Forum 2012 - 12 oct.2012Google AppEngine @Open World Forum 2012 - 12 oct.2012
Google AppEngine @Open World Forum 2012 - 12 oct.2012
Paris Open Source Summit
 
Java @ Cloud - Setor Público SP
Java @ Cloud - Setor Público SPJava @ Cloud - Setor Público SP
Java @ Cloud - Setor Público SP
Ilan Salviano
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
uEngine Solutions
 
MicroProfile Panel - Sept 2016
MicroProfile Panel - Sept 2016MicroProfile Panel - Sept 2016
MicroProfile Panel - Sept 2016
Ray Ploski
 
OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFish
glassfish
 
Enterprise GlassFish
Enterprise GlassFishEnterprise GlassFish
Enterprise GlassFish
Alicja Sieminska
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
NeerajKumar1965
 
Codecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshopCodecamp 2020 microservices made easy workshop
Codecamp 2020 microservices made easy workshop
Jamie Coleman
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld
 
Gf University 27may09 Amersfoort
Gf University 27may09 AmersfoortGf University 27may09 Amersfoort
Gf University 27may09 Amersfoort
Eugene Bogaart
 
03 monoliths to microservices with java ee and spring boot
03 monoliths to microservices with java ee and spring boot03 monoliths to microservices with java ee and spring boot
03 monoliths to microservices with java ee and spring boot
Ram Maddali
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018
harvraja
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
Red Hat Developers
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service Works
Kenneth Peeples
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
WASdev Community
 

Similar to Bed con Quest for JavaEE (20)

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

More from Payara

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

More from Payara (20)

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

Recently uploaded

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 

Recently uploaded (20)

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 

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!