Java™ EE 6 proporciona una serie de característica nuevas o mejoradas, a las que este release da soporte.
Servicios web
- Los servicios web ofrecen soporte para escribir aplicaciones de cliente de servicio web XML.
- Puede exponer las API como servicios web interoperables .NET con una anotación simple.
- Java SE 6 añade nuevos análisis y
XML para las API de correlación de objetos Java, anteriormente sólo disponibles en implementaciones de plataforma
Java EE o los paquetes de servicio web de Java.
Soporte para lenguajes de script
Mejoras de JDBC
- El kit de desarrollo de Java SE 6 incluye todas las base de datos JDBC de Java, bases de datos Java basada en Apache Derby.
- JDBC incluye la API de JDBC 4.0 actualizada, que ofrece muchas mejoras importantes, incluyendo soporte especial para XML como tipo de datos SQL y una mejor integración de objetos binarios grandes (BLOB) y objetos grandes de tipo carácter (CLOB)
- En Java 6, ya no es necesario que cargue explícitamente la clase JDBC. La línea: Class.forName("oracle.jdbc.driver.OracleDriver") se ha sustituido por una declaración simple: Connection conn
= DriverManager.getConnection("jdbc:derby:TestDB");
Supervisión y gestión
- Java EE 6 mejora la consola o JConsole de supervisión y gestión Java.
- El aspecto gráfico de JConsole se ha mejorado; ahora puede supervisar varias aplicaciones en la misma instancia de JConsole y se ha vuelto a diseñar la pantalla de resumen.
- En Java 6, puede supervisar cualquier aplicación que se ejecute en una máquina virtual
Java 6.
- Java 6 se suministra también con características de supervisión y gestión de hebras sofisticadas.
- Con OutOfMemoryError ya no tendrá que adivinar más; imprimirá un rastreo de pila completo de forma que pueda saber qué ha causado el problema.
Gestión del sistema de archivos
- Java 6 le ofrece un control más preciso del sistema de archivos local.
- La clase java.io.File dispone de los tres métodos nuevos siguientes para determinar la cantidad de espacio disponible
(en bytes) en la partición de un determinado disco:
- Ahora la clase java.io.File dispone de un conjunto de funciones que le permiten definir indicadores en archivos que se pueden leer, escribir y ejecutar en el sistema de archivos local, igual que haría con el mandato chmod de Unix.
Seguridad
- Se admiten las API de firma digital XML (XML-DSIG) API ara la creación y manipulación de firmas digitales. También se han añadido varias maneras nuevas para acceder a los servicios de seguridad nativos de la plataforma, entre ellas:
- Los servicios de infraestructura de claves públicas (PKI) nativos y los servicios criptográficos en Microsoft Windows para garantizar la autenticación y la comunicación,
- Java Generic Security Services
(Java GSS) y los servicios de Kerberos para la autenticación,
- Acceso a servidores LDAP para la autenticación de usuarios.
Cambios en las API de Java EE 6
WebBeans 1.0: Una de las API más innovadoras desarrolladas en Java EE 6, WebBeans, resuelve algunas lagunas de Java EE.
WebBeans
- Unifica los modelos de programación JSF, JPA y EJB 3 en una plataforma única y bien integrada. WebBeans registra beans de EJB 3, entidades JPA y JavaBeans como componentes de WebBeans, a los que se puede acceder a través de EL y son inyectables entre sí.
- Ofrece un potente conjunto de características de inyección de dependencias en la plataforma.
- Mejora el modelo de interceptores de Java EE añadiendo la posibilidad de vincular interceptores a anotaciones en lugar de tener que enlazar los interceptores a clases de objeto de destino propias.
EJB 3.1: EJB 3.1 ha seguido trabajando con EJB para hacerlo lo más simple posible añadiendo servicios de componente de negocio significativos. EJB 3.1
- Consigue que las interfaces de empresa sean opcionales, incluso para los beans de sesión.
- Añade el concepto de beans Singleton. Puesto que están pensados para gestionar el estado de la aplicación compartida, están completamente protegidos de las hebras de forma predeterminada; al mismo tiempo, EJB 3.1 añade controles de simultaneidad declarativos para una mayor flexibilidad.
- Añade soporte para la planificación de estilo cron.
- Añade la posibilidad de invocar métodos de beans de sesión de forma asíncrona mediante la anotación @Asynchronous.
- Presenta el concepto de EJB 3.1 Lite para añadir un subconjunto más pequeño de la API de EJB orientada hacia el perfil web. Aunque EJB Lite ofrece características como transacciones y seguridad, no incluye características como mensajería, actividad remota y planificación.
- Presenta un nombre JNDI estándar: java:global/app/module/beah#interface.
JPA 2.0: En Java EE 6, JPA se ha separado oficialmente de EJB como una API diferenciada. JPA 2.0
- Añade una serie de mejoras de correlación ORM como, por ejemplo, la capacidad de modelar colecciones, correlaciones y listas utilizando la anotación @ElementCollection y la posibilidad de correlacionar relaciones unidireccionales de una a muchas.
- Mejora las API EntityManager y las API de consulta para dar soporte a temas como recuperar el primer resultado, especificar el tamaño máximo de resultados de la consulta, obtener acceso al gestor de entidades específicas del proveedor subyacente y los objetos de consulta así como un bloqueo pesimista.
- JPQL mejorados con SQL-like CASE, NULLIF, COALESCE
- Añade una API de criterios.
Servlet 3.0: El Servlet 3.0 adopta el modelo de
Java EE 5. Servlet 3.0
- Presenta anotaciones como, por ejemplo, @WebServlet, @WebFilter y @WebListener. De este modo se reduce la configuración web.xml hasta el punto que se pueden eliminar a la vez.
- Presenta la idea de fragmentos web. Para obtener más información, consulte: Crear proyectos de fragmentos web.
- Añade la posibilidad de añadir programáticamente servlets, filtros y escuchas a través de ServletContext.
- Cumple con EJB 3.1 en cuanto a que consigue que los descriptores de despliegue sean opcionales.
- Proporciona soporte para los beans de EJB 3.0 y 3.1 en proyectos web de la versión 3.0.
JAX-RS 1.1: JAX-RS 1.1 es el equivalente a REST de JAX-WS. JAX-RS 1.1
- Utiliza la anotación @Path para determinar el URL al que puede acceder un recurso JAX-RS.
- Correlaciona entradas desde códigos fuente como, por ejemplo, parámetros de consulta de URL, partes del URL, cookies y valores de cabecera HTTP.
- Utiliza la anotación @Produces para indicar a JAX-RS que el tipo de contenido de los valores devueltos son text/xml y text/json.
- Se integra con servlets, WebBeans y EJB