2010-06-17 29 views
9

He estado aprendiendo OSGi y también un poco sobre Groovy recientemente, pero soy muy nuevo en ambos. Sé que Groovy es parte del marco de Grails y que Grails es bueno para un desarrollo rápido. Una de las características más deseables en OSGi es la administración del cargador de clases y creo que probablemente este sea aún un problema con Grails (corrígeme si está mal). Entonces, tengo curiosidad de si es posible, o incluso deseable ejecutar Groovy y/o Grails en un entorno OSGI.Groovy + OSGi o Grails?

Respuesta

6

Hay disponible Grails plugin, que convierte una aplicación Grails en un paquete OSGi que se puede implementar en el servidor dm de SpringSource. El autor del complemento también ha publicado algunos blog posts sobre la integración de Grails con OSGi. Sin embargo, por lo que yo entiendo, el soporte OSGi del marco de trabajo de Grails es aún bastante limitado y será compatible "de forma nativa" con Grails 2.0.

3

En mi opinión, no existe un beneficio real al empaquetar toda su aplicación como un paquete OSGi, excepto que puede ejecutarlo en un contenedor OSGi. No hará que su aplicación sea más modular, porque sigue siendo un gran paquete. Tenga en cuenta que usar OSGi no simplificará nada con respecto a la carga de clase. Puede presentar problemas cuando utiliza bibliotecas que no se han diseñado para ejecutarse en un entorno OSGi. No lo use a menos que tenga una buena razón para hacerlo. Es una gran tecnología, pero no hará que nada sea más simple o mejor simplemente colocándola.

0

Tiendo a pensar que al revés es más preferible: dejar que los módulos de Grails, como GORM o GSP funcionen en un Contenedor OSGi. Todos los jars Groovy o Grails (que ahora son módulos en lugar de complementos) ya son compatibles con OSGi, por lo que no debería ser un problema instalarlos en un contenedor en ejecución. Por lo tanto, puede combinar las ventajas de ambos ecosistemas.

Por otro lado, implementar una aplicación empaquetada como un gran paquete monolítico en un contenedor OSGi no hace mucha diferencia en comparación con tomcat.

Cuestiones relacionadas