The document provides an overview of Jakarta EE, formerly known as Java EE. It begins with a brief history, noting how Eclipse MicroProfile was launched in 2016 in response to concerns about Java EE's relevance. In 2017, Oracle contributed Java EE assets to the Eclipse Foundation's new Jakarta EE project. The document then discusses Jakarta EE specifications, APIs, and TCKs that are being developed outside the JCP process. It lists the growing number of compatible implementations and notes that Jakarta EE 8 will be identical to Java EE 8. It concludes by outlining some of the next steps, including moving to the "jakarta" namespace and determining the content and timeline for future Jakarta EE
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Jakarta EE for Beginners: A Brief History and Look to the Future
1. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1
Jakarta for dummEEs!
Kevin Sutter
Sept 10, 2019
kwsutter@gmail.com
sutter@us.ibm.com
@kwsutter
2. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
AGENDA
2
(Very) Brief History
Specifications, APIs, and TCKs
Compatible Implementations
What’s next?
3. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 3
(Very) Brief History
4. JavaOne 2015: Java EE – Relevant or Elephant?
http://parentrap.org/2014/09/29/easy-parenting-part-iii-the-donts-list/
4
6. Eclipse MicroProfile:
4https://microprofile.io JAX-RS 2.1JSON-P 1.1CDI 2.0 JSONB 1.0
Fault
Tolerance
2.0
JWT
1.1
Health
Check 2.0
Metrics 2.0
MICROPROFILE 3.0
NEW ENTERPRISE CAPABILITIES FOR MICROSERVICES
Open
Tracing 1.3
Open API
1.1
Rest Client
1.3
BUILDS ON JAVA EE 8.0
Config
1.3
MicroProfile 1.0 – since Liberty 16.0.0.3
MicroProfile 3.0 - Liberty 19.0.0.7
2016: Eclipse MicroProfile
launched to set a collaborative
direction for Cloud Native Java
8. 2017: Java EE Reawakens….
The rapid success and momentum of MicroProfile leads to a rethink at Oracle.
In 2017 Oracle embrace the open community approach and contribute their assets to
a new Eclipse Foundation Jakarta EE Project.
Future releases of Java EE technology will be branded Jakarta EE.
Eclipse MicroProfile remains the focus for cloud native innovation on top of Jakarta EE.
BUT: Oracle is aggressively protecting Java™ trademarks, references
and acronyms. The community is working through the consequences.
Final release Java EE 8
First release Jakarta EE 8 (binary and source compatible)
9. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9
Specifications, APIs, and TCKs
11. 11COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11
Specification Process
● https://jakarta.ee/about/jesp/ (which extends https://www.eclipse.org/projects/efsp/?version=1.2)
● Highlights
○ Specification
○ Javadoc
○ API
○ TCK
○ Compatible Implementation
12. 12COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12
Statistics…
● 27 Specification Project Creations, Reviews, and Approvals
● 121 github repositories created (specs, apis, tcks, …)
● 51 Specification PR Reviews and Approvals
● 49 Javadoc PR Reviews and Approvals
● 51 Certification Requests and and associated TCK Results
● 51 Specification (culmination) Ballots and Approvals
● And, a few process adjustments along the way…
This Photo by Unknown Author is licensed under CC BY-SA
13. 13COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13
Specifications
https://jakarta.ee/specifications/
14. 14COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 14
Specifications – Jakarta Batch (example)
https://jakarta.ee/specifications/batch/
15. 15COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15
Specifications – Jakarta Batch 1.0 (example)
https://jakarta.ee/specifications/batch/1.0/
16. 16COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16
Specification Content
● Complete Specifications
○ Platform
○ Web Profile
○ Bean Validation
○ CDI
● Skeletal Specifications
○ All the rest of the component specifications
○ Rely on Javadoc for now…
○ Many of them will be contributed to Eclipse over the next several months
■ Just waiting on some additional copyright and IP clearances
■ Or, just formatting issues (ie. Jakarta Batch)
17. 17COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 17
APIs – each Specification page…
https://jakarta.ee/specifications/batch/1.0/
18. 18COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18
APIs – Maven
http://repo1.maven.org/maven2/jakarta/
(search)
19. 19COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19
Java EE TCKs
● In the past…
https://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
Many interested organizations were locked out…
20. 20COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20
Jakarta EE TCKs
● Everyone is Welcome!
● https://download.eclipse.org/jakartaee/
Note: There are separate branding requirements,
but the use of the TCKs is for everyone!
21. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21
Compatible Implementations
22. JAX-RS 2.1JSON-P 1.1CDI 2.0 JSONB 1.0
Fault
Tolerance
2.0
JWT
1.1
Health
Check 2.0
Metrics 2.0
MICROPROFILE 3.0
NEW ENTERPRISE CAPABILITIES FOR MICROSERVICES
Open
Tracing 1.3
Open API
1.1
Rest Client
1.3
BUILDS ON … JAVA EE 8.0 à JAKARTA EE 8.0
Config
1.3
MicroProfile 1.0 – since Liberty 16.0.0.3
MicroProfile 3.0 - Liberty 19.0.0.7
2019
Both Eclipse MicroProfile and Jakarta
EE continue to evolve and mature
Eclipse MicroProfile:
4https://microprofile.io
Jakarta EE:
4https://www.jakarta.ee/
JAKARTA EE
23. 23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23
● Goal from the beginning
○ Jakarta EE 8 ≈ Java EE 8
○ With all of Java EE 8’s warts and wrinkles (Specs, APIs, and TCKs)
○ The idea was to quickly certify Java EE 8 app servers as Jakarta EE 8 app servers
Jakarta EE 8 ≈ Java EE 8
24. 24COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24
● Issue needs to be created against the Specification
Project (ie. Platform, Batch, Persistence, …)
○ https://github.com/eclipse-ee4j/jakartaee-
platform/issues/114
Certification Requests
25. 25COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25
● Needs a “persistent” location on the
Compatible Implementation website
○ https://openliberty.io/certifications/jak
artaee/platform/8/TCKResults.html
TCK Results
26. 26COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 26
Jakarta EE Compatible Implementations
● https://jakarta.ee/compatibility/
+ Many More To Come…
Sept 10, 2019 !
27. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27
What’s Next?
28. Jakarta EE Roadmap
• Eclipse Jakarta EE 8 release will be identical to the existing Java EE 8.
• Eclipse release due later this year today (Sept 10, 2019)!
• More organizations will be certifying to Jakarta EE 8 than Java EE 8.
• Eclipse will move forward with plans to evolve Jakarta without impacting
Oracle’s Java marks
• Primarily the “javax” namespace is frozen. Have to move to “jakarta”
namespace.
• “Big bang” rename, or incremental renaming under debate at present.
• The Platform project is committed to making this move to the “jakarta”
namespace as painless as possible.
• And, skirmishes around acronyms…
• There is an industry implication to ensuring Jakarta is an evolutionary step.
• Eclipse MicroProfile remains the microservice-focused strategy for Enterprise
Java, motivating some of the future evolution of Jakarta EE.
29. 29COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 29
“javax” -> “jakarta” namespace
● As mentioned, the “javax” namespace is frozen with Java EE 8
○ Any updates to the “javax” namespace have to be done in the “jakarta” namespace going
forward
○ Even a simple update to an enum value
● Several alternatives being discussed
○ Big Bang (all at once)
■ Everything in Jakarta EE 8
■ Most everything in Jakarta EE 8 (prune)
○ Incremental over a series of Jakarta EE releases
○ Extend javax namespace (as needed)
○ Variations…
This Photo by Unknown Author is licensed under CC BY-SA-NC
30. 30COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 30
Jakarta EE xx Content
● Jakarta EE 9 vs Jakarta EE 10 vs Jakarta EE xx Content and Timeline
● Which Jakarta EE Components have the desire, resources, and wherewithal to develop an update to
their respective Specifications, APIs, TCKs, and Compatible Implementations for Jakarta EE 9?
○ This answer may help define the Big Bang vs Incremental question…
○ If very few Components can sign up for this effort, then maybe we have to go with the
Incremental approach..
○ On the other hand, if a good selection of Components sign up and we take into account the
ripple effect (dependencies), then maybe the Big Bang approach is the right path…
● So, how do we decide?
Jakarta EE 8 Jakarta EE 9 Jakarta EE 10 Jakarta EE xx
31. 31COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
This Photo by Unknown Author is licensed under CC BY-SA-NC
31
Community Involvement!
● Jakarta EE Platform project needs your input!
○ This project is responsible for defining the overall platform
○ Platform Developer mailing list
○ Platform Issues
○ Platform PRs
● Or, find your favorite Component and participate…
○ Full list of Jakarta EE (EE4J) Projects
○ Full list of Jakarta EE (EE4J) Github Repositories
○ EE4J PMC mailing list
○ Jakarta EE Community mailing list
32. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 32
Thank you!