Directriz: Ensamblaje de módulos J2EE
Esta directriz trata la forma en que ensamblar módulos J2EE.
Relaciones
Elementos relacionados
Descripción principal

Introducción

El ensamblaje de un módulo J2EE da lugar a los siguientes elementos de implementación:

  • Archivador de J2EE (archivos WAR, JAR de EJB y JAR) y sus
  • Descriptores de despliegue (archivos XML) que describen el contenido del archivador y la forma en que los elementos contenidos en el archivador deben funcionar dentro del contenedor de despliegue.

Consulte la sección Directriz de producto de trabajo: módulos J2EE para obtener más información sobre los módulos J2EE.

Definición de archivador

En este paso, el proveedor de componentes de la aplicación identifica los componentes que se tienen que empaquetar en el módulo.

Se pueden crear distintos archivadores para distintos propósitos. Por ejemplo, distintos archivadores para las pruebas, la depuración o la entrega a distintas configuraciones de despliegue de "producción". Los archivadores para las pruebas podrían contener clases de prueba y clases compiladas con distintivos de depuración, mientras que los archivadores de producción no contendrían ni clases de pruebas ni serían compiladas con distintivos de depuración. El contexto previsto del archivador que se está ensamblando afecta al espacio de trabajo de ensamblaje que se configura.

Definición de descriptores de despliegue

El paso clave en el ensamblaje de un módulo J2EE es la definición del descriptor de despliegue. La mayoría de la información se debería haber recogido en el diseño de cada componente y, por lo tanto, la definición del descriptor de despliegue está en gran medida relacionada en asegurar la coherencia del diseño. Si se está utilizando ingeniería de doble sentido, es posible que también hayan herramientas para dar soporte a la generación del descriptor de despliegue.

Cada archivador contiene un descriptor de despliegue estándar de J2EE y de forma opcional podría tener descriptores específicos del proveedor. Los descriptores estándar, ejb-jar.xml para JAR de EJB y web.xml para WAR tienen secciones que se deben completar para despliegues de prueba o de "no producción", más secciones que el ensamblador de aplicación final preparará para el despliegue de producción.

Cada descriptor contiene información de interés para los proveedores de componentes de la aplicación, así como para los ensambladores de aplicación. Por ejemplo, el archivo ejb-jar.xml contiene tres secciones principales (a efectos de nuestra discusión): <enterprise-beans>...</enterprise-beans>, <relationships>...</relationships> y <assembly-descriptor>...</assembly-descriptor>. El proveedor de componentes de aplicación define las propiedades del EJB, como campos CMP, en la sección <enterprise-beans>...</enterprise-beans>. El proveedor de componentes de aplicación también define relaciones opcionales entre los EJB en la sección <relationships>...</relationships>. La sección <assembly-descriptor>...</assembly-descriptor> es donde se definen las transacciones, los roles de seguridad, los permisos de método, etc. Normalmente, el ensamblador de aplicación sólo se preocupará de esta sección. El ensamblador puede decidir modificar el contenido de las otras dos secciones, pero esto no es lo más habitual. La situación es parecida con los archivadores WAR. Consulte la sección Directriz: ensamblaje de aplicaciones J2EE para obtener más información sobre el ensamblaje de aplicaciones.

Si, durante el diseño, se definen correlaciones entre tablas de la base de datos en el modelo de datos y un EJB de entidad de persistencia gestionada por contenedor (CMP), dichas correlaciones se deberían ver reflejadas en las directivas de correlación en los descriptores específicos del proveedor (la correlación de directivas no es parte del descriptor estándar de EJB). Consulte la sección Técnica: diseño de beans de entidad para obtener más información sobre la correlación entre EJB de entidad CMP con tablas de base de datos.

Si hay que empaquetar varios componentes en el mismo archivador (consulte el paso: definición de archivador), el proveedor de componentes de la aplicación debe integrar su información de descriptor de despliegue. Por ejemplo, al combinar EJB en un JAR de EJB, el proveedor de componentes de aplicación debe armonizar la información en los descriptores de despliegue como, por ejemplo, roles de seguridad y referencias cruzadas.

Validación del archivador

Es una buena idea el validar el contenido del archivador antes de intentar el despliegue, puesto que puede ocultar errores, especialmente en el servidorde la aplicación, dando lugar a mensajes de error que no existen o confusos. Por ejemplo, ninguno de los componentes empaquetados en el archivador puede utilizar nombres JNDI duplicados.