Abner Ballardo

Desde que comenzó mi pasión por el FOSS (a inicios del año 1999) hasta la fecha de hoy, he tenido la suerte de ver como el FOSS ha llegado a tomar un lugar muy importante dentro de las tecnologías de información. Nunca creí que volvería a ver un fenómeno semejante pero me equivoqué. En este pequeño artículo les mostraré lo que he podido ver del uso de Spring Framework en el Perú.

¿Qué es Spring Framework?

Es un framework open source para el desarrollo de aplicaciones que busca hacer al desarrollo de software en J2EE más simple. Rod Johnson escribió las primeras líneas de código de Spring Framework y publicó sus ideas en dos libros:

Expert One-on-One J2EE Design and Development, Wrox Press Expert One-on-One J2EE Development without EJB, Wrox Press Las propuestas de Spring Framework fueron bien recibidas por la comunidad java (en la mayoria) y comenzó toda una fiebre por este framework. Se han publicado varios libros, se han desarrollado varias aplicaciones empresariales usandolo y proyectos como JetSpeed-2 lo usan en su core, etc.

Primeros pasos

A mediados del 2004 llevé el curso de “Desarrollo de Programas 2” en la PUCP, en este curso todo el salón tiene como meta implementar un ERP. El salón se divide en grupos y cada uno se encarga de un módulo del ERP. Luego de una elección entre “varios candidatos”, fui elegido como jefe de proyecto.

El jefe de proyecto no tenía que ver la arquitectura pero quise apoyar en escoger las tecnologías que usaríamos. Ya conocía algunos frameworks en Java como: Apache Struts, iBatis, Log4J, etc. pero decidí dedicar unos días a investigar sobre otras opciones para el desarrollo de aplicaciones web en Java. Así fue como llegué a la página web de Spring Framework, leí la introducción de su manual de referencia y quede muy impresionado por el uso del patrón de Inversión de Control / Inyección de Dependencias.

Tuve muchas ganas de ver como funcionaba este framework pero decidí no usarlo en el proyecto porque ya eran suficientes temas nuevos para un grupo de personas que por primera vez intentarían implementar una aplicación web (decisión muy acertada a mi parecer). Como ya existía suficiente documentación sobre Apache Struts y además iBatis no exigía un cambio muy drástico de trabajo frente a Hibernate, comenzamos el desarrollo usando estos dos frameworks.

Pude darme algo de tiempo ese ciclo para realizar algunas pruebas con Spring Framework y cada vez me sorprendía más y más. Durante el 2005 pude dedicarle más tiempo de investigación y debo reconocer que luego de comprender las propuestas de este framework, mi manera ver el desarrollo de software ha cambiado.

De la teoría a la práctica

A mediados del 2005 tuve la oportunidad de ver el funcionamiento de un framework desarrollado por AgileWorks basado en Spring Framework y Hibernate. Quede completamente sorprendido por la forma de trabajo de este framework. Pude verlo en acción en un proyecto, encontrando una larga serie de problemas en gran parte por la inexperiencia (con los conceptos, patrones, que proponen estos frameworks) de los que formamos parte de ese proyecto.

Con esa experiencia decidí iniciar un proyecto: iniciar el desarrollo de un framework pequeño que permita la integración de Spring Framework, Hibernate, Acegi Security, DisplayTag, StrutsMenu, XDoclet y Hibernate Tools. Mi objetivo principal era minimizar en lo posible el código que yo implemente pero que establezca una forma de trabajo basada en las propuestas de estos frameworks. Así es como nace STCFramework, el framework usado por STConsulting. Este framework ahora se encuentra en el desarrollo de su versión 2.0.

Spring Framework y su difusión

Ya existía un grupo de amigos que también investigaban y usaban Spring Framework en mi universidad (2004), pero su uso se mantenía en un circulo hacker. Como ya es algo común en mi, comencé a difundir el uso de este framework entre mis compañeros, profesores. Mis comentarios generaban curiosidad en algunos, discusiones (alturadas) con otros y no mucha aceptación por algunos profesores.

Lo más interesante sucedió este año (2006) cuando la popularidad de Spring Framework creció exponencialmente. Cada vez más y más empresas usaban Spring Framework (algunas lo hacían bien y otras no). Conocí más personas que al igual que yo habían comenzado a usar Spring Framework desde el 2004; compartimos ideas, opiniones, etc. y cada uno por su lado siguió fomentando el uso de este framework.

También tuve la oportunidad de dar conferencias sobre Spring Framework en la PUCP, UPeU, ISTPH. Dicte cursos de capacitación en varias empresas y una grata sorpresa más fue enterarme que varias tesis en desarrollo en la PUCP usan Spring Framework (además de la mía).

¿Que más vendrá?

Spring Framework esta aquí para quedarse un buen tiempo. Hasta el momento no he visto ningún framework que brinde la misma funcionalidad o que proponga algo diferente pero que a la vez sea más potente que Spring Framework.

Espero con muchas expectativas el desarrollo de Spring-OSGi, este modulo permitirá a aplicaciones desarrolladas en Spring Framework correr dentro de un framework OSGi. La misma idea que implementa Eclipse (una serie de plug-ins que al final construyen un producto).

Tengo mucha fe en este proyecto y si las expectativas que tengo se cumplen, Spring-OSGi de una u otra manera revolucionará la forma de desarrollo de aplicaciones.

Happy hacking!