Removing the Java EE and CORBA modules

Java EE moved to the Eclipse Foundation with Java 9 under a new name – Jakarta EE (interestingly, still JEE). With Java 9, the modules and classes that were specific to Java EE were deprecated. With Java 11, these deprecated APIs and modules have been removed from the Java SE platform and the JDK. CORBA's APIs were also deprecated in Java 9 and were eventually removed in Java 11.

With Java SE 6 (core Java), you can develop web services using the following technologies:

  • JAX-WS (short for Java API for XML-Based Web Services)
  • JAXB (short for Java Architecture for XML Binding)
  • JAF (short for JavaBeans Activation Framework
  • Common annotations

When the code for the preceding tech stack was added to core Java, it was identical to its versions for Java's Enterprise Edition (JEE). However, over time, the JEE version evolved, leading to a mismatch in the functionality that was offered by the same APIs in Java SE and JEE.

JEP 320 removed the following modules in Java 11, deleting their source code from the OpenJDK repository and runtime JDK image:

  • java.xml.ws (JAX-WS)
  • java.xml.bind (JAXB)
  • java.activation (JAF)
  • java.xml.ws.annotation (common annotations)
  • java.corba (CORBA)
  • java.transaction (JTA)
  • java.se.ee (an aggregator module for the preceding six modules)
  • jdk.xml.ws (JAX-WS tools)
  • jdk.xml.bind (JAXB tools)

Apart from marking the preceding modules as deprecated in Java 9, JDK didn't resolve them when code that was using these modules was compiled or executed. This forced the developers to use standalone versions of Java EE or CORBA on the classpath.

After their removal, tools such as wsgen and wsimport (from jdk.xml.ws), schemagen and xjc (from jdk.xml.bind), idlj, orbd, servertool, and tnamesrv (from java.corba) were no longer available. Developers couldn't enable them using runtime command-line flags, as follows:

    --add-modules

CORBA, an ORB implementation, was included in Java SE in 1998. Over time, support for CORBA has outweighed its benefits. First of all, with better technologies available, hardly anyone is using CORBA now. CORBA evolves outside the Java Community Process (JCP) and it is becoming increasingly difficult to maintain JDK's CORBA implementation. With JEE now moving to the Eclipse Foundation, it makes no sense to synchronize ORB in JDK with Jakarta EE's ORB. To add to this, JEE 8 designated it as Proposed Optional, which essentially means that JEE might drop supporting CORBA in one of its future versions (marking it as deprecated).

Enterprises moving from Java 8 to Java 11 are at a higher risk if their applications use JEE or CORBA APIs. However, an alternate API is suggested by Oracle, easing the migration.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.163.238