Kernel Panic en SpringOne 2GX Americas 2009
Noviembre 13th, 2009Cuando usas un framework de desarrollo a diario, te encuentras a menudo depurando entre sus líneas, y ves en el Javadoc de la clase un nombre del autor, y te dices a ti mismo: “qué bueno el tío este, que bien pensado está esta interface”.
Y entonces un día te lo encuentras cara a cara, en un conferencia para 30 personas o comiendo en la misma mesa para ocho que tú. Y te dan ganas de darle un abrazo y decirle: “gracias, gracias, gracias”.
Esa es un poco la sensación que tuvimos en el SpringOne 2GX Americas 2009. Ver ahí, todos juntos a los creadores de tantas y tantas clases y herramientas que usas a diario supone todo un orgullo para los geeks como nosotros. Y están ahí de verdad, y son accesibles, y puedes expresarles tus dudas y tus sugerencias. Ahora cada vez que navego entre las líneas de Spring le pongo cara a cada clase y a cada interfaz ![]()
Pero es que además, el resto de asistentes son gente muy buena también. Nunca había visto tanta concentración de talento. Como decía McOwen estando allí, durante las conferencias: “ahora mismo se hunde el hotel este y el mundo Java se resiente”
La conferencia no era sólo para presentar Spring 3.0, como yo me tenía. De hecho, no se dio la noticia de que se liberaba oficialmente la versión 3.0 (actualmente en Release Candidate) como mucha gente esperaba. Pero se presentaron otras novedades. Para los seguidores de Groovy y Grails (que como sabéis desde hace unos meses son propiedad de Spring Source) la gran noticia fue que ya pueden usar Eclipse para desarrollar. Bueno, más que Eclipse, se trata de STS, un eclipse tuneado por Spring para facilitarnos la vida a todos los que programamos con Spring. Y de qué manera. Yo estoy deseando reemplazar mi myEclipse por el STS.
Después de 3 días enteros de conferencias y presentaciones, la conclusión rápida a la que se llega es que Spring ya no es sólo unos cuantos ficheros .jar. La meteórica ascensión de Spring Source, con la compra de empresas como Hiperyc, Groovy, Cloud Foundry, y la final incorporación a VMware posicionan a Spring Source como mucho más que un framework. Son una plataforma de producción de aplicaciones Enterprise. El famoso Build-Run-Manage que anuncian a bombo y platillo hace referencia al concepto de que una aplicación Enterprise es algo más que el código. Hay que llevarla a explotación y hay que mantenerla y monitorizarla.
Desde mi punto de vista lo que hemos visto en esta conferencia no es otra cosa que el Futuro. Y no porque ellos tengan la capacidad de visualizarlo, sino porque tienen la capacidad de construirlo. Ahora veo con mucha precisión por donde van los tiros. Y una de las pruebas de Spring va por delante de SUN (ahora Oracle) en lo que al mundo Java se refiere, es que en una de las conferencias se hacía una comparativa entre Spring 3.0 y lo nuevo en Java EE6.0, y, como ya me imaginaba, SUN ha empezado a imitar a Spring. La mayoría de las novedades de EE6.0 las incorpora Spring desde hace tiempo. Para que por fin EE6.0 se toma la inyección de dependencia en serio y ha sacada una serie de anotaciones al estilo Spring.
Otra cosa que dejaron cristalina es que la virtualización es el futuro para los administradores de sistemas. Aunque a priori Spring no tiene nada que ver con VMware, en los meses venideros iremos viendo como las herramientas de Spring se integran cada vez mejor con las de VMware. Por poner un ejemplo, en el IDE de Spring, el STS, publicar una aplicación web en la nube (p.ej. en Amazon) es cosas de arrastrar y soltar, gracias al plug-in para CloudFoundry que han integrado en el STS.
Otra cosa que vimos clara es que el futuro de las aplicaciones pasa por la arquitectura SOA, y por desarrollos muy modulares. Para hacer aplicaciones más modulares, Spring se basa mucho en su proyecto Spring Integration y los módulos OSGi, que, aunque ya llevan un tiempo pululando a nuestro alrededor, parece que sólo Spring saca partido de ellos, gracias en gran medida a su servidor DM Server, que viene a ser un Tomcat tuneado con capacidad para módulos OSGi, y una consola de administración muy elaborada. Eso sí, este servidor no es gratuito.
Como tampoco lo es su hermano pequeño, tc-server, otra variante del Tomcat, sin soporte para OSGi, pero mucho mejor que Tomcat en lo que a capacidad de monitorizar y administrar se refiere. Con su versión gratuita para desarrolladores (tc-server for developers edition) que se integra perfectamente con STS, nos simplificará mucho la depuración a los que programamos con Spring.
También
se habló mucho de Hyperic, la herramienta de monitorización que compró Spring Source hace unos meses, y que sin duda alegrará la vida a los administradores de sistemas. Me dio la sensación que Hyperic es el punto de unión entre Spring Framework y VMware. Aunque VMware e Hyperic caen más del lado del administrador que del lado del desarrollador, Hyperic parece haber sido tuneado para monitorizar con especial delicadeza aquellas aplicaciones hechas con Spring y publicadas en un tc-server o un DM Server.
Y en cuanto a la evolución del propio Spring Framework, qué decir… que han mejorado muchas cosas, que las anotaciones vienen pegando cada vez más fuerte (sin que sea obligatorio usarlas); con ello los ficheros XML de configuración cada vez se queda más pequeños; con las ventajas y desventajas que ello conlleva, aunque al parecer, las anotaciones dan más alegrías que el XML.
El propio framework se modulariza mucho más, y algunos módulos que antes se encontraban en proyectos paralelos. Como el oxm (Object to XML Mapping) que pasa de Spring WebServices al núcleo de Spring, o Spring Security que lo consideran fundamental hoy día y se distribuye pues con el proyecto principal (Spring Framework).
Y, bueno, como siempre, la gente de Spring no se cansó de agradecer a la “comunidad” sus esfuerzos en mejorar Spring, porque sin duda gracias a la comunidad, Spring es lo grande que es, y también porque la comunidad ayuda mucho, Spring Framework, y buena parte de sus herramientas son gratuitas.
En resumen, este tipo de conferencias no son talleres prácticos para gente que quiere aprender a programar con Spring, son pequeñas perlas de conocimiento que te indican por donde está el futuro, y te anticipan que arma vas a necesitar para cada fase, en tu misión de acabar la mega aplicación Enterprise multiusuario multidispositivo multiidioma multiservidor multitodoalavez.
















