Ha pasado mucho tiempo desde la ultima noticia que hemos posteado en Juglar, el tablón ha estado inactivo por mucho y es hora de ponernos al día.
En este lapso de tiempo han pasado muchas cosas en el mundo de Java y sus tecnologías aledañas, pero antes de entrar en estos detalles tecnológicos, queremos agradecer desde Juglar.org, a todos los usuarios por su tiempo, dedicación y fidelidad, casi hemos llegado a los
500 usuarios lo cual no es una cifra menor, muchas gracias a todos.
La idea de esta noticia, es hacer un listado de algunos de los sucesos más importantes, o que nosotros consideramos importantes, que han acontecido en este tiempo.
Este recorrido comienza con la aprobación de la
JSR 299 (Contexts and Dependency Injection) y el desarrollo de su implementación de referencia denominada Weld.
Bean Validations (JSR 303), es un framework que nos da la posibilidad de no tener que escribir múltiples veces las reglas de validación en las distintas capas de nuestra aplicación lo que nos hace posible ahorrar tiempo, nos simplifica el desarrollo y nos reduce el porcentaje de errores. En pocas palabras, Bean Validations estandariza la declaración, definición y validación de Constraint para la plataforma Java.
JPA2 (JSR 317) es la nueva versión de JPA para el manejo de la persistencia en la plataforma Java, trae una serie de mejoras compara con su antecesora, entre las que podemos encontrar un nuevo API de Criteria y mejoras en el JPQL, soporte para validación, entre otras.
EJB 3.1 (JSR 318), añade una serie de cuestiones como por ejemplo:
Bean Singleton (@Singleton)
Invocación de Beans Asincrónicos (@Asyncronous),
Posibilidad de empaquetar todo en un war,
EJB Lite que es un subconjunto de EJB 3.1.
Interfaces serán opcionales, lo que nos da la posibilidad de hacer servicios basados en POJOs comunes.
Nuevos servicios para Time Services
Java Servlet 3.0 (JSR 315), las nuevas características que encontramos son, posibilidad de múltiples web.xml en la misma aplicación y el contenedor será el encargado de juntar los fragmentos, inclusión de annotations, de esta manera nuestros servlets serán pojos simples anotados, lo que hace que el web.xml sea un elemento opcional. Otro punto importante es la inclusión de servlets asíncronos, lo cual nos daría la posibilidad de construir aplicaciones Comet.
, trae como novedades las siguientes características, desarrollo de componentes mediante agregación sin utilización de codificación Java, eliminación de la configuración del faces-config.xml y web.xml, anotaciones para componentes, soporte integrado de ajax, entre otras novedades más.
Este listado de tecnologías es parte del nuevo que ha sido aprobado el 10 de diciembre del 2009 y su implementación de referencia es GlassFish v3.
Otras tecnologías que forman parte de JEE6 son las siguientes:
Web Services Technologies
Java API for RESTful Web Services (JAX-RS) 1.1 JSR 311
Implementing Enterprise Web Services 1.3 JSR 109
Java API for XML-Based Web Services (JAX-WS) 2.2 JSR 224
Java Architecture for XML Binding (JAXB) 2.2 JSR 222
Web Services Metadata for the Java Platform JSR 181
Java API for XML-Based RPC (JAX-RPC) 1.1 JSR 101
Java APIs for XML Messaging 1.3 JSR 67
Java API for XML Registries (JAXR) 1.0 JSR 93
Web Application Technologies
JavaServer Pages 2.2/Expression Language 1.1 JSR 245
A Standard Tag Library for JavaServer Pages (JSTL) 1.2 JSR 52
Debugging Support for Other Languages 1.0 JSR 45
Enterprise Application Technologies
Java EE Connector Architecture 1.6 JSR 322
Common Annotations for the Java Platform 1.1 JSR 250
Java Message Service API 1.1 JSR 914
Java Transaction API (JTA) 1.1 JSR 907
JavaMail 1.4 JSR 919
Management and Security Technologies
Java Authentication Service Provider Interface for Containers JSR 196
Java Authorization Contract for Containers 1.3 JSR 115
Java EE Application Deployment 1.2 JSR 88
J2EE Management 1.1 JSR 77
Java EE-related Specs in Java SE
Java API for XML Processing (JAXP) 1.3 JSR 206
Java Database Connectivity 4.0 JSR 221
Java Management Extensions (JMX) 2.0 JSR 255
JavaBeans Activation Framework (JAF) 1.1 JSR 925
Streaming API for XML (StAX) 1.0 JSR 173
Para continuar con las novedades importantes del mundo Java, le toda el turno a Spring. Ha sido liberada la versión 3.0 de este framework en el cual fue eliminado el soporte de java 1.4, en el módulo Spring MVC, la jeraquía de Controllers ha sido deprecada, como así tambien Junit 3 para dar favorecer el uso de Junit 4, entre otras cosas más.
Otro de los sucesos importantes es la salida del tan esperado
GWT 2.0. Entre las características principales podemos encontrar:
Reemplazo del antiguo HostedMode, por el In-Browser development mode, lo cual nos permite tener toda la potencia del Hosted mode en nuestro navegador con solo instalar un plugin Google Web Toolkit Developer Plugin, el cual está disponible para firefox, IE, Chrome, Safari.
Developer-guided Code Splitting: Esta es una característica que me gusta muchísimo, la cual consiste en poder cargar los fragmentos más mínimos de nuestra aplicación web y luego a medida que se vayan necesitando más recursos ir solicitándolos desde el servidor, esto nos permite ahorrar un tiempo considerable de la carga de nuestro sitio.
UiBinder: Bueno, la verdad es que nunca he trabajado con esta herramienta, pero básicamente lo que nos ofrecen es poder crear interfaces de forma más declarativa, esto quiere decir que ya no hará falta configurar nuestras vistas en el código fuente sino que lo podremos hacer mediante archivos xml.
Nuevos paneles y layouts aún más veloces: Se han añadido nuevos paneles como RootLayoutPanel, LayoutPanel, DockLayoutPanel, SplitLayoutPanel, StackLayoutPanel y TabLayoutPanel, y se ha mejorado la velocidad de los mismos, incrementando con esto el rendimiento general de nuestras aplicaciones.
Unificación de recursos con ClientBundle: Creo que ya casi todos conocíamos el famoso ImageBundle de Gwt 1.x sin embargo este ha sido extendido para soportar un mayor número de recursos entre los que tenemos archivos de texto como xml’s o css.
Y por último algunas mejoras en cuanto a la integración de las
pruebas unitarias con HtmlUnit, en este sentido tengo que decir que las aplicaciones que he desarrollado hasta el momento, aún no han incluido pruebas unitarias, así que tengo muy poco que decir.
Estos fueron algunos del los sucesos que han sido anunciados en estos últimos tiempos, trataremos de mantenerlos actualizados con todas las novedades de aquí en adelante.