The document discusses the transition from Java EE to Jakarta EE. It provides details on Oracle's contributions to the Eclipse EE4J project including source code for GlassFish and TCKs. It summarizes the key differences between Oracle GlassFish 5.0 and Eclipse GlassFish 5.1. It also discusses Oracle's future plans regarding WebLogic Server, Java EE, and emerging technologies like Kubernetes and GraalVM.
1. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
EE4J: Java EE & Jakarta EE
JFR & JMC
• WLSDM & JSL Product Manager
• WLSDM Community Leader
M. Fevzi Korkutata
CTO / Middleware Consultant, Volthread
2. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Agenda
• Java SE vs. Java EE
• Eclipse Foundation & EE4J
• Jakarta EE
• Jakarta EE Current Snapshot
• Eclipse GlassFish: Java EE 8 vs Jakarta EE 8
• Oracle and Java EE: What’s Next?
• Introduction to Java Mission Control (JMC) – 101
• Java Mission Control – Roadmap
• Live DEMO: Java Mission Control, JFR, JSL and WLSDM
• Next Meetups: Oracle Technology Updates and Topics
3. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Java SE vs. Java EE
Java SE
• When most people think of the Java programming language, they think of the
Java SE API. Java SE's API provides the core functionality of the Java programming
language. It defines everything from the basic types and objects of the Java
programming language to high-level classes that are used for networking,
security, database access, graphical user interface (GUI) development, and XML
parsing.
• In addition to the core API, the Java SE platform consists of a virtual machine,
development tools, deployment technologies, and other class libraries and
toolkits commonly used in Java technology applications.
Java EE
• The Java EE platform is built on top of the Java SE platform. The Java EE platform
provides an API and runtime environment for developing and running large-
scale, multi-tiered, scalable, reliable, and secure network applications.
• Versioning?
4. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Oracle + Eclipse Foundation = EE4J
• In late 2017, Oracle gave responsibility for Java EE to the Eclipse
Foundation.
• EE4J: https://projects.eclipse.org/projects/ee4j
Eclipse Enterprise for Java (EE4J) is an open source initiative to create
standard APIs, implementations of those APIs, and technology
compatibility kits for Java runtimes that enable development, deployment,
and management of server-side and cloud-native applications. EE4J is
based on the Java™ Platform, Enterprise Edition (Java EE) standards, and
uses Java EE 8 as the baseline for creating new standards.
5. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Eclipse Enterprise for JAVA = EE4J
“The mission of Eclipse EE4J is to create standard APIs,
implementations of those APIs, and technology compatibility kits for
Java runtimes that enable development, deployment, and management
of server-side and cloud-native applications.“
Licenses:
• Eclipse Public License 2.0
• 一 (Secondary) GNU General Public License, version 2 with the GNU
Classpath Exception
6. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
EE4J Project: Jakarta EE
• Name selection: Jakarta EE
• Logo selection
• Specifications (Ongoing)
• https://jakarta.ee/
8. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Background on Oracle’s Contribution to Jakarta EE
• Source code for Oracle GlassFish 5.0, the reference implementation (RI) for Java EE 8
• Sources for the Oracle Technology Compatibility Kits (TCKs) used to test for Java EE 8
compatibility
• Product documentation
To summarize, as of today, as part of this process:
• 34 EE4J sub-projects have been proposed for review. Together these sub-projects represent
most of the GlassFish Reference Implementation, including the GlassFish project itself,
most of the major GlassFish components, and a project for the TCK contributions.
• 20 EE4J sub-projects have been created. These are projects that are ready to receive Oracle
contributions.
• 15 source contributions for these EE4J sub-projects have been delivered to the Eclipse
Foundation. These include major Oracle Java EE 8 technologies, such as Jersey (JAX-RS),
Mojarra (JSF), Tyrus (WebSocket), Open MQ (JMS), EclipseLink (JPA), JSON-P and JTA
• 13 sub-project source repositories have been populated
9. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Java EE 8 and GlassFish 5.0 Released!
Java EE 8 adds some nice capabilities
to the platform:
• Servlet 4.0 API with HTTP/2 support
• Enhanced JSON support including a
new JSON binding API
• A new REST Reactive Client API
• Asynchronous CDI Events
• A new portable Security API
• Server-Sent Events support (Client &
Server-side)
• Support for Java SE 8 capabilities
(e.g. Date & Time API, Streams API,
annotations enhancements)
10. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Jakarta EE Milestone:
Eclipse GlassFish 5.1 is Java EE 8 Compatible
• Oracle is very pleased that Eclipse GlassFish 5.1 has been released
and certified as Java EE 8 compatible. This is an important milestone
in the transition from Java EE to Jakarta EE. Eclipse GlassFish 5.1
provides the Jakarta EE community with a well-known Java EE 8
compatible implementation to support the evolution of Java
technologies for enterprise applications and services.
“Oracle GlassFish 5.0 is the RI for the Java EE 8 platform, and a
compatible implementation of Java EE 8”
11. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Eclipse GlassFish 5.1
• We have demonstrated that Eclipse
GlassFish 5.1 is Java EE 8
compatible by certifying that it
passes all of the Java EE 8
TCKs. This means that the Eclipse
Foundation is now hosting a well-
known Java EE 8 compatible
implementation, one of the
foundations for a future Jakarta EE
Specification Process. The
community will have the
opportunity to evolve Eclipse
GlassFish, and leverage it as a
compatible implementation, in the
Jakarta EE process going forward.
17. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
EE4J Project Bootstrapping
• https://www.eclipse.org/ee4j/status.php
•20% Project Proposal has been posted for
community review
•40% Project committers and resources
have been provisioned
•60% Initial Contribution provided to the
Eclipse IP Team
•80% Initial Contribution Pushed to Git
Repository
•100% Project has engaged in its
first Release Review
18. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Oracle WebLogic Server and Opening Up Java EE
“WebLogic Server users may be wondering what this announcement may mean for
them, because WebLogic Server supports Java EE standards. The short answer is
that there is no immediate impact. We will continue to support existing WebLogic
Server releases, deliver Oracle Cloud services based on WebLogic Server, and
deliver new releases of WebLogic Server in the future.”
New WebLogic releases coming compatible with JavaEE;
• New capabilities in Java EE 8
• HTTP/2 support
• JSON processing and
• REST support improvements.
• Follow Oracle Acquarium Blog:
https://blogs.oracle.com/theaquarium/
19. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Is Java EE Dead?
https://twitter.com/BrianSPaskin/status/1122642414068490241
20. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
What’s Next
• Enterprise Application Servers Compatibility: Oracle WebLogic, IBM
WebSphere, Red Hat JBoss EAP, PayaraFish… etc.
• Prediction: Jakarta EE Cloud Native Computing Foundation Project
• Born in Open Source SLUM, grow in Enterprise PALACE
• More CNCF Jakarta EE sub-projects should follow… ??
21. Fevzi Korkutata, Oracle ACE (Middleware & SOA)
Learn Java EE and Jakarta EE
• Every Cloud Native projects must be as mature as to Enterprise world
to use. Enterprise world would wait for projects’ CNCF graduations.
• Kubernetes projects is graduated from CNCF.
• Cloud Native is transforming datacenters to be serverless, Java EE
and Jakarta EE should follow, too.
• Oracle WebLogic Kubernetes Operator is released and compatible
with Oracle WebLogic 12.2.1.3