Instalación de aplicaciones empresariales mediante scripts wsadmin

Utilice el objeto AdminApp o la biblioteca de scripts AdminApplication para instalar una aplicación en el tiempo de ejecución del servidor de aplicaciones. Puede instalar un archivo EAR (archivado empresarial), un archivo WAR (archivador web), un archivo SAR (archivado de servlet) o un archivo JAR (archivado Java™).

Antes de empezar

En una instalación de Network Deployment, compruebe que el gestor de despliegue se esté ejecutando antes de instalar una aplicación. Utilice el programa de utilidad de mandatos startManager para iniciar el gestor de despliegue.

Existen dos procedimientos para realizar esta tarea. Siga los pasos descritos en este tema para utilizar el objeto AdminApp para instalar aplicaciones empresariales. De manera alternativa, puede utilizar los scripts en la biblioteca de scripts AdminApplication para instalar, desinstalar y administrar las configuraciones de aplicación.

La biblioteca de scripts proporciona un conjunto de procedimientos para automatizar las funciones de administración más comunes. Puede ejecutar cada procedimiento de script de forma individual, o combinar varios procedimientos para desarrollar rápidamente nuevos scripts.

Acerca de esta tarea

Utilice este tema para instalar una aplicación desde un archivo EAR (archivado empresarial), un archivo WAR (archivado web), un archivo SAR (archivado de servlet) o un archivo JAR (archivado Java). El archivo de archivado debe terminar en .ear, .jar, .sar o .war para que la herramienta wsadmin pueda completar la instalación. La herramienta wsadmin utiliza estas extensiones para determinar el tipo de archivado. La herramienta wsadmin recorta automáticamente los archivos WAR y JAR como un archivo EAR.

Best practice Best practice: Utilice la versión del producto más reciente de la herramienta wsadmin cuando instale aplicaciones en entornos de varias versiones para asegurarse de que estén disponibles los mandatos y las opciones de wsadmin más recientes. bprac

Procedimiento

  1. Inicie la herramienta de scripts wsadmin.
  2. Determine qué opciones se deben utilizar para instalar la aplicación en la configuración.

    Por ejemplo, si la configuración consta de un nodo, una célula y un servidor, puede especificar esa información al entrar el mandato install. Consulte la lista de opciones válidas para el mandato install e installinteractive en el tema Opciones para los mandatos install, installInteractive, edit, editInteractive, update y updateInteractive del objeto AdminApp con scripts wsadmin para localizar la sintaxis correcta para las opciones-node, -celly -server. Para esta configuración, utilice los siguientes ejemplos de mandatos:

    En Jython:
    AdminApp.install('location_of_ear.ear','[-node
    nombreNodo -cell nombreCélula -server nombreServidor]')
    En Jacl:
    $AdminApp install "ubicación_de_ear.ear" {-node nombreNodo -cell nombreCélula -server nombreServidor}

    También puede obtener una lista de las opciones soportadas para un archivo EAR (archivado empresarial) utilizando el mandato options, por ejemplo:

    En Jython:
    print AdminApp.options()
    En Jacl:
    $AdminApp options

    Puede establecer o actualizar un valor de configuración mediante las opciones en modalidad por lotes. Para identificar qué objeto de configuración se va a establecer o actualizar, los valores de campos de sólo lectura se utilizan para buscar el objeto de configuración correspondiente. Todos los valores de campos de sólo lectura tienen que coincidir con un objeto de configuración existente; de lo contrario, el mandato da error.

    Puede utilizar la coincidencia de patrones para simplificar la tarea de suministrar los valores necesarios para determinadas opciones complejas. La coincidencia de patrones sólo se aplica a campos que son obligatorios y de solo lectura.

  3. Elija utilizar el mandato install o installInteractive para instalar la aplicación.

    Puede instalar la aplicación con la modalidad por lotes, utilizando el mandato install, o puede instalarla con la modalidad interactiva, utilizando el mandato installinteractive. La modalidad interactiva solicita información a través de una serie de tareas. Tanto el mandato install como el mandato installinteractive soportan el conjunto de opciones que ha elegido utilizar para la instalación en el paso anterior.

  4. Instale la aplicación. En este ejemplo, sólo la opción -server se utiliza con el mandato install, donde el valor de la opción -server es serv2. Personalice el mandato install o installinteractive con las opciones que ha elegido basándose en la configuración.
    • Utilizando el mandato install para instalar la aplicación en modalidad de proceso por lotes:
      • Para una instalación de Network Deployment, el siguiente mandato utiliza el archivo EAR y la información de opciones de mandato para instalar la aplicación en un clúster:
        • Utilizando la serie Jython:

          [AIX Solaris HP-UX Linux Windows]
          AdminApp.install('c:/MyStuff/application1.ear', '[-cluster cluster1]')
          [z/OS]
          AdminApp.install('MyStuff/application1.ear', '[-cluster cluster1]')
          [IBM i]
          AdminApp.install('/home/myProfile/MyStuff/application1.ear', '[-cluster cluster1]')
        • Utilizando la lista Jython:

          [AIX Solaris HP-UX Linux Windows]
          AdminApp.install('c:/MyStuff/application1.ear', ['-cluster', 'cluster1'])
          [z/OS]
          AdminApp.install('MyStuff/application1.ear', ['-cluster', 'cluster1'])
          [IBM i]
          AdminApp.install('/home/myProfile/MyStuff/application1.ear', ['-cluster', 'cluster1'])
        • En Jacl:

          [AIX Solaris HP-UX Linux Windows]
          $AdminApp install "c:/MyStuff/application1.ear" {-cluster cluster1}
          [z/OS]
          $AdminApp install "MyStuff/application1.ear" {-cluster cluster1}
          [IBM i]
          $AdminApp install "/home/myProfile/MyStuff/application1.ear" {-cluster cluster1}
        Tabla 1. Elementos del mandato install cluster. Ejecute el mandato install con la opción -cluster.
        Elemento Descripción
        $ es un operador Jacl para sustituir un nombre de variable por su valor
        AdminApp es un objeto que permite que se gestionen los objetos de aplicación
        install es un mandato AdminApp
        MyStuff/application1.ear es el nombre de la aplicación que desea instalar
        clúster es una opción de instalación
        clúster1 valor de la opción de clúster que representará el nombre del clúster
    • Utilice el mandato installInteractive para instalar la aplicación empleando la modalidad interactiva. El mandato siguiente cambia la información de la aplicación solicitándole que realice una serie de tareas de instalación:
      • En Jython:

        [AIX Solaris HP-UX Linux Windows]
        AdminApp.installInteractive('c:/MyStuff/application1.ear')
        [z/OS]
        AdminApp.installInteractive('MyStuff/application1.ear')
        [IBM i]
        AdminApp.installInteractive('/home/myProfile/MyStuff/application1.ear')
      • En Jacl:

        [AIX Solaris HP-UX Linux Windows]
        $AdminApp installInteractive "c:/MyStuff/application1.ear"
        [z/OS]
        $AdminApp installInteractive "MyStuff/application1.ear"
        [IBM i]
        $AdminApp installInteractive "/home/myProfile/MyStuff/application1.ear"
      Tabla 2. Elementos del mandato installInteractive. Ejecute el mandato installInteractive con el nombre de la aplicación que se ha de instalar.
      Elemento Descripción
      $ es un operador Jacl para sustituir un nombre de variable por su valor
      AdminApp es un objeto que permite que se gestionen los objetos de aplicación
      installInteractive es un mandato AdminApp
      MyStuff/application1.ear es el nombre de la aplicación que desea instalar
  5. Guarde los cambios de configuración.
    Utilice el siguiente ejemplo de mandatos para guardar los cambios de configuración:
    AdminConfig.save()
  6. En un entorno sólo de despliegue de red, sincronice el nodo.

Qué hacer a continuación

Los pasos de esta tarea devuelven un mensaje de éxito si el sistema instala satisfactoriamente la aplicación. No obstante, los pasos pueden realizarse satisfactoriamente antes de que el sistema extraiga cada archivo binario. Por ejemplo, en un entorno de Network Deployment, los archivos binarios se extraen cuando finaliza la sincronización de nodos. No puede iniciar la aplicación hasta que el sistema extraiga todos los archivos binarios. Utilice los mandatos isAppReady y getDeployStatus del objeto AdminApp para verificar que el sistema ha extraído los archivos binarios antes de iniciar la aplicación.

El mandato isAppReady devuelve un valor de true si el sistema está preparado para iniciar la aplicación o un valor de false si no lo está. Si el sistema no está preparado para iniciar la aplicación, el sistema puede estar expandiendo archivos de aplicación. Un script que instala e inicia una aplicación normalmente creará un bucle en una llamada a isAppReady hasta que se devuelva un valor true antes de intentar el inicio de la aplicación.

Por ejemplo, utilizando Jython:
import time
result = AdminApp.isAppReady('application1')
while (result == "false"):
   ### Wait 5 seconds before checking again
   time.sleep(5)
   result = AdminApp.isAppReady('application1')
print("Starting application...")
En Jacl:
set result [$AdminApp isAppReady application1]
while {$result == "false"} {
   ### Wait 5 seconds before checking again
   after 5000
   set result [$AdminApp isAppReady application1]
}
puts "Starting application..."

Si el sistema no está preparado para iniciar la aplicación, el sistema puede estar expandiendo archivos de aplicación. Utilice el mandato getDeployStatus para mostrar información adicional sobre el estado de expansión de los archivos binarios, como se muestra en los ejemplos siguientes:

En Jython:
print AdminApp.getDeployStatus('aplicación1')
En Jacl:
$AdminApp getDeployStatus aplicación1

Ejecutar el mandato getDeployStatus donde application1 es DefaultApplication da como resultado información de estado sobre DefaultApplication parecida a la siguiente:

ADMA5071I: Se ha iniciado la comprobación de estado de la distribución para la aplicación
DefaultApplication.
WebSphere:cell=myCell01,node=myNode01,distribution=unknown,expansion=unknown
ADMA5011I: La limpieza del directorio temporal de la aplicación DefaultApplication ha finalizado.
ADMA5072I: Se ha completado la comprobación de estado de la distribución de la aplicación DefaultApplication.
WebSphere:cell=myCell01,node=myNode01,distribution=unknown,expansion=unknown

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=txml_callappinstall
File name: txml_callappinstall.html