Spring Community Day 2009

El día de ayer se realizó por 2da vez el Spring Community Day, esta vez 2009. Recuerden que la última se dio el año pasado en Cibertec. Este año el evento fue en la UPC, en el aula magna, la asistencia fue MASIVA, al parecer los organizadores del evento, no esperaban que de los 500 que se inscribieron al evento, vayan más de 100.

Siendo las 6:40pm en la puerta de la UPC ya no dejaban pasar a las personas, decían que el auditorio estaba repleto y por lo tanto nadie más entraba. Fue una gran sorpresa para mí, pues sacrifiqué el evento de WebDays de Microsoft, estaba con cámara de fotos en mano con ganas de traerles todo lo relacionado al evento. Pero gracias a ......un amigo, pude pasar solapa e ingresar al auditorio para poder ganarme con todo lo que sucedió en el evento.

El evento comenzó muy bien con la presentación de la comunidad de Spring que fue creada desde el año pasado. Un poco de introducción a lo que es Spring, su historia desde su creación hasta la adquisición de Spring por parte de VMWare. Así también se explicó la filosofía que se tiene con Spring, el uso de POJOs, el no reinventar la rueda, las best practices, etc.

Entonces explicaron el cómo va ser esta charla, ya no será la clásica conferencia donde cada uno tiene 45 minutos para hablar del tema que investigó, mostrar cada uno su propio ejemplo y listo, YA NO. Ahora para demostrar el poder de spring y la integración que tienen sus componentes, se decidió resolver un problema completo. En sí el problema que plantearon era algo sencillo (para una charla, no se necesita un problema complejísimo), se requiere una aplicación para Gaston Acurio donde pueda registrar sus recetas y sus aprendices puedan ver éstas, pero no modificarlas (es decir, se tiene alguien que puede registrar y modificar, pero otro que solo puede ver). Se mostró el análisis realizado así como las fases que tomaría el desarrollo.

Luego de esto se pasó a mostrar las herramientas a usar para este desarrollo como: "Spring Source Tool Suite", "SpringSource TC Server", Cloud Foundry, entre otros.

Entonces, luego de toda la introducción del tema, se procedió a explicar el desarrollo y solución que se dio.

Lennon Shimokawa - Arquitectura
Se explicó la arquitectura que formaron entre la comunidad, así tb se mostró el uso de Maven para manejar las dependencias del proyecto (aunque tiene más usos). Luego dio una introducción a algunos temas de Spring como inyección de dependencia, el uso de las interfaces para reducir las dependencias, su ventaja, el papel del Application Context, entre otros. La explicación fue un buen resumen en sí para que la gente nueva no se pierda de lo demás que se iba a explicar.

Jonathan y Mayer Horna - DAO
Se puntualizó en la capa de acceso a datos, mostraron la diferencia de usar JDBC puro, a comparación de usar Hibernate integrado con Spring, la forma tan fácil que se puede hacer un "Save" o "update", entre otros. Se pudo ver los xml de los mapeos que realmente son muchas veces complejos, pero se mencionó la herramienta Hibernate Tools que ayuda en el mapeo para no complicarnos la vida, o también se dio la alternativa de poder usar anotaciones. Lo que me gustó más fue que se resaltaron las ventajas de usar un ORM como Hibernate, así como tb su integración tan limpia que tiene con Spring.

Gustavo Quiroz - Testing
Uno de los puntos más importantes de un desarrollo es su testing, algunos preguntarán "¿Por qué?" o sino "¿Testing? Yo nunca lo he hecho y me ha ido bien". Pero justo para eso era esta parte de la charla, porque pudimos ver las ventajas de hacer Test de integración y test unitarios, los primeros se hacen más que todo con Spring, mientras que el último con JUnit. Gracias a estos tipos de test, podemos probar las funcionalidades antes de usarlas, encontrar bugs, ver excepciones, entre otros. El resaltar las ventajas del testing fue lo mejor de esta parte.

Ricardo Ávila - Susan Inga - Spring MVC
Se mostró de forma separada el uso de las demás partes de las cuales ya se explicaron. Se concentró bastante en el modelo MVC, los prototipos que se tuvieron, una página 404 muy buena para controlar los errores (lol), entre otros. Lo que más puedo resaltar de esta parte de la exposición fue el explicar el flujo completo que cumple el Spring MVC, el cómo se mapea un request, la forma cómo se captura desde java, entre otros. Muy bueno para aquellos que querían entender un poco más sobre Spring MVC.

Edson Chávez - Seguridad
Tal como se dijo al inicio, se desea controlar que los chefs sean los únicos que puedan agregar y modificar recetas, mientras que los aprendices solo puedan ver éstas. Por lo tanto se tenía que restringir por medio de seguridad esto, es acá donde entra la seguridad, donde se explicó una buena parte de seguridad que te brinda Spring, su flexibilidad que tiene frente a casos (como el del problema) donde se tiene que acomodar la seguridad de cierta forma que se acomode a lo solicitado por Spring. Se hicieron las pruebas de cada uno de los roles para mostrar lo simple que puede ser esto. Fue bastante práctico el ejemplo en sí, para mostrar lo básico que se puede hacer con la seguridad de Spring =)

José Díaz - Spring CloudFoundry
Luego de haber hecho todo el proyecto necesitamos que éste se vea para todos en internet, y si tenemos un hosting en amazon, podemos usar www.cloudfoundry.com para subir el proyecto. Se mostró la facilidad que es subir un proyecto usando este servicio de CloudFoundry que por el momento es gratuito, pero quizás más adelante tenga un precio.

Esto fue todo el proyecto que se mostró en la conferencia. A opinión propia, puedo decir que estuvo bien armado y preparado el proyecto, las caídas que tuvieron fue casi nula (solo la clave del cloudfoundry) y los expositores contaron de una forma bastante real el cómo afrontaron cada uno de los problemas, sus puntos de vista sobre spring y un poco de teoría de cada uno de esos temas. Es decir, se tuvo como un equipo real de una empresa donde todos van hacia un mismo objetivo, avanzando en paralelo (no secuencial) para una solución.

Felicitaciones para los organizadores del evento por esta gran conferencia y espero que el otro año tengan un mejor local para más personas (que lamentablemente llegaron tarde y quedaron fuera), más temas para mostrarnos y que el apoyo de los auspiciadores se siga dando para impulsar este tipo de eventos que permiten compartir conocimiento.

Espero les haya gustado la info que les traje del evento. Mas bien, se me olvidó decir que hubieron sorteos de maletines de Spring, así como también, JoeDayz llevó unas anfitrionas para el evento y muchos ya ni veían el código que se mostraba xD

Les dejo acá algunas fotos del evento:



Shinji

3 comentarios:

Jose Luis dijo...

La reseña que haces es muy buena mas bien reemplaza las "q" por "que" o "qué" solo para hacerlo mucho mas formal. Nos vemos!

JAVAMAN dijo...

Fue un evento muy esperado por muchos de nosotros que teníamos bastantes ganas en asistir ver todo el contenido de lo preparado. Lastimosamente, pienso yo que no se espero la gran acogida que se iba a tener (540 persona aprox), en un local que soporta solo 100. Lastimosamente, al llegar 10 minutos antes de las 7pm junto con unos compañeros del trabajo. Ya el auditorio esta completamente copado y tuvimos que quedarnos en cafetería conversando. Me contaron luego que estuvo muy buena la presentación de los temas expuestos pero bueno ya será para el próximo año, si se da otro evento. En mi opinión, lo único que se debió pensar para que el evento haya sido mejor aun, es en un mejor y más grande auditorio como el del Spring Community Day Lima 2008 en CIBERTEC.

Saludos

Anónimo dijo...

Al comparar este evento con el del anho pasado, solo puedo decir que traten de cambiar los temas. A mi parecer... el spring day del anho pasado fue mejor que este.