1. The document discusses the evolution of Java server-side technologies from traditional Java EE to more modern cloud-native approaches like MicroProfile and Jakarta EE.
2. It provides an overview of the MicroProfile specifications for building cloud-native Java applications and shows the diversity of the Java ecosystem with implementations from IBM, Red Hat, Tomitribe, and others.
3. The demo shows a simple payment system application deployed to different Java server runtimes including Open Liberty, Quarkus, Payara, and TomEE to compare their performance and characteristics.
2. A few words about me
Speaker jefrajames = Speaker.builder().lastName(“James”)
.firstName(“Jean-François”)
.background(Period.ofYears(34))
.company(“Worldline”)
.location(“France”)
.role(“Head of Expert Community”)
.skill(“Software Architecture”, Year.parse (“1990”))
.focus(“Java”, Year.parse (“1997”)).build();
4. The rise of cloud-native applications
2006 2008 2009 2010 2011 2012 2013 2014 2015
5. Shifting to cloud-native applications
To cloud-native
Private on premise data centers Cloud platforms
Bare metal infrastructure Infrastructure as code
Mutualized full-blown application servers Just enough runtime
Monolith, self contained application API-oriented (Micro)Services/Functions
SQL-only Polyglot persistency
ACID transactions Eventual consistency
Synchronous & imperative programming Reactive programming
Quiet TTM Fast TTM
From traditional
6. Innovation needed for the cloud!
Observability
Fault Tolerance
External configuration
Fast startup
Small system footprint
7. Java server-side current status
Fragmented yet consistent and innovative
MicroProfile 1.x MicroProfile 2.x, 3.x
Java EE 7
Innovation
Java SE 7,8
Java SE 9, 10, 11, 12, 13 …
Amazon Coretto, Alibaba Dragonwell, Microsoft (jClarity),
AdoptOpenJdk, Azul, JVM: HotSpot, OpenJ9, GraalVM
Innovation
Jakarta EE 9Jakarta EE 8Java EE 8 Jakarta EE 10
Innovation
Innovation
Innovation
11. 1. MicroProfile programming model
2. Diversity and consistency of the ecosystem
3. Various deployment models
4. Cloud performance: startup time & memory footprint
Objectives of the demo
14. Runtime summary
Open
Liberty
Kumuluz
EE
Payara Quarkus TomEE
Version 20.0.0.1 3.6 5.194 1.2.0.Final 8.0.1
Deployment
models
Thin war
Uber jar
Runnable jar
Uber jar
Thin war
Hollow jar
Uber jar
Runnable jar
Native
Thin war
Uber jar
Characteristics Good doc
Spec alignment
Runtime modularity
Active community
Performance
Hot reload in dev
Good doc
Lightweight
Ease of dev
Integration with
many other SW
Good doc
Spec alignment
Active community
Good doc
Promising
Game changer
Lightweight
Active community
Hot reload in dev
Lightweight
Performance
Various distributions
Good fit To give IBM a second
chance
To learn & closely
follow the specs
Spring
background
Java EE
background
All-in-one Jakarta
EE & MP stack
Horizontal
scalability
K8S context
Tomcat or Java EE
background
15. • MicroProfile & Jakarta EE are not old fashioned!
• GraalVM paves the way for a new kind era …
• The traditional JVM still makes sense!
• Follow on Twitter: Adam Bien, Sebastian Dashner, Emily Jiang,
Sébastien Blanc, Phillip Kruger, OpenLiberty, Quarkus, Payara,
TomiTribe
• https://groups.google.com/forum/#!forum/microprofile/join
Conclusion