Tenemos una aplicación web grande, poco manejable pero bastante estable, escrita con Tapestry 4.1, de la cual estamos tratando de movernos gradualmente. Para ese fin, estamos buscando desarrollar algunas nuevas funcionalidades en Grails. Nuestros clientes nunca deben saber la diferencia, y si es posible, nadie internamente, p. Ej. en los servicios de instalación, debería tener que importar cualquiera; idealmente, la aplicación Grails estaría en la misma WAR que el código Tapestry existente, solo con GrailsDispatcherServlet
configurado para una ruta más específica. También es crucial que exista el mínimo de cambio en el proceso de creación de monstruos para la aplicación existente: rehacer el sistema de compilación (actualmente Ant, la transición a Maven) en Gant e Ivy no es una opción. Y sería bueno si pudiéramos trabajar con WARs explotados para recarga en vivo durante el desarrollo.Integración de Grails con la aplicación web existente
preguntas, entonces:
- es esto posible?
- Si es así, ¿dónde empiezo?
- Si no, ¿cuál es el siguiente mejor enfoque?
- ¿De qué tengo que estar pendiente?
Tenga en cuenta que no vamos a utilizar GORM; todos nuestros datos provienen de servicios web, para los que ya tenemos capas de mensajería y dominio Java.
¿Utiliza hibernación para datos persistentes o utiliza otra cosa? – allthenutsandbolts
solo algunas consideraciones: ¿qué hay de crear la aplicación Grails por separado, y luego agrupar la guerra de la aplicación Grails con la guerra de la aplicación original, como un archivo .ear? De esta forma, puede mantener su compilación original, mantener los griales trabajando de la manera en que debería hacerlo, y solo agregar el paso adicional al final para compilar el archivo .ear. Las grandes preguntas serían cuál es el nivel de integración entre los dos, cuáles son los puntos de integración y cómo sacar la reescritura de url adecuada para que parezca perfecta. – GreyBeardedGeek
Aparte del hecho de que estarías usando Java en lugar de Groovy, parece que es mejor si utilizas Spring MVC (un componente principal de Grails). –