Java_Magazine_NovemberDecember_2018

(singke) #1

49


//java at present/


Since Java 6, the Java EE technologies JAX-WS, JAXB, JavaBeans Activation Framework (JAF),
and Common Annotations framework have been included with the JDK. The original goal of this
inclusion was to make it easier for developers to get up and running out of the box with a web
development stack. In practice, however, these technologies can be easily obtained by develop-
ers who are using build systems such as Maven and Gradle that support the automatic down-
loading of dependencies.
Over time, the maintenance burden of supporting the code in these components began to
be a drag on JDK developers. This was especially true because Common Annotations added a
dependency on a Java EE container in Java EE 6, which required the JDK developers to include
only a subset of its functionality. Furthermore, since the release cycles of these systems were
different from that of Java SE, they often became out of date, so developers would include
third-party distributions of these Java EE technologies. Problems have occurred when develop-
ers wanted to use a newer version of these third-party distributions. An “endorsed standards”
override allows these implementations to be replaced; however, often people simply prepended
the library to the boot classpath, which resulted in compatibility issues.
The JDK included several other technologies that previously were considered useful but
are now a maintenance burden that doesn’t offer Java programmers much value. CORBA, for
example, used to be a very popular approach for communicating data between servers, but it was
replaced by more-modern approaches for communication such as HTTP or message transport
systems. Java SE also ships a subset of the Java Transaction API (JTA) and an XA transactions API.
To clear out the deadwood when Java 9 modularized the JDK, the following nine modules
were marked as deprecated for removal:
■■java.xml.ws (JAX-WS, plus the related technologies SAAJ and Web Services Metadata)
■■java.xml.bind ( JA XB)
■■java.activation (JAF)
■■java.xml.ws.annotation (Common Annotations)
■■java.corba (CORBA)
■■java.transaction (JTA)
Free download pdf