!Ha pasado mucho tiempo! Los módulos Java SE que contienen tecnología Java EE se han anotado como obsoletos para su eliminación en JDK 9, por lo que esto no es nada nuevo. Sin embargo, eliminar los módulos de Java EE no está exento de riesgo.

Es hora de hacer un viaje en el tiempo al pasado: “Java SE 6 incluyó una pila completa de servicios web para la comodidad de los desarrolladores de Java. La pila constaba originalmente de cuatro tecnologías desarrolladas originalmente para la plataforma Java EE: JAX-WS (API para los servicios web basados en XML), JAXB (Arquitectura Java para la vinculación XML), JAF (El framework de activación de los JavaBeans) y anotaciones comunes. “, de acuerdo a JEP 320: elimine los módulos Java EE y CORBA creados por Lance Andersen.

Las versiones en Java SE eran exactamente las mismas que en Java EE, con una sola excepción: Java SE descartaba un paquete en Commons Annotations relacionado con el modelo de seguridad Java EE. A medida que pasaba el tiempo, “evolucionaron las versiones en Java EE, lo que provoco dificultades para las versiones en Java SE”, incluido el hecho de que las tecnologías obtuvieron características que no eran relevante para Java SE.

Como las versiones independientes de las tecnologías Java EE están disponibles en sitios de terceros, como Maven Central, no es necesario que la plataforma Java SE o el JDK las incluyan.

Lance Andersen

Paso 1: Descontinuar los módulos Java EE

Los módulos de la versión Java SE que contienen la tecnología Java EE tendrán la anotación deprecated for removal en JDK 9, que indica la intención de eliminarlos en futuras versiones [Esa “versión futura” puede ser JDK 11]:

  • java.xml.ws (JAX-WS, así como las tecnologías adicionales SAAJ y Web Services Metadata)
  • java.xml.bind (JAXB)
  • java.activation (JAF)
  • java.xml.ws.annotation (Common Annotations)
  • java.corba (CORBA)
  • java.transaction (JTA)

Módulos relacionados a Java SE 9 también se han indicado como deprecated for removal:

  • java.se.ee (Módulo agregado para los seis módulos anteriores)
  • jdk.xml.ws (Herramienta para JAX-WS)
  • jdk.xml.bind (Herramienta para JAXB)

“Debido a que los módulos para ser eliminados provocan advertencias en tiempo de compilación, JDK 9 dio un paso más sólido para preparar a los desarrolladores para la eliminación real de estos módulos en una versión futura: los módulos no se resuelven en JDK 9 cuando el código en la ruta de clases cuando el código es compilado o ejecutado“, explicó Andersen.

Por lo tanto, los desarrolladores en JDK 9 pueden implementar versiones independientes de las tecnologías Java EE y CORBA en la ruta de clases o usar el indicador –add-modules en la línea de comandos para resolver los módulos en la imagen de tiempo de ejecución de JDK.

JEP 320 elimina los siguientes módulos:

  • El código fuente será eliminado del repositorio OpenJDK.
  • Sus clase no existirá en la imagen del JDK Runtime
  • Sus herramientas no estarán disponibles:
    • wsgen y wsimport (de jdk.xml.ws)
    • schemagen y xcg (de jdk.xml.bin)
    • idlj, orbd, servertool y tnamesrv (de java.corba)
  • El proveedor JNDI CosNaming (de Corba) no estará diposnible
  • Ningún indicador de línea de comando podrá habilitarlos, como –add-modules lo hace en JDK 9.

Si quiere ver más de estos cambios, puede revisar el detalle en el mensaje a OpenJDK de Alan Bateman’s.

Riesgos de eliminar los módulos de Java EE

“El riesgo de eliminar los módulos Java EE es que la aplicación no compilara o ejecutara si cuentan con el soporte ‘listo para usar’ en las API y herramientas JDK para Java EE”, según Andersen. “Estas aplicaciones experimentarán incompatibilidades binarias y de origen al migrar de JDK 6, 7 u 8 a la versión de JDK 9 o una versión posterior”.

Además, las aplicaciones que ya migraron de JDK 6, 7 u 8 a la versión de JDK 9 no se iniciarán si usan el indicador de línea de comando –add-modules java.se.ee, -add-modules java.xml.bind, etc.

Esta propuesta supone que los desarrolladores que deseen compilar o ejecutar aplicaciones en el último JDK pueden encontrar e implementar versiones alternativas de las tecnologías Java EE.


Este artículo se encuentra basado en JDK 11: End of the road for Java EE modules

JDK 11: Fin del camino para los módulos Java EE
Si te gusto, comparte ...Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Google+
Google+
Etiquetado en:            

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook
A %d blogueros les gusta esto: