Visualización de descriptores de despliegue

Un descriptor de despliegue es un archivo XML (extensible markup language) que especifica la configuración y las opciones de contenedor correspondientes a una aplicación o módulo.

Antes de comenzar

En este tema se da por supuesto que ha instalado una aplicación o módulo en el servidor y que desea ver su descriptor de despliegue.

Acerca de esta tarea

Cuando crea una aplicación o módulo Java™ 2 Platform, Enterprise Edition (J2EE) en una herramienta de ensamblaje, la herramienta de ensamblaje crea archivos de descriptor de despliegue para la aplicación o módulo. Los módulos o las aplicaciones Java EE (Java Platform, Enterprise Edition) 5 o posterior pueden utilizar anotaciones en lugar de descriptores de despliegue.

Después de instalar una aplicación o módulo en un servidor, puede ver su descriptor de despliegue en la consola administrativa. No puede ver anotaciones de Java EE 5 o posterior.

A menos que una aplicación dé soporte a Java EE 5 o posterior, un archivo EAR (Enterprise Archive) debe contener un archivo application.xml. El archivo application.xml identifica cada módulo de una aplicación. No se requiere una aplicación Java EE para proporcionar un archivo application.xml en un archivo EAR. Cuando un archivo application.xml no existe, el producto examina el contenido del archivo JAR (Java Archive) para determinar si el archivo JAR es un módulo EJB (Enterprise bean) o un módulo de cliente de aplicación. Un archivo JAR no debe contener más de un descriptor de despliegue. Cuando se encuentra un archivo ejb-jar.xml en un archivo JAR, el producto lo considera un módulo EJB. Si no se encuentra un archivo ejb-jar.xml y se encuentra un archivo application-client.xml, el producto considera que el archivo JAR es un módulo de cliente de aplicación. Si tanto el archivo ejb-jar.xml como el archivo application-client.xml existen en el archivo JAR, el producto puede considerar que un archivo JAR que pretendía ser un módulo de cliente de aplicación es un módulo EJB, o que un archivo JAR que pretendía ser un módulo EJB es un módulo de cliente de aplicación. Un archivo JAR no debe contener más de un tipo de descriptor de despliegue.

Procedimiento

  1. Acceda a una vista de descriptor de despliegue.

    Pulse la opción de navegación indicada Accessing a console view (Acceso a la vista de consola) para ver el descriptor de despliegue de un módulo determinado:

    Tabla 1. Acceso a las páginas Ver descriptor de despliegue en la consola. Pulse sobre los enlaces del árbol de navegación y en las páginas de la consola.
    Módulo Archivo de descriptor de despliegue Acceso a la vista de consola
    Aplicación empresarial application.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Ver descriptor de despliegue
    Aplicación web WEB-INF/web.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Gestionar módulos > nombre_módulo > Ver descriptor de despliegue
    WEB-INF/portlet.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Gestionar módulos > nombre_módulo > Ver descriptor de despliegue de portlets
    Enterprise bean ejb-jar.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Gestionar módulos > nombre_módulo > Ver descriptor de despliegue
    Cliente de aplicación application-client.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Gestionar módulos > nombre_módulo > Ver descriptor de despliegue
    Servicio web webservices.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Gestionar módulos > nombre_módulo >
    • Ver la extensión del descriptor de despliegue del servidor de servicios web
    • Ver descriptor de despliegue del servidor de servicios web
    • Ver la extensión del descriptor de despliegue del servidor de servicios web
    Para obtener información acerca de las vistas, consulte el tema sobre la visualización de descriptores de despliegue de servicios web en la consola administrativa.
    Adaptador de recursos incluido en una aplicación empresarial ra.xml Aplicaciones > Tipos de aplicación > WebSphere > nombre_aplicación > Gestionar módulos > nombre_módulo_ra> > Ver descriptor de despliegue
    Adaptador de recursos autónomo ra.xml Recursos > Adaptadores de recursos > Adaptadores de recursos > nombre_módulo > Ver descriptor de despliegue
  2. Pulse Expandir todo para ver el contenido del descriptor de despliegue.

Resultados

Se visualiza el descriptor de despliegue para la aplicación.

Ejemplo

A continuación se muestra el descriptor de despliegue para DefaultApplication del producto:

<application version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" >
  <description> This is the IBM WebSphere Application Server Default Application.</description>
  <display-name> DefaultApplication.ear</display-name>
  <initialize-in-order> False</initialize-in-order>
  <module id="WebModule_1" >
     <web>
       <web-uri> DefaultWebApplication.war</web-uri>
       <context-root> /</context-root>
     </web>
  </module>
  <security-role id="SecurityRole_1" >
    <description> All Authenticated users role.</description>
    <role-name> All Role</role-name>
  </security-role>
</application> 
Con anterioridad a 9.0.0.11, DefaultApplication contenía Increment.jar con un EJB de entidad y tenía un descriptor de despliegue distinto.
<application id="Application_ID" >
  <display-name> DefaultApplication.ear</display-name>
  <description> This is the IBM WebSphere Application Server Default Application.</<description>
  <module id="WebModule_1" >
    <web>
      <web-uri> DefaultWebApplication.war</web-uri>
      <context-root> /</context-root>
    </web>
  </module>
  <module id="EjbModule_1" >
    <ejb> Increment.jar</ejb>
  </module>
  <security-role id="SecurityRole_1204342979281" >
    <description> All Authenticated users role.</description>
    <role-name> All Role</role-name>
  </security-role>
</application>

Qué hacer a continuación

Después de visualizar un descriptor de despliegue en la página de consola, realice lo siguiente:

  1. Examine el contenido del descriptor de despliegue, incluyendo las configuraciones que tenga para los enlaces de aplicación, los roles de seguridad, las referencias a otros recursos, o los nombres JNDI (Java Naming and Directory Interface).

    Por ejemplo, examine los archivos JAR del módulo Java EE 5 o posterior para asegurarse de que cada archivo JAR no contiene más de un tipo de descriptor de despliegue. Si un archivo JAR contiene más de un tipo de descriptor de despliegue, siga al siguiente paso y elimine el descriptor de despliegue ajeno. Por lo tanto, si los archivos ejb-jar.xml y application-client.xml existen en el archivo JAR, elimine el descriptor de despliegue que el módulo no necesita.

  2. Cambie un descriptor de despliegue cuando sea necesario.

    Puede editar archivos descriptores de despliegue manualmente. No obstante, es preferible editar los descriptores de despliegue utilizando la consola o en un editor de descriptor de despliegue de herramienta de ensamblaje para asegurarse de que el descriptor tiene las propiedades válidas y de que las referencias contienen los valores correctos.

Si el módulo Java EE 5 o posterior no tiene un atributo metadata-complete o el atributo metadata-complete se ha establecido en false, puede indicar al producto que grabe todo el descriptor de despliegue del módulo, incluida la información de despliegue de las anotaciones, en un formato XML. En la página Metadatos para módulos, seleccione metadata-complete attribute.

Evite problemas: Si la aplicación Java EE 5 o posterior utiliza anotaciones y una biblioteca compartida, no seleccione metadata-complete attribute. Cuando la aplicación utiliza anotaciones y una biblioteca compartida, establecer el atributo metadata-complete en true hace que el producto represente de forma incorrecta una anotación @EJB en el descriptor de despliegue como <ejb-ref> en vez de <ejb-local-ref>. En los módulos web, establecer el atributo metadata-complete en true podría causar errores de tipo InjectionException. Si debe establecer el atributo metadata-complete en true, evite errores no utilizando una biblioteca compartida, colocando la biblioteca compartida en el directorio classes o lib del servidor de aplicaciones, o especificando completamente los metadatos en los descriptores de despliegue.