Code Kata – Integración GWT, Maven y Spring Framework
Esta kata es una continuación de la anterior kata sobre GWT. El objetivo es conseguir gestionar el proyecto con Maven para poder utilizar GWT simplemente como framework de vista en nuestros proyectos profesionales, y conseguir gestionar las dependencias entre beans utilizando Spring Framework.
El mayor problema que nos encontraremos con Maven es que la “filosofía” de GWT es muy antigua, Java de finales de los años 90 con notables deficiencias desde un punto de vista actual de desarrollo de software aún en las versiones más recientes (como mezclar código fuente con código generado), en las que los proyectos son GWT o no en lugar de utilizar GWT como un simple framework más que simplemente se utiliza en la vista y el control.
El mayor problema que nos encontraremos en Spring Framework es que GWT crea las instancias de las RPCs asíncronas, que a su vez utilizan componentes creados por Spring (los servicios) y gestionados en su contexto. Ojo, no confundir Spring Framework para gestionar dependencias con Spring MVC para gestionar la capa de control: utilizar Spring MVC para gestionar la capa de control no es el objetivo de esta kata aunque bien podría dar para otra kata diferente y luego compararla con la solución de esta kata.
Para esta kata se propone un orden concreto, primero convertir el proyecto GWT en proyecto Maven y luego introducir Spring, pero bien se podría realizar otra kata más al revés: primero introducir Spring en el proyecto GWT y luego convertirlo a un proyecto Maven. El resultado final debería ser el msimo.
Las versiones recomendadas para la realización de la kata son GWT v2.4, Maven v2.1 y Spring Framework v2.5. Las versiones antiguas de Maven y Spring Framework se deben a necesidades del proyecto para el que necesitaba aprender/enseñar, no creo que haya mayores diferencias con las respectivas versiones v03.xx.
Igual que en la anterior kata, no dudes en contactarme si tienes dudas, sugerencias o mejoras, publicaré mi solución pero te recomiendo encarecidamente que primero resuelvas la kata y luego la consultes, y agradeceré si decides compartir tu solución con nosotros.
Ejercicio 01 – Integración Maven con GWT
Objetivos
- Conseguir que cualquier ejercicio de la kata de GWT (preferiblemente el último) funcione bajo Maven.
Restricciones
- La configuración del proyecto debe ser gestionado por Maven.
- Las dependencias del proyecto (librerías) se deben gestionar con Maven.
- El ciclo de vida del proyecto se debe controlar con Maven: limpiar, compilar, ejecutar, depurar y empaquetar.
Ejercicio 02 – Integración Spring con Maven con GWT
Objetivos
- Partiendo del anterior proyecto, utilizar Spring para inyectar las dependencias.
Restricciones
- Las mismas que en el ejercicio anterior.

Kata

