Preparación de una aplicación para la instalación mediante programación

La arquitectura de gestión de aplicaciones del producto proporciona un conjunto de clases que permite a los desarrolladores de aplicaciones recopilar información específica de despliegue de WebSphere Application Server, en lo sucesivo denominada información de enlace y almacenarla en el archivo EAR de la aplicación. Un archivo EAR de este tipo se puede instalar en una configuración de WebSphere Application Server, utilizando interfaces de gestión de aplicaciones que se describen en el tema Instalación de una aplicación a través de la programación. Este tema utiliza un ejemplo de programación para explicar cómo se puede rellenar un archivo EAR con información de enlace.

Antes de empezar

En esta tarea se supone que está familiarizado con las interfaces de programación de WebSphere Application Server y la programación de MBean. Consulte la documentación sobre las interfaces de programación de aplicaciones para obtener información acerca de las interfaces de programación de WebSphere Application Server y la programación de MBean.

Acerca de esta tarea

Complete las siguientes tareas para preparar una aplicación para la instalación a través de la programación.

Procedimiento

  1. Cree un AppDeploymentController.
    AppDeploymentController toma un archivo EAR como argumento y crea una secuencia de pasos, representada por objetos AppDeploymentTask (de ahora en adelante denominadas tareas). Las tareas se presentan generalmente al desplegador para recopilar información de enlace, o se manipulan mediante programación. El fragmento de código siguiente muestra cómo crear una instancia AppDeploymentController:
    // se crean preferencias para pasarlas en la información de entorno local
    Hashtable prefs = new Hashtable();
    prefs.put(AppConstants.APPDEPL_LOCALE, Locale.getDefault());
    
    
    // cree una instancia de controlador para el archivo EAR
    // especificado mediante una vía de acceso completa en earName
    AppDeploymentController flowController =
    AppManagementFactory.readArchive (earName, prefs); 
  2. Obtenga instancias AppDeploymentTask. Después de crear AppDeploymentController, puede iterar sobre los objetos de la tarea que se crea. Cada tarea recopila un tipo específico de enlace de información para varios módulos en la aplicación o para la propia aplicación. Una tarea puede tener los atributos siguientes y los correspondientes métodos get/set, según corresponda. Consulte el javadoc para la API de AppDeploymentTask si desea obtener más información acerca de estos atributos.
    Tabla 1. Atributos de tarea. En la tabla siguiente se describen los atributos que puede contener la tarea AppDeploymentController.
    Name Descripción Value
    appController Una instancia de controlador que gestiona tareas. AppDeploymentController
    colNames Los nombres de columna de la tarea java.lang.String[]
    hasHiddenColumns Especifica si la tarea tiene las columnas ocultas. Booleano
    HiddenColumns Una matriz de booleano que indica que la herramienta que muestra las tareas al usuario final no debe mostrar estas columnas. boolean[]
    HIGHEST_VERSION Public static final java.lang.String HIGHEST_VERSION static java.lang.String
    isSufficientlyDone Especifica si la tarea tiene datos que no se especifica. Booleano
    isTaskDisabled Especifica si la tarea debe mostrarse o cambiarse. Booleano
    isTaskEmpty Especifica si la tarea contiene datos. Booleano
    isValidationEnabled Especifica si la tarea debe ser validada Booleano
    mutables Una matriz de booleano que indica si los datos de tarea de un índice de columna específica puede modificarlos la persona que está desplegando la aplicación. boolean[]
    nombre Un nombre de tarea exclusivo java.lang.String
    requiredColumns Una matriz de booleano que indica si una columna de tarea debe tener un valor no nulo. boolean[]
    taskData Una matriz (tabla) de dos dimensiones de series. La primera fila de la tabla contiene las cabeceras de columna para la tarea (por ejemplo, el nombre del módulo, el URI del módulo, el nombre JNDI, etc.). El resto de filas representan información específica de aplicación. java.lang.String[]
    taskValidateErrorMessages Los mensajes de error que se generan cuando se valida una tarea java.lang.String[]
    VERSION_HIGHEST public static final int VERSION_HIGHEST static int

    En la tabla siguiente se listan los diversos nombres de tareas que normalmente crea AppDeploymentController para una aplicación J2EE 1.2, J2EE 1.3 o Java™ EE 5 o posterior. Tal vez observe más tareas si la aplicación contiene extensiones de empresa de WebSphere Application Server.

    Tabla 2. Los nombres de tarea que suele crear AppDeploymentController para una aplicación J2EE 1.2, J2EE 1.3 o Java EE 5 o posterior. En la tabla siguiente se listan los nombres de las tareas que suele crear AppDeploymentController para una aplicación J2EE 1.2, J2EE 1.3 o Java EE 5 o posterior. También proporciona una descripción de cada tarea y cada nombre de columna de la tarea.
    Nombre de AppDeploymentTask Descripción Nombres de columna de la tarea
    MapRolesToUsers Permite especificar usuarios o grupos para un rol de seguridad. Debe establecer la correlación de cada rol definido en la aplicación o el módulo con un usuario de grupo del registro de usuarios de dominio. Cada fila de datos de tarea representa un rol de seguridad único. Puede especificar varios usuarios o grupos para un único rol separándolos con comillas (").
    • role - lista las prestaciones específicas que se otorgan a un usuario. Los privilegios de roles proporcionan a los usuarios y grupos permisos para ejecutarse como se ha especificado.Por ejemplo, podría correlacionar al usuario Joe con el rol de administrador, lo que permitiría a dicho usuario realizar todas las tareas asociadas con el rol de administrador.La política de autorización sólo se aplica cuando se habilita la seguridad global.
    • everyone - especifica si se correlacionan todos con un rol especificado.
    • allAuthenticatedUsers - especifica si se correlacionan todos los usuarios autenticados del dominio con un rol especificado
    • mappedUsers - lista los usuarios que están correlacionados al rol especificado dentro de esta aplicación.
    • mappedGroups - lista los grupos que están correlacionados a este rol especificado dentro de esta aplicación.
    • AllAuthenticatedInTrustedRealms - especifica si se correlacionan todos los usuarios de los dominios de confianza con un rol especificado.
    • userAccessIds - especifica la información de usuario que se utiliza para la autorización de Java Platform, Enterprise Edition cuando se utiliza el motor de autorización predeterminado de WebSphere Application Server. El formato de userAccessIds es user:realm/uniqueUserID.
    • groupAccessIds - especifica la información del grupo. El formato para los ID de acceso del grupo es group:realm/uniqueGroupID.
    • ID de acceso de usuarios correlacionados - indica los ID de acceso de los usuarios correlacionados.
    • ID de acceso de grupos correlacionados - indica los ID de acceso de los grupos correlacionados.
    MapRunAsRolesToUsers Permite especificar las credenciales para un rol run-as. Los enterprise beans que instala contienen roles RunAs predefinidos. Los enterprise beans que deben ejecutarse como un rol determinado que debe reconocerse al interactuar con otro enterprise bean utilizan roles RunAs. Cada fila de los datos de tarea representa un único rol run-as.
    • role - correlaciona las prestaciones específicas con un usuario. La política de autorización sólo se aplica cuando se habilita la seguridad global.
    • userName - especifica un nombre de usuario para el usuario del rol RunAs. Este usuario ya correlaciona un rol especificado para la tarea MapRolesToUsers. Para correlacionar el usuario con el rol adecuado, correlacione el usuario con el rol directamente o correlacione un grupo que contenga el usuario con dicho rol.
    • password - especifica la contraseña para el usuario RunAs.
    BindJndiForEJBNonMessageBinding Le permite especificar nombres JNDI para los enterprise java beans (EJB). Este nombre JNDI se utiliza para buscar inicios EJB de programas de cliente. Una fila de datos de tarea especifica un único EJB para el que se puede proporcionar un nombre JNDI.
    • EJBModule - especifica el módulo EJB que contiene los enterprise beans que se enlazan al nombre JNDI.
    • EJB - especifica el nombre de un enterprise bean que contiene el módulo.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JNDI - especifica el nombre JNDI asociado al enterprise bean de un módulo EJB.
    BindJndiForEJBMessageBinding Le permite especificar un nombre de puerto de escucha o JNDI de una especificación de activación para los beans controlados por mensajes (MDB). Asegúrese de que cada MDB de la aplicación o módulo esté enlazado a un nombre de puerto de escucha o JNDI de una especificación de activación. Cada fila de datos de tarea representa un único bean controlado por mensajes.
    • EJBModule - especifica el módulo Enterprise JavaBeans que contiene el enterprise bean.
    • EJB - especifica el nombre de un MDB en la aplicación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • listenerPort - especifica un nombre de puerto de escucha para el MDB.
    • actSpecJNDI - especifica un nombre JNDI de especificación de activación para el MDB. Cuando un MDB se enlaza a un nombre JNDI de especificación de activación también puede especificar el nombre JNDI de destino y el alias de autenticación.
    • actSpecDestinationJNDI - especifica un nombre JNDI de destino para la especificación de activación.
    • actSpecAuth - especifique un alias de autenticación que se utiliza para acceder al nombre y la contraseña del usuario establecidos en la especificación de activación J2C configurada.
    BindJndiForEJBBusiness Le permite especificar enlaces de nombres JNDI para cada enterprise bean con una interfaz de empresa en un módulo EJB. Cada enterprise bean con una interfaz de empresa en un módulo EJB debe enlazarse a un nombre JNDI. Una fila de datos de tarea especifica un único enterprise bean para el que se puede proporcionar un nombre JNDI.
    • EJBModule - especifica el módulo EJB que contiene los enterprise beans que se enlazan al nombre JNDI.
    • EJB - especifica el nombre de un enterprise bean que enlaza al nombre JNDI.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • businessInterface - especifica la interfaz de empresa de enterprise bean en un módulo EJB.
    • JNDI - especifica el nombre JNDI asociado a la interfaz de empresa de enterprise bean en un módulo EJB.
    MapEJBRefToEJB Permite especificar nombres JNDI de los EJB que están enlazados a ejb-refs. Cada fila de datos de tarea representa un único ejb-ref definido en un módulo.

    Un módulo EJB 3.0 no puede contener beans de entidad de persistencia gestionada por bean o gestionada por contenedor. La instalación falla cuando un bean de entidad de persistencia gestionada por contenedor o gestionada por bean se empaqueta en un módulo EJB 3.0 de una aplicación Java EE. Sólo puede empaquetar la persistencia gestionada por bean o gestionada por contenedor en un módulo EJB 2.1 o anterior.

    Si la referencia de EJB procede de un módulo EJB 3.0, Web 2.4 o Web 2.5, el nombre JNDI es opcional. Si la opción Permitir destinos de EJB para resolver automáticamente está habilitada, el nombre JNDI es opcional para todos los módulos. El tiempo de ejecución proporciona un valor predeterminado de contenedor o resuelve automáticamente la referencia de EJB si no se proporciona un enlace.

    • EJB - especifica el nombre de un enterprise bean que contiene el módulo.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • referenceBinding - especifica el nombre de una referencia de EJB que se utiliza en el enterprise bean.
    • class - especifica el nombre de una clase Java asociada con este enterprise bean.
    • JNDI - especifica el nombre JNDI asociado con el enterprise bean de un módulo EJB
    MapResRefToEJB Le permite especificar nombres JNDI de recursos definidos en la configuración de WebSphere Application Server que están enlazados a resource-refs. Cada fila de datos de tarea representa un único valor resource-ref definido en un módulo.
    • AppVersion - especifica la versión de la aplicación.
    • ModuleVersion - especifica la versión del módulo.
    • Module - especifica el nombre de un módulo en la aplicación.
    • EJB - especifica el nombre de un enterprise bean que contiene la referencia de recursos. (Solamente se aplica a un módulo EJB)
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • referenceBinding - especifica el nombre de una referencia de recursos que contiene el módulo.
    • targetResourceJNDI - especifica el nombre JNDI del recurso que es el destino de correlación de la referencia de recursos.
    • Configuración de inicio de sesión - esta columna se aplica solamente a orígenes de datos y fábricas de conexiones, y hace referencia al método de autenticación para proteger el recurso.

      Java 2 Connectors (J2C) utilizan la configuración de inicio de sesión de DefaultPrincipalMapping para correlacionar los usuarios con los principales que están definidos en las entradas de datos de autenticación J2C. Si login.config.name se establece en DefaultPrincipalMapping, se crea una propiedad con el nombre com.ibm.mapping.authDataAlias. El valor de la propiedad se establece mediante authentication.props. Si el nombre login.config no se establece en DefaultPrincipalMapping, authentication.props puede especificar varias propiedades.

    • authentication properties - especifica las propiedades que se utilizan en la configuración de inicio de sesión. El formato de la cadena es:
      websphere:name= <name1>,value=
      <value1>,description=<desc1>

      Puede utilizar el signo más (+) para especificar varias propiedades.

    • Autorización de recursos - especifica el tipo de autorización para proteger el recurso.
    • Propiedades de origen de datos ampliadas - especifica las propiedades de origen de datos ampliadas para una base de datos DB2. Puede utilizar estas propiedades para permitir a una aplicación extender las propiedades personalizadas para un origen de datos o alterar temporalmente todas las propiedades no principales que ya existen para ese origen de datos.
    MapResEnvRefToRes Le permite especificar los nombres JNDI de los recursos definidos en la configuración de WebSphere Application Server que están enlazados a resource-env-refs. Cada fila de datos de tarea representa un único valor resource-env-ref definido en un módulo.
    • Module - especifica el nombre de un módulo en la aplicación.
    • EJB - especifica el nombre de un enterprise bean que contiene la referencia de entorno de recursos. (Solamente se aplica a un módulo EJB).
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • referenceBinding - especifica el nombre de una referencia de entorno de recursos. La referencia corresponde a un recurso enlazado como entrada de entorno de recursos en el espacio de nombres JNDI del servidor de aplicaciones.
    • resEnvRef.type - especifica el tipo asociado con la referencia de entorno de recursos.
    • JNDI- especifica el nombre JNDI de la entrada de entorno de recursos que es el destino de correlación de la referencia de entorno de recursos.
    MapSharedLibForMod Le permite asociar bibliotecas compartidas definidas con una aplicación o módulo web. Una biblioteca compartida es un archivo JAR (Java Archive) externo que utilizan una o varias aplicaciones. La utilización de bibliotecas compartidas permite desplegar varias aplicaciones en un servidor para utilizar una única biblioteca, en lugar de utilizar varias copias de la misma biblioteca. Una vez asociadas las bibliotecas compartidas con una aplicación o un módulo, el cargador de clases de aplicación o módulo carga las clases representadas por las bibliotecas compartidas y hace que esas clases estén disponibles para la aplicación o el módulo. Cada fila de los datos de tarea representa una única aplicación o módulo web.
    • application - especifica el nombre de la aplicación que está instalando.
    • module - especifica el nombre del módulo asociado con las bibliotecas compartidas.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • sharedLibraries - especifica el nombre de los archivos de biblioteca compartida asociados con la aplicación o el módulo.
    SharedLibRelationship Le permite especificar los nombres de identificadores de relaciones y de unidades de composición para las bibliotecas compartidas a los que hacen referencia los módulos de la aplicación de empresa. Cuando se instala la aplicación de empresa, el producto crea una unidad de composición para cada relación de biblioteca compartida en la aplicación de nivel empresarial que haya especificado. Cada fila de los datos de tarea representa una única aplicación o módulo web.
    • module - especifica el nombre del módulo asociado con las bibliotecas compartidas.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • relationshipIdentifiers - especifica un activo de biblioteca compartida o un identificador de unidad de composición para la relación de la biblioteca compartida del módulo. El formato de la cadena es:
      assetname=<nombreActivo> o cuname=<nombreCu>

      Puede utilizar el signo más (+) para especificar varias relaciones.

    • compositionUnit - especifica un nombre de unidad de composición para la relación de biblioteca compartida. El producto utiliza este valor en el nombre de la unidad de composición que crea para la relación de biblioteca compartida en la aplicación de nivel empresarial. El nombre de la unidad de composición se correlaciona posicionalmente con el nombre del identificador del activo o de la unidad de composición en el campo de la relación.
    • matchTarget - especifica si el producto correlaciona la unidad de composición para la relación de biblioteca compartida con el mismo destino de despliegue que el de la aplicación de nivel empresarial. Los valores siguientes son válidos para esta columna:
      • AppConstants.YES_KEY, que indica que desea que el producto correlacione la unidad de composición de la relación de la biblioteca compartida al mismo destino de despliegue que la aplicación de nivel empresarial.
      • AppConstants.NO_KEY, que indica que no desea que el producto correlacione la unidad de composición de la relación de la biblioteca compartida al mismo destino de despliegue que la aplicación de nivel empresarial.
    CtxRootForWebMod Le permite especificar la raíz de contexto para los módulos web durante la instalación (o después de ella) de una aplicación en un destino de despliegue de WebSphere Application Server. Cada fila de los datos de tarea representa un único módulo web.
    • webModule - especifica el nombre de un módulo web en la aplicación que está instalando o que está visualizando después de la instalación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • contextRoot - especifica la raíz de contexto de la aplicación web (WAR). Se define una raíz de contexto para cada módulo Web en el descriptor de despliegue de aplicaciones durante el ensamblaje de aplicaciones. El directorio raíz de contexto se combina con la correlación de servlet definida (del archivo WAR) para componer el URL completo que los usuarios escriben para acceder al servlet. Por ejemplo, si el directorio raíz de contexto es /gettingstarted y la correlación de servlet es MySession, el URL sería http://host:port/gettingstarted/MySession.
    MapInitParamForServlet Le permite especificar los valores de parámetros iniciales para los servlets de los módulos web durante la instalación de una aplicación en un destino de despliegue de WebSphere Application Server. De forma predeterminada, se utilizan los valores <param-value> especificado en las sentencias <init-param> del archivo web.xml de los módulos web. Cada fila de los datos de tarea representa un único servlet.
    • module - especifica el nombre de un módulo en la aplicación que se está instalando o se está visualizando después de la instalación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • servlet - especifica un nombre único para el servlet dentro de la aplicación.Debe empaquetar los servlets en archivos WAR (Web archive) o en módulos Web para su despliegue en un servidor de aplicaciones. Los servlets, que se ejecutan en un servidor Web habilitado para Java, amplían las funciones de un servidor Web, de forma similar a como se ejecutan los applets en un navegador, y amplían las funciones de un navegador.
    • name - especifica el nombre del parámetro de inicialización que se ha pasado al método init del filtro de servlet del módulo web. La siguiente sentencia de filtro de servlet de ejemplo de un archivo web.xml especifica un nombre de parámetro de inicialización de attribute:
      <init-param>
         <param-name>attribute</param-name>
         <param-value>tests.Filter.
      DoFilter_Filter.SERVLET_MAPPED
      </param-value>
      </init-param>
    • value - especifica el valor asignado a un parámetro de inicialización que se ha pasado al método init del filtro de servlet del módulo web. La siguiente sentencia de filtro de servlet de ejemplo de un archivo web.xml especifica un valor de parámetro de inicialización de tests.Filter.DoFilter_Filter.SERVLET_MAPPED para el parámetro de inicialización attribute:
      <init-param>
         <param-name>attribute</param-name>
         <param-value>tests.Filter.
      DoFilter_Filter.SERVLET_MAPPED
      </param-value>
      </init-param>
    • description - especifica información sobre el parámetro de inicialización.
    MapEnvEntryForEJBMod Le permite configurar las entradas de entorno de los módulos Enterprise JavaBeans™ (EJB) como, por ejemplo, la entidad, la sesión o los beans controlados por mensajes. Cada fila de datos de tarea representa una entrada de entorno individual en un módulo EJB.
    • module - especifica el nombre de un módulo EJB.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • EJB - especifica el nombre de un enterprise bean que contiene el módulo.
    • name - especifica el nombre de la entrada de entorno que está editando o visualizando. La entrada de entorno es la propiedad env-entry en el módulo EJB.
    • type - especifica un tipo de datos para la entrada de entorno definida por la propiedad env-entry en el módulo EJB.
    • description - especifica información sobre la entrada de entorno.
    • value - especifica un valor editable para la entrada de entorno definida por la propiedad env-entry en el módulo EJB.
    MapEnvEntryForWebMod Le permite configurar las entradas de entorno de módulos web como, por ejemplo, servlets y archivos JSP (JavaServer Pages). Cada fila de los datos de tarea representa una entrada de entorno individual en un módulo web.
    • module - especifica el nombre de un módulo web.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • name - especifica el nombre de la entrada de entorno que está editando o visualizando. La entrada de entorno es la propiedad env-entry en el módulo web.
    • type - especifica un valor data para la entrada de entorno definida por la propiedad env-entry en el módulo web.
    • description - especifica información sobre la entrada de entorno.
    • value - especifica un valor editable para la entrada de entorno definida por la propiedad env-entry en el módulo web.
    MapMessageDestinationRefToEJB Le permite especificar el nombre JNDI del objeto administrado J2C para enlazar la referencia de destino de mensajes con los beans controlados por mensajes. Cada fila de los datos de tarea representa una referencia de destino de mensaje individual en un módulo.
    • module - especifica el nombre de un módulo EJB.
    • EJB - especifica el nombre de los beans controlados por mensajes (MDB) que contiene el módulo.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • messageDestinationObject - especifica el nombre de la referencia de destino de mensaje o el enlace del destino de mensaje si se proporciona un enlace de destino.
    • JNDI - especifica el JNDI de destino del bean de destino de mensaje al que se hace referencia. Si se proporciona un enlace de destino de mensaje, este campo toma de forma predeterminada el JNDI de destino del bean controlado por mensaje al cual hace referencia el enlace de destino del mensaje.
    DataSourceFor10EJBModules Le permite especificar el nombre JNDI del origen de datos predeterminado utilizado para un módulo EJB que contiene beans EJB1.x. Cada fila de los datos de tarea representa un único módulo EJB.
    • EJBModule - especifica el nombre del módulo que contiene los enterprise beans 1.x.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JNDI - especifica el nombre de JNDI del origen de datos predeterminado para el módulo EJB.
    • userName - especifica el nombre de usuario que, junto con la contraseña, consta de un alias de autenticación para proteger el origen de datos.
    • password- especifica la contraseña que, junto con el nombre de usuario, consta del alias de autenticación para proteger el origen de datos.
    • Configuración de inicio de sesión - especifica el método de autenticación para proteger el origen de datos.
    • authentication properties - especifica las propiedades que se utilizan en la configuración de inicio de sesión. El formato de la cadena es:
      websphere:name= <nombre1>,value=<valor1>,
      description=<desc1>

      Puede utilizar el signo más (+) para especificar varias propiedades.

    DataSourceFor20EJBModules Le permite especificar el nombre JNDI de la fábrica de conexiones predeterminada que utiliza un módulo EJB y que contiene beans EJB2.x. Cada fila de los datos de tarea representa un único módulo EJB.
    • EJBModule - especifica el nombre del módulo que contiene los enterprise beans 1.x.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JNDI - especifica el nombre de JNDI del origen de datos predeterminado para el módulo EJB.
    • Autorización de recursos - especifica el tipo de autorización para proteger el recurso. Los valores válidos son
      AppConstants.APPDEPL_CMPBINDING_
      RESAUTHTYPE_CONTAINER
      y
      AppConstants.APPDEPL_CMPBINDING_
      RESAUTHTYPE_PER_CONNECTION_FACTORY
      .
    • Configuración de inicio de sesión - especifica el método de autenticación para proteger el origen de datos.
    • authentication properties - especifica las propiedades que se utilizan en la configuración de inicio de sesión. El formato de la cadena es:
      websphere:name= <nombre1>,value=<valor1>,
      description=<desc1>

      Puede utilizar el signo más (+) para especificar varias propiedades.

    • Propiedades de origen de datos ampliadas - especifica las propiedades de origen de datos ampliadas para una base de datos DB2.

      Puede utilizar estas propiedades para permitir a una aplicación extender las propiedades personalizadas para un origen de datos o alterar temporalmente todas las propiedades no principales que ya existen para ese origen de datos.

    DataSourceFor10CMPBeans Le permite especificar el nombre JNDI del origen de datos que debe utilizar un bean EJB1.x con persistencia gestionada por el contenedor. Una fila de datos de tarea representa un único EJB.
    • EJBModule - especifica el nombre del módulo que contiene los enterprise beans 1.x.
    • EJB - especifica el nombre de un enterprise bean que contiene el módulo.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JNDI - especifica el nombre de JNDI del origen de datos predeterminado para el módulo EJB.
    • userName - especifica el nombre de usuario que, junto con la contraseña, consta de un alias de autenticación para proteger el origen de datos.
    • password- especifica la contraseña que, junto con el nombre de usuario, consta del alias de autenticación para proteger el origen de datos.
    • Configuración de inicio de sesión - especifica el método de autenticación para proteger el origen de datos.
    • authentication properties - especifica las propiedades que se utilizan en la configuración de inicio de sesión. El formato de la cadena es:
      websphere:name= <nombre1>,value=<valor1>,
      description=<desc1>

      Puede utilizar el signo más (+) para especificar varias propiedades.

    DataSourceFor20CMPBeans Le permite especificar el nombre JNDI de la fábrica de conexiones que va a utilizar un bean EJB2.x con persistencia gestionada por el contenedor. Una fila de datos de tarea representa un único EJB.
    • EJBModule - especifica el nombre del módulo que contiene los enterprise beans 1.x.
    • EJB - especifica el nombre de un enterprise bean que contiene el módulo.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JNDI - especifica el nombre de JNDI del origen de datos predeterminado para el módulo EJB.
    • Autorización de recursos - especifica el tipo de autorización para proteger el recurso. Los valores válidos son
      AppConstants.APPDEPL_CMPBINDING_
      RESAUTHTYPE_CONTAINER
      y
      AppConstants.APPDEPL_CMPBINDING_
      RESAUTHTYPE_PER_CONNECTION_FACTORY
      .
    • Configuración de inicio de sesión - especifica el método de autenticación para proteger el origen de datos.
    • authentication properties - especifica las propiedades que se utilizan en la configuración de inicio de sesión. El formato de la cadena es:
      websphere:name= <nombre1>,value=<valor1>,
      description=<desc1>

      Puede utilizar el signo más (+) para especificar varias propiedades.

    • Propiedades de origen de datos ampliadas - especifica las propiedades de origen de datos ampliadas para una base de datos DB2.

      Puede utilizar estas propiedades para permitir a una aplicación extender las propiedades personalizadas para un origen de datos o alterar temporalmente todas las propiedades no principales que ya existen para ese origen de datos.

    MapWebModToVH Le permite especificar hosts virtuales para módulos web. Cada fila de datos de tarea representa un módulo web en la aplicación para la que se debe recopilar la información del host virtual. Los módulos web se pueden instalar en el mismo host virtual o dispersarse entre varios hosts virtuales. Cada fila de los datos de tarea representa un único módulo web.
    • webModule - especifica el nombre de un módulo web en la aplicación que está instalando o que está visualizando después de la instalación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • virtualHost - especifica el nombre del host virtual con el que está correlacionado actualmente el módulo Web.

      No especifique el mismo host virtual para módulos Web diferentes que tengan la misma raíz de contexto y se hayan desplegado en destinos pertenecientes al mismo nodo incluso si los módulos Web están contenidos en aplicaciones diferentes. Si se especifica el mismo host virtual se genera un error de validación.

    EnsureMethodProtectionFor10EJB Le permite especificar si todos los métodos no protegidos de un módulo EJB1.x deben hacerse inaccesibles. Cada fila de la tarea representa un único módulo EJB1.x.
    • EJBModule - especifica el nombre del módulo que contiene los beans de EJB2.x.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • method.denyAllAccessPermission - especifica uno de los siguientes permisos de acceso:
      • AAppConstants.YES_KEY, que indica que desea proteger este módulo EJB haciendo que esté inaccesible para los usuarios independientemente de sus permisos de acceso.
      • AppConstants.NO_KEY, que indica que desea que este módulo EJB esté accesible para todos los usuarios que dispongan de los permisos de acceso adecuados.
    EnsureMethodProtectionFor20EJB Le permite especificar el nivel de protección para los métodos no protegidos de los beans EJB2.x en módulos EJB. Cada fila de los datos de tarea especifica el método de protección por módulo EJB.
    • EJBModule - especifica el nombre del módulo que contiene los beans de EJB2.x.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • method.protectionType - especifica uno de los siguientes métodos de protección:
      • AppConstants.APPDEPL_METHOD_PROTECTION_UNCHECK, que indica que no desea que el servidor de aplicaciones verifique los permisos de acceso para el módulo EJB. Todo el mundo puede acceder al módulo EJB.
      • AppConstants.APPDEPL_METHOD_PROTECTION_EXCLUDE, que indica que desea proteger este módulo EJB haciendo que esté inaccesible para todos los usuarios independientemente de sus permisos de acceso.
    AppDeploymentOptions Le permite especificar diversas opciones específicas del despliegue. Esta tarea sólo tiene 2 filas. La primera fila especifica el nombre de la opción y la segunda fila tiene el valor de la opción correspondiente. Los valores siguientes son los valores válidos para estas opciones a menos que se indique lo contrario en la descripción de la opción:
    • AppConstants.YES_KEY, que indica que desea utilizar esta opción de despliegue.
    • AppConstants.NO_KEY, que indica que no desea utilizar esta opción de despliegue.
    Los nombres de las opciones que se pueden especificar son:
    • preCompileJSPs - indica si los archivos de JavaServer Pages se precompilan.
    • installed.ear.destination - especifica el directorio en el que desea instalar el archivo EAR (archivador empresarial). El valor de esta opción es una vía de acceso del directorio completa como, por ejemplo, raíz_perfil/installedApps/mycell/myapp.ear
    • distributeApp - indica si el componente de gestión de aplicaciones distribuye binarios de aplicaciones.
    • useMetaDataFromBinary - indica si los metadatos que se utilizan en el tiempo de ejecución como, por ejemplo, descriptores, enlaces y extensiones, provienen del archivo EAR.
    • deployejb - especifica si se va a ejecutar la herramienta EJBDeploy durante la instalación.
    • appname - especifica el nombre de la aplicación que está desplegando con estas opciones.
    • createMBeansForResources - indica si se crean MBeans para todos los recursos como, por ejemplo, servlets, archivos JSP (JavaServer Pages) y enterprise beans, que se definen en una aplicación cuando se inicia la aplicación en un destino de despliegue.
    • reloadEnabled - indica si el sistema de archivos de la aplicación se explorará en busca de archivos actualizados de forma que los cambios se vuelvan a cargar dinámicamente.
    • reloadInterval - especifica, en segundos, el periodo de tiempo durante el cual el sistema de archivos de la aplicación explorará buscando archivos actualizados. El valor especificado para esta opción es un entero mayor que cero.
    • eployws - especifica si se va a ejecutar la herramienta wsdeploy durante el despliegue.
    • validateinput - especifica si el producto examina las referencias de aplicación especificadas durante la instalación o la actualización de aplicaciones y, si la validación está habilitada, le avisa de las referencias incorrectas o cancela la operación. Los valores válidos son AppConstants.APPDEPL_VALIDATE_INSTALL_OFF, AppConstants.APPDEPL_VALIDATE_INSTALL_WARM y AppConstants.APPDEPL_VALIDATE_INSTALL_FAIL.
    • processEmbeddedConfig - especifica si debe procesarse la configuración incorporada. Una configuración incorporada consta de archivos como, por ejemplo, resource.xml y variables.xml.
    • filepermission - especifica los permisos de acceso para los binarios de aplicación de las aplicaciones instaladas que se expanden en el directorio especificado.
    • blaname - especifica si el producto crea una nueva aplicación de nivel empresarial con la aplicación empresarial que se está instalando o hace que la aplicación empresarial sea una unidad de composición de una aplicación de nivel empresarial existente.
    • autolink - especifica si el producto asigna valores JNDI predeterminados a destinos de referencia EJB incompletos o si resuelve automáticamente destinos de referencias EJB incompletos.
    JSPReloadForWebMod Le permite configurar la recarga de clases de módulos web como, por ejemplo, archivos JSP (JavaServer Pages) y seleccionar una implementación JSF para utilizarla con esta aplicación. Cada fila de los datos de tarea representa un único módulo web.
    • webModule - especifica el nombre de un módulo web en la aplicación que está instalando o que está visualizando después de la instalación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • enableJSPClassReloading - especifica si se debe habilitar la recarga de clases cuando se actualicen los archivos JSP.
    • JSPReloadInterval - especifica, en segundos, la frecuencia en que el producto explora el sistema de archivos de la aplicación en búsqueda de archivos JSP actualizados.
    EJBDeployOptions Le permite especificar opciones para la herramienta de despliegue de enterprise bean (EJB). La herramienta genera el código necesario para ejecutar los archivos de enterprise beans. Puede especificar variables classpath adicionales, opciones RMIC (Remote Method Invocation Compiler), tipos de base de datos y nombres de esquemas de base de datos que se van a utilizar mientras se ejecuta la herramienta de despliegue de EJB.
    • deployejb.classpath - especifica la vía de acceso de clases de un archivo o de varios archivos comprimidos o archivos JAR (Java archive) de los que depende el archivo JAR o EAR que se está instalando.
    • deployejb.rmic - especifica si la herramienta de despliegue de EJB pasa opciones RMIC al compilador RMI (Remote Method Invocation). Consulte la documentación de las herramientas RMI para obtener información acerca de las opciones. Los valores siguientes son válidos para esta columna:
      • AAppConstants.YES_KEY, que permite que la herramienta de despliegue de EJB pase opciones RMI al compilador Remote Method Invocation.
      • AppConstants.NO_KEY, que impide que la herramienta de despliegue de EJB pase opciones RMIC al compilador Remote Method Invocation.
    • deployejb.dbtype - especifica el nombre del proveedor de bases de datos que se utiliza para determinar los tipos de columnas de base de datos, la información de correlación, Table.sql y otra información. Si especifica un tipo de base de datos, el tipo de base de datos seleccionado sobregrabará los ID de programa de fondo definidos anteriormente para todos los módulos EJB. Para habilitar los ID del programa de fondo para módulos EJB individuales, no especifique ningún valor para esta columna.
    • deployejb.dbschema - especifica el nombre del esquema que desea crear. La herramienta de despliegue EJB guarda la información de base de datos en el documento del esquema del archivo JAR o EAR, lo que significa que no es necesario volver a especificar las opciones. También significa que cuando se genera un JAR o EAR, se debe definir la base de datos correcta en dicho punto porque no se puede modificar posteriormente.Si el nombre del esquema contiene espacios, se debe encerrar todo el nombre entre comillas. Por ejemplo:
      "mi esquema"
    • deployejb.dbaccesstype - especifica el tipo de acceso de base de datos para una base de datos DB2 que da soporte a Structured Query Language for Java (SQLJ). Utilice SQLJ para desarrollar aplicaciones de acceso a datos que se conecten a bases de datos DB2. SQLJ es un conjunto de extensiones de programación que permite el uso del lenguaje de programación Java para intercalar sentencias que proporcionan solicitudes de bases de datos SQL (Structured Query Language).
    • deployejb.SQLJclasspath - especifica la vía de acceso de clases del archivo sqlj.zip de la herramienta DB2 SQLJ. El producto utiliza esta vía de acceso de clases para ejecutar la herramienta DB2 SQLJ durante la instalación de la aplicación y genera perfiles SQLJ (archivos .ser).
    • deployejb.JDKcompliancelevel - especifica el nivel de cumplimiento del compilador del kit del desarrollador Java cuando se incluyen archivos de origen de la aplicación en la compilación.
    JSPCompileOptions Le permite especificar diversas opciones que utilizará el compilador JSP (JavaServer Pages).
    • webModule - especifica el nombre de un módulo web en la aplicación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JSPclasspath - especifica una vía de acceso de clases temporal que el compilador debe utilizar cuando compile archivos JSP durante la instalación. Esta vía de acceso de clases no se guarda cuando se completa la instalación de las aplicaciones y no se utiliza cuando se ejecuta la aplicación. Esta vía de acceso de clases se utiliza únicamente para identificar los recursos externos a la aplicación que se necesitan para compilar JSP y que se identificarán mediante otros medios (por ejemplo, como bibliotecas compartidas) una vez instalada la aplicación.

      En las configuraciones de despliegue de red, esta classpath es específica a la máquina del gestor de despliegue.

    • useFullPackageNames - especifica si el motor JSP genera y carga las clases JSP utilizando nombres completos de paquetes.Cuando se utilizan nombres de paquetes completos, los archivos de clases JSP se pueden configurar como servlets en el archivo web.xml sin tener que utilizar el atributo jsp-file. Cuando no se utilizan nombres de paquetes, todas las clases JSP se generan en el mismo paquete, lo que tiene las mismas ventajas que las vías de acceso al sistema de archivos más pequeñas.
    • JDKSourceLevel - especifica el nivel de origen en el que el compilador de Java compila los orígenes Java de JSP. Al especificar el valor para esta columna, omita el punto decimal en el número de nivel. Por ejemplo, especifique 15 para el nivel 1.5 de JDK.
    • disableJSPRuntimeCompilation - especifica si un archivo JSP no se debe convertir ni compilar en el tiempo de ejecución, incluso aunque no exista ningún archivo .class. Los valores siguientes son válidos para esta columna:
      • AAppConstants.YES_KEY, que indica que desea inhabilitar la compilación de tiempo de ejecución de JSP.
      • AppConstants.NO_KEY, que indica que no desea inhabilitar la compilación de tiempo de ejecución de JSP.
    MapModulesToServers Le permite especificar los servidores o clústeres de destino para los módulos de una aplicación. Cada fila de los datos de tarea representa un módulo de la aplicación. El destino del servidor se especifica como WebSphere:cell=cellName,node=nodeName,server=serveName, y el destino del clúster se especifica como WebSphere:cell=cellName,cluster=clusterName. Es posible especificar varios destinos para un determinado módulo delimitándolos mediante "+". Cada fila de los datos de tarea representa un único módulo.
    • Module - especifica el nombre de un módulo en la aplicación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • server- especifica el servidor o clúster de destino para este módulo.
    CorrectUseSystemIdentity Le permite gestionar las propiedades de identidad del sistema del método EJB (Enterprise JavaBeans™) en la aplicación.
    • role - especifica el rol RunAs que se utiliza para este método EJB.
    • userName - especifica un nombre de usuario para el usuario del rol RunAs. El nombre de usuario se utiliza junto con el rol RunAs que se ha seleccionado para el rol.
    • password - especifica la contraseña que está asociada con el nombre de usuario en el registro de usuario.
    CorrectOracleIsolationLevel Le permite especificar el nivel de aislamiento del proveedor de tipo Oracle para las referencias de recursos que se correlacionan con recursos que utilizan una base de datos Oracle que está realizando el proceso de programa de fondo. Cada fila representa una referencia de recurso que se correlaciona con un recurso de base de datos de Oracle.
    • Module - especifica el nombre de un módulo en la aplicación.
    • resourceRef - especifica el nombre de una referencia de recursos.
    • JNDI - el nombre JNDI del recurso que es el destino de correlación de la referencia de recursos.
    • isolationLevel - especifica el nivel de aislamiento que desea utilizar para el proveedor de tipo Oracle. Los dos valores que se pueden especificar para esta columna son:
      • rc, que indica un nivel de aislamiento de lectura confirmada de JDBC.
      • s, que indica un nivel de aislamiento serializable de JDBC.
    ActSpecJNDI Le permite proporcionar nombres JNDI para objetos JCA de los módulos del adaptador de recursos incorporados.
    • Module - especifica el nombre de un módulo en la aplicación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • JCA object - especifica el nombre de un objeto JCA para la fábrica de conexiones J2C, el objeto administrado o la especificación de activación.
    • JNDI - especifica el nombre JNDI para el objeto JCA.
    BackendIdSelection Le permite cambiar el ID de programa de fondo para los módulos JAR (Java archive) del enterprise bean que tienen beans con persistencia gestionada por contenedor (CMP). Un módulo JAR de enterprise bean puede dar soporte a varias configuraciones de programa de fondo, tal como se especifica utilizando Application Assembly Tool. Esta tarea es útil si la aplicación tiene módulos EJB para los que se ha generado un código de despliegue para varias bases de datos de programa de fondo utilizando una herramienta de ensamblaje.
    • Module - especifica el nombre de un módulo EJB en la aplicación.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • ID - el ID de programa de fondo existente que representa una base de datos de programa de fondo.
    • currentID - especifica el nuevo ID de programa de fondo que representa la base de datos del programa de fondo que se debe utilizar
    MetadataCompleteForModules Permite que cada módulo EJB 3.0 o módulo web 2.5 escriba el descriptor de despliegue completo, incluida la información de despliegue de las anotaciones. A continuación, el sistema marca como completo el descriptor de despliegue para el módulo. Cada fila de los datos de tarea representa un único módulo.
    • module - especifica el nombre de un módulo EJB 3.0 o web 2.5.
    • uri - el URI (identificador de recursos uniforme) especifica la ubicación del archivador de módulos relativa a la raíz del EAR de la aplicación.
    • metadataComplete - especifica si se debe escribir el descriptor de despliegue completo de módulo, incluyendo información de despliegue procedentes de las anotaciones, al formato de lenguaje de códigos extensible (XML). Cuando se establece en true la acción metadataComplete de un módulo, WebSphere escribe el descriptor de despliegue completo, incluida la información de despliegue de las anotaciones. Los valores siguientes son válidos para esta columna:
      • AppConstants.YES_KEY, que indica que los módulos EJB 3.0 o web 2.5 pueden escribir el descriptor de despliegue completo, incluida la información de despliegue de las anotaciones.
      • AppConstants.NO_KEY, que indica que los módulos EJB 3.0 o web 2.5 no pueden escribir el descriptor de despliegue completo, incluida la información de despliegue de las anotaciones.

    La columna URI en diversas tareas identifica de forma exclusiva un módulo de la aplicación utilizando el formato como su valor, donde moduleURI es el nombre de archivo de módulo definido en el descriptor de despliegue de la aplicación y ddURI es el URI del descriptor de despliegue dentro del módulo (para el descriptor de despliegue estándar) o el URI del descriptor de despliegue alternativo para el módulo, tal como se define en el descriptor de despliegue de la aplicación. Por ejemplo, si una aplicación tiene un módulo web en MyWeb.war y el módulo utiliza un descriptor de despliegue estándar, el valor de la columna URI en varias tareas para este módulo será MyWeb.war,WEB-INF/web.xml. Por lo tanto, el valor de la columna URI siempre garantiza un identificador exclusiva de un módulo.

    El fragmento de código siguiente muestra cómo obtener las tareas de AppDeploymentController:

    AppDeploymentTask task =flowController.getFirstTask();
    while (task != null)
    {
    // manipular datos de tarea según sea necesario
    task = flowController.getNextTask();
    } 
  3. Manipular datos de tarea

    Mediante el nombre de tarea, los nombres de columna de tarea y el artefacto J2EE del que se debe proporcionar información de enlace, se podrán modificar los datos de tarea si la columna correspondiente se marca como mutable. El código de ejemplo siguiente muestra cómo se puede suministrar información de enlace para una tarea específica. En este ejemplo, estamos especificando usuarios para un rol de seguridad: considere que la aplicación tiene un rol de seguridad denominado Role1 y que es necesario asignar los usuarios Usuario1 y Usuario2 a dicho rol:

    if (task.getName().equals ("MapRolesToUsers") && !task. isTaskDisabled()) 
    { 
    // Averiguar el índice de columna para la columna role y user 
    // se consulta la tabla para obtener los nombres de columna
    int roleColumn = -1;
    int userColumn = -1;
    String[] colNames = task.getColumnNames();
    for (int i=0; i < colNames.length; i++)
    { 
    if (colNames[i].equals ("role"))
    	roleColumn = i;
    else if (colNames[i].equals ("role.user"))
    userColumn = i; 
    } 
    
    // Repetir datos de tarea a partir de la fila 1 ya que row0 es
    // nombres de columna
    String[][]data = task.getTaskData();
    for (int i=1; i < data.length; i++)
    {
    if (data[i][roleColumn].equals ("Role1")) 
    {
    	data[i][userColumn]="User1|User2";
    break;
    }
    } 
    
    // Ahora que los datos han cambiado, volver a guardarlos
    task.setTaskData (data);
    } 
    

    Se puede utilizar una lógica similar para especificar todos los demás tipos de información de enlace como, por ejemplo, nombres JNDI para EJB, nombres de host virtuales para módulos web, etc., en diversas tareas. La información de la tarea y el código de ejemplo no permiten recopilar información de enlace para los módulos de cliente de aplicaciones. Debe utilizar la herramienta de configuración de cliente que se entrega con WebSphere Application Server para configurar clientes de aplicaciones.

  4. Guarde el archivo EAR y obtenga las opciones de instalación.

    Después de proporcionar toda la información de enlace necesaria en varias tareas, los datos de la tarea deberán guardarse en el archivo EAR, de modo que el archivo EAR llenado se pueda instalar en la configuración de WebSphere Application Server. Además de la información de enlace que se almacena en el archivo EAR, existen otras opciones de despliegue que recopilan las tareas como, por ejemplo, AppDeploymentOptions, EJBDeployOptions y MapModulesToServers. Estas opciones no se guardan en el archivo EAR pero se deben pasar cuando se instala la aplicación en la configuración de WebSphere Application Server. Después de manipular los datos de tarea según convenga y tras guardar el archivo EAR, podrá obtener estas opciones de AppDeploymentController como una tabla hash. Si lo prefiere, se pueden pasar estar opciones directamente durante la instalación de la aplicación, tal como se explica en la sección Instalación de aplicaciones y en el documento javadoc para la API installApplication de la interfaz com.ibm.websphere.management.application.AppManagement.

    El código siguiente muestra cómo guardar los datos de tarea en el archivo EAR y obtener las opciones de instalación generadas:

    // la siguiente línea de código guarda los datos de tarea
    // en el archivo EAR especificado como earName en el paso 1
    flowController.saveAndClose();
    
    
    // Obtener las opciones de instalación
    Hashtable options = flowController.getAppDeploymentSavedResults();

Qué hacer a continuación

Utilice la programación para instalar la aplicación.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjmx_prepappforinstall
File name: tjmx_prepappforinstall.html