Hybrid Cloud Applications Built with Pure Openness
It showcases the cool open technologies MicroProfile, Jakarta EE and Open Liberty ideal for building the modern Hybrid Cloud Applications.
5. 5
Industry Standard Java APIs
Optimizing Enterprise Java
for a Microservices Architecture
and Kubernetes
Build modern portable enterprise apps
Protect your investments in Java EE
7. The Big Move
7
In September 2017, Java EE technologies moved to the
Eclipse Foundation, where they now continue to evolve under the
Jakarta EE brand
This was significantly provoked by MicroProfile community activities
to innovate faster than Java EE (discussed later)
8. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8
> Cloud Native
> Multi-Cloud
> Faster Innovation
> Investment Protection
> Open Specification Process
> Business Risk Mitigation
> Modernize Developer Expertise
Jakarta EE Priorities
9. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
Opportunities for Improvement
9
Native integration with
Kubernetes
Better support for cloud
native architectures
Tools and specifications needed
A faster pace of innovation
10. 10
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
Backed by Java industry leaders
Strategic Members
Participating Members
Enterprise Members
Guest Members
11. 11
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
On September 10, 2019, a diverse community of leading Java organizations and developers
delivered a new baseline for the evolution and innovation of enterprise Java technologies under
an open-source, vendor-neutral process.
Jakarta EE 8: Powered by Participation
Jakarta EE 8 Delivers...
Full Compatibility with
Java EE™ 8
Open Specifications
Open Source TCK License
and Process
Multiple Compatible
Implementations
Platform Integration
Requirement Parity with
Java EE 8
A Fully Transparent
Branding Process
12. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12
Jakarta EE 9 and 9.1
Jakarta EE 9 Release Plan includes:
● Move to jakarta namespace
(referred to as the “big bang”
approach);
● Removal of unwanted or deprecated
specifications;
● Minor enhancements to a small
number of specifications;
● No new specifications, apart from
specifications pruned from Java SE 8
where appropriate; and
● Java SE 11 support (Jakarta EE 9.1).
13. Jakarta EE 10 Platform
Updated
Not Updated
New
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
Servlet 6.0
Server Pages 3.1
Expression Language 5.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.0
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
Managed Beans 2.0
CDI 4.0
Authentication 3.0
Concurrency 3.0
Security 3.0
Bean Validation 3.0
Released on 22nd September 2022 30 specifications
14. Jakarta EE 10 Web Profile
Updated
Not Updated
New
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
Servlet 6.0
Server Pages 3.1
Expression Language 5.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.0
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
Managed Beans 2.0
CDI 4.0
Authentication 3.0
Concurrency 3.0
Security 3.0
Bean Validation 3.0
22 specifications
15. Jakarta EE 10 Core Profile
Updated
Not Updated
New
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
7 specifications
17. MicroProfile – Necessary Disruption
17
Java EE progressed very slowly, and Oracle almost stopped
investing in Java EE. In the meanwhile, microservice architecture
became more and more popular.
In response to the market need, a few vendors including IBM, Red
Hat, Tomitribe, Payara, and others came together to set up
MicroProfile in June 2016.
In Jan 2017, it was moved under Eclipse Foundation.
MicroProfile directly provoked the contribution of Java EE to Eclipse
Foundation
18. MicroProfile 6.0
Jakarta EE
10 Core
Profile
Config 3.0
Fault
Tolerance 4.0
JWT
Authentication
2.1
Health 4.0
Metrics 5.0
Open
Tracing 3.0
Open API 3.1
Rest Client
3.0
Standalone
Context
Propagation
1.3
Reactive
Streams
Operators 3.0
Outside
umbrella
Reactive
Messaging
3.0
GraphQL
2.0
LRA 2.0
MicroProfile latest
Telemetry 1.0
19. MicroProfile 6.0
Jakarta EE
10 Core
Profile
Config 3.0
Fault
Tolerance 4.0
JWT
Authentication
2.1
Health 4.0
Metrics 5.0
Open
Tracing 3.0
Open API 3.1
Rest Client
3.0
Standalone
Context
Propagation
1.3
Reactive
Streams
Operators 3.0
Outside
umbrella
Reactive
Messaging
3.0
GraphQL
2.0
LRA 2.0
MicroProfile latest
Telemetry 1.0
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
20. 20
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
MicroProfile Releases
MicroProfile 1.0 (Fall
2016)
JAX-RS 2.0 // Java EE 7
CDI 1.2 //Java EE 7
JSON-P 1.0 //Java EE 7
MicroProfile 1.1
(August 2017)
microProfile-1.0
Config 1.0
MicroProfile 1.2
(Sept 2017)
MicroProfile-1.1
Config 1.1
Fault Tolerance 1.0
Health 1.0
Metrics 1.0
JWT 1.0
2017
2018
MicroProfile 1.3
(Dec 2017)
MicroProfile 1.2
Config 1.2
Metrics 1.1
OpenApi 1.0
OpenTracing 1.0
RestClient 1.0
MicroProfile 1.4
(June 2018)
MicroProfile 1.3
Config 1.3
Fault Tolerance 1.1
JWT 1.1
Open Tracing-1.1
Rest Client-1.1
2019
MicroProfile 2.0.1 (July 2018)
MicroProfile 1.4
JAX-RS 2.1 // Java EE 8
CDI 2.0 // Java EE 8
JSON-P 1.1 // Java EE 8
JSON-B 1.0 // Java EE 8
MicroProfile 2.1
(Oct 2018)
MicroProfile 2.0
OpenTracing 1.2
MicroProfile 2.2
(Feb 2019)
Fault Tolerance 2.0
OpenAPI 1.1
OpenTracing 1.3
Rest Client 1.2
MicroProfile 3.0
(June 2019)
MicroProfile 2.0
Metrics 2.0
Health Check 2.0
Rest Client 1.3
MicroProfile 3.2
(Nov 2019)
MicroProfile 3.0
Metrics 2.2
Health Check 2.1
2020
MicroProfile 3.3
(Feb 2020)
MicroProfile 3.2
Config 1.4
Metrics 2.3
Fault Tolerance 2.1
Health 2.2
Rest Client 1.4
MicroProfile 4.0
(Dec. 2020)
Config 2.0
Metrics 3.0
Fault Tolerance 3.0
Health 3.0
Rest Client 2.0
OpenAPI 2.0
OpenTracing 2.0
JWT Auth1.2
CDI 2.0.2 //Jakarta EE8
JAX-RS 2.1.6 //Jakarta EE8
JSON-P 1.1.6 //Jakarta EE8
JSON-B 1.0.2 //Jakarta EE8
MicroProfile 4.1
(July. 2021)
MicroProfile 4.0
Health 3.1
Jakarta Annotations 1.3
MicroProfile 5.0
(Dec. 2021)
Config 3.0
Metrics 4.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.0
OpenTracing 3.0
JWT Auth 2.0
Jakarta CDI 3.0
//Jakarta EE 9.1
Jakarta RESTful Web
Services //Jakarta EE
9.1
Jakarta JSON-P
//Jakarta EE 9.1
Jakarta JSON-B 2.0
//Jakarta EE 9.1
Jakarta Annotations
2.0 //Jakarta EE 9.1
2021
MicroProfile
Working Group
established in Oct.
2020
MicroProfile 6.0
(2022)
Config 3.0
Metrics 5.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.1
Telmetry 1.0
JWT Auth 2.1
Jakarta EE 10 Core
Profile
2022
21. 21
COPYRIGHT (C) 2021, ECLIPSE FOUNDATION | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) | V2021-01
Working Group Members
31. APIs
Microservice and Enterprise cloud-native APIs free from vendor lock-in
• Build new open cloud-native
microservices with MicroProfile,
leveraging existing Java EE/Jakarta EE
skills and assets
• Modernize existing Java EE applications
to cloud-native through Jakarta EE and
MicroProfile
Optimizing Enterprise Java
for a Microservices Architecture
Build modern portable enterprise apps
Protect your investments in Java EE
+
Code
41. • Use Linux CRIU capability to snapshot/restore Liberty process
• Linux CRIU snapshots process state including memory pages,
file handles, network connections
• Liberty and OpenJ9 run pre-snapshot and post-restore hooks to
enable seamless user experience
Liberty Instant On
Liberty JVM starts
up
Liberty JVM reaches
snapshot point
Liberty JVM runs
pre snapshot hooks
Liberty JVM initiates
snapshot
Build time
Liberty JVM exits
after snapshot
Restore Liberty
JVM from snapshot
Liberty JVM runs
post restore hooks
Run time
Restore Liberty
JVM from snapshot
Liberty JVM runs
post restore hooks
Run time
Goal : “instant on” without limiting programming model/capabilities substantially
Liberty JVM
continues running
Liberty JVM
continues running
41
43. Knative to Serverless
43
A Kubernetes-based serverless framework
Build Serving Eventing
Utilize and extend the existing
Kubernetes’ primitives
Enables the source code from
the dependencies and
repository
Building container images and
registering them
Enables rapid development of serverless containers
Automatic scaling for Istio components
Event-driven architecture
47. Architecture
Styles with
Open Liberty
Architecture Solution
Monoliths Open Liberty
Macroservices Open Liberty
Microservices Open Liberty + Semeru Cloud Compiler (w/
InstantOn)
Serverless/Functions Open Liberty + Knative + SCC + InstantOn