2010-05-10 15 views
5

En este momento corren dos aplicaciones web separadas (guerras) desplegados en un solo oído contienen JAR adicionales y configuraciones. Para mejorar nuestra implementación, quiero dividir una de estas aplicaciones web en módulos diferentes que pueden compilarse y empaquetarse individualmente. Pero actualmente no tengo ni idea de cómo empacar estos módulos para poder agregarlos o eliminarlos como desee, en el mejor de los casos durante el tiempo de ejecución.Cómo implementar una única aplicación web con múltiples módulos web que se pueden quitar o añadir de forma individual

La aplicación web se está volviendo cada vez más compleja y me gustaría separar algunas de las funcionalidades en módulos. Estos módulos deben estar empaquetados como archivos únicos. Siempre y cuando contengan solo clases y recursos cargados a través del código, sé cómo hacerlo (JAR simples). Pero ¿qué hay de JSPs? Normalmente, un archivo WAR contiene JSP o archivos HTML. Yo mi caso es JSF páginas que utilizan JBoss Seam y RichFaces.

Estos módulos se sumará clases, recursos y páginas JSF y otra incluye a la aplicación web en funcionamiento. ¿Es de alguna manera posible implementarlos como archivos individuales para servir a la misma aplicación web en ejecución?

Estamos utilizando Maven para nuestra construcción y embalaje y desplegar en JBoss v4.

+0

Lo que está pidiendo va más allá de las capacidades de las implementaciones de JavaEE. Usted * podría * considerar un contenedor de nueva generación como Spring dmServer, si realmente desea este tipo de cosas. – skaffman

+0

Algunas discusiones internas revelaron la posibilidad de usar elementos JSF codificados en Java en lugar de archivos XHTML. Por ejemplo, un módulo podría implementar algo como public HtmlPanel getHtmlPanel(); Pero esto significa que tendremos que convertir varios (más de 50) archivos xhtml existentes en código. Me gustaría evitar eso. –

Respuesta

1

La forma simple de hacerlo es colocar los JSP de diferentes módulos en diferentes carpetas y los JSP que se usan comúnmente en todos los módulos se pueden mantener en la raíz.

Ahora, si desea descargar un módulo, elimine la carpeta correspondiente.

Espero que esto ayude.

+0

Esa es una forma posible de manejarlo ... pero en un proyecto grande y complejo con un proveedor de servicios de alojamiento independiente involucrado en el despliegue, no se puede manejar de manera segura y, por lo tanto, no es práctico. Gracias de cualquier manera. –

+0

@Daniel más ideas? –

+0

Nada nuevo aquí todavía ... solo la idea mencionada en mi comentario en la pregunta original. Estoy manejando muchas cosas paralelas en este momento y espero encontrar algo más para este tema durante esta semana. –

Cuestiones relacionadas