2009-07-30 15 views
5

Estoy trabajando en una aplicación empresarial en capas escrita en Java que debe empaquetarse como un archivo EAR y desplegarse en un servidor de aplicaciones JBoss. Hay una capa de aplicación web, una capa de servicio, una capa de dominio pero no una capa de persistencia. Al menos en papel.Patrones para implementar aplicaciones empresariales en capas escritas en Java

¿Cuál es la mejor práctica para desplegar las diferentes capas? En nuestro equipo tenemos una pequeña guerra religiosa pasando entre:

  • Packaging cada capa en su propio archivo JAR (por ejemplo, en su propio módulo Maven), y la adición de cada módulo para el archivo EAR, O
  • Agrupación todo junto en un solo archivo JAR, con cada capa asignada a una convención de nomenclatura de paquetes.

¿Hay otras posibilidades que me faltan? ¿Cuáles son las mejores prácticas en esta área? ¿Hay algún recurso en línea o fuera de línea que pueda consultar sobre esto?

Respuesta

4

En mi empresa, agrupamos cada capa en su propio JAR. Luego lo incluimos en una GUERRA.

Si no tiene ningún EJB que necesite administrar, no hay una ventaja real al usar un EAR sobre un WAR para la implementación.

+0

+1: personalmente me gusta la separación rompiendo las capas en diferentes jarras te da. Creo que ayuda a mantener las dependencias correctas entre las capas, lo que solo puede ayudar a mantener la estructura del sistema. –

+0

+1 para embalar las capas en recipientes separados. – javashlook

1

Cualquiera que sea el enfoque que elija, asegúrese de obtener realmente valor. En otras palabras, no atienda el principio arquitectónico (paquete/jar) deje que el principio de la arquitectura le sirva.

Debe equilibrar la separación de preocupaciones con la eficiencia. Cuantos más proyectos tengas, más engorrosas serán las cosas, pero si tienes un proyecto, eso también puede ser engorroso.

Mire sus requisitos, contexto y tamaño de su aplicación y decida qué enfoque le servirá mejor.

Cuestiones relacionadas