WebSphere Enterprise Service Bus, Versión 6.2.0 Sistemas operativos: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Sustitución de macro de IIP

Una característica muy importante de paquetes de instalación integrados (IIP) es la capacidad de utilizar macros para ayudarle a automatizar la instalación de paquetes de instalación incluidos.

Este tema proporciona la siguiente información sobre macros de IIP:

Uso de macros en un IIP

Puede utilizar macros predefinidos para que el IIP sea más flexible y automatizar cómo se instalan determinadas contribuciones sin tener que especificarlo todo en el asistente de definición de creación durante la creación de IIP. Por ejemplo, puede instalar dos paquetes de instalación distintos en la misma ubicación (o en relación con la misma ubicación) sin tener que especificar manualmente esa ubicación dos veces en el asistente de definición de creación de IIP. La ubicación de instalación del primer paquete puede asignarse automáticamente a la opción -installLocation del segundo paquete, causando así que tome esa ubicación por omisión. Observe que el usuario puede cambiar este valor durante la instalación si lo ha permitido durante la creación de IIP. Dado que las macros no se resuelven hasta la instalación del IIP, puede utilizarlas no sólo el usuario que crea el IIP, sino también el usuario que lo invoca. Tanto el asistente de definición de creación como el asistente de instalación de IIP proporcionan maneras prácticas para que los usuarios aprovechen las macros sin tener que editar manualmente las series de opción para crear o modificar macros directamente.

Nota: En una macro no se puede hacer referencia a todas las opciones soportadas por una contribución. En estos momentos sólo se puede hacer referencia a las opciones -installLocation y -silent en las macros $RESV, $OPTV y $OPTS.

En el IIP puede utilizar las macros siguientes:

$RESV{<ID_invocación>:<Nombre_valor_resultado>}

Toma el valor de resultado de la invocación especificada y sustituye la macro por ese valor, donde <ID_invocación> especifica cuál es la invocación de contribución del IIP que proporciona el valor de resultado indicado. El ID de invocación es necesario para resolver las ambigüedades que pueden surgir si hay distintas contribuciones que utilizan los mismos nombres de valor de resultado o si hay varias invocaciones de la contribución dada. Por ejemplo, si un IIP contiene el paquete de instalación del servidor de procesos (ID_invocación = 6.2.0-WS-WBI_1-1) y el paquete de instalación del Paquete de características de servicios web, es probable que prefiera que el Paquete de características se instale automáticamente en la misma ubicación que el servidor de procesos. Esto se puede conseguir si se pasa la opción siguiente al programa de instalación del paquete de características en la línea de mandatos de instalación de IIP:

 -OPT installLocation=$RESV{6.2.0-WS-WBI_1-1:installLocation} 
Ya que tanto el instalador del servidor de procesos como el instalador del paquete de características dan soporte al valor de resultado -installLocation, así se garantiza que, sea cual sea la ubicación de instalación que se utilizó para el servidor de procesos, ésta se pasará automáticamente al instalador del paquete de características. Si, durante la instalación del IIP, el usuario suprimió la invocación referenciada (en otras palabras, el usuario optó por no instalar ese paquete específico) y la invocación que contiene la referencia no se ha suprimido, se genera un error y no se permite que continúe la instalación del IIP, porque no sería posible resolver la macro. Por ejemplo, si el servidor de procesos ya se ha instalado fuera del IIP e intenta instalar un paquete de características con el IIP utilizando una macro que se resuelva en una ubicación de instalación de paquete de servidor de procesos deseleccionada, la instalación fallará. Debe especificar la ubicación de instalación para el paquete de características sin utilizar esta macro. Si no se puede resolver una macro, el usuario debe realizar una de estas cuatro acciones para continuar:
  • Cambie la macro para que haga referencia a una invocación distinta que no se haya suprimido.
  • Habilite la invocación referenciada.
  • Inhabilite la invocación que contiene la referencia.
  • Elimine la macro.

$OPTV{<ID_invocación>:<Nombre_opción>}

Toma el valor de la opción con el nombre proporcionado y sustituye la macro por ese valor, donde <ID_invocación> especifica cuál de las invocaciones de contribución del IIP da soporte a la opción indicada. Esto es necesario para resolver las ambigüedades que pueden surgir si hay distintas contribuciones que utilizan los mismos nombres de valor de resultado o si hay varias invocaciones de la contribución dada. Durante la instalación del IIP, se produce un error si la opción referenciada no puede resolverse porque no se ha especificado en la invocación referenciada. El usuario del IIP debe cambiar la invocación referenciada para que incluya la opción o cambiar/eliminar la macro con la referencia. Se produce un error durante la creación del IIP cuando se utiliza esta macro para hacer referencia a una opción que no toma ningún valor, por ejemplo, -silent. En este caso, el asistente de definición de creación emite un error y el IIP no se puede crear.

Este ejemplo es muy similar al ejemplo $RESV, aunque con una excepción importante:

-OPT installLocation=$OPTV{6.2.0-WS-WBI_1-1:installLocation}

Toma cualquier ubicación de instalación que se haya pasado al servidor de procesos en la opción -installLocation y la pasa al paquete de características como su ubicación de instalación. Esto funcionará correctamente si el servidor de procesos se ha instalado de forma silenciosa, pero si se ha instalado en la modalidad de GUI, el usuario puede haber modificado la ubicación en el asistente de instalación por otra. Esta macro aún debería resolverse en el valor original establecido durante la creación del IIP. Es mejor utilizar la macro Result Value ($RESV) y no la macro Option Value ($OPTV) en este caso.

$OPTS{<ID_invocación>:<Nombre_opción>[;serie]}

Toma la especificación de la opción con el nombre proporcionado y sustituye la macro con esa especificación, o con serie si se ha facilitado. <ID_invocación> especifica cuál es la invocación de contribución del IIP que da soporte a la opción indicada. La especificación de la opción es una serie que representa exactamente cómo se especifica la opción en la línea de mandatos, menos cualquier valor, por ejemplo, -OPT installLocation=. Esta macro se utiliza principalmente para las opciones que no toman ningún valor, por ejemplo, -silent. La parte string de la macro permite utilizar un valor de serie como sustitución de esta macro en vez de utilizar directamente la especificación de opción referenciada. Esto da soporte a aquellos casos en los que dos contribuciones diferentes puedan tener opciones diferentes para la misma función, en este caso la invocación silenciosa. Una de las contribuciones puede utilizar la macro para comprobar si la otra contribución se ha invocado de forma silenciosa y, en caso afirmativo, puede especificar su propia opción para la invocación silenciosa utilizando string.

Tenga en cuenta que, a diferencia de la macro $OPTV, $OPTS se expande a la serie vacía si la opción referenciada no se ha especificado en la invocación referenciada; esta no es una situación de error. Es importante dar soporte a elementos como la modalidad de invocación, donde la ausencia de una opción como -silent significa que el instalador utilizará la modalidad de la GUI. Se produce un error si se utiliza esta macro para hacer referencia a una opción que no tiene una especificación.

Las opciones que no toman ningún valor como, por ejemplo, -silent, también pueden resolverse utilizando macros, por ejemplo:

$OPTS{6.2.0-WS-WBI_1-1:silent}

En este caso, si la opción referenciada, -silent, se ha especificado en la invocación de la contribución del servidor de procesos 6.1.0-WS-WASBase, la macro se sustituirá por la especificación de opción -silent. Si esta opción no se ha especificado, la macro se resolverá en la serie vacía. Esto permite instalar un conjunto de contribuciones para que se ejecuten de forma coherente en modalidad silenciosa o en modalidad de GUI, según lo que se especifique para una de estas contribuciones. Se emitirá un aviso si la opción no se ha especificado en la contribución referenciada, en el caso de que esta referencia sea un error de usuario.

$LOC{[<ID_contribución>_<ID_sub> | IIP]}

Esta macro se resolverá en la ubicación de la invocación de paquete dada en el IIP y el resultado es una vía de acceso absoluta. Cuando se especifican ID_contribución e ID_sub, se resuelve en la ubicación raíz de la contribución especificada en el IIP. Por ejemplo, si tiene una contribución para la edición base del producto de servidor de procesos para Windows, el directorio raíz de esta contribución sería inicio_IIP/contrib/6.2.0-WS-WBI/1/WinX32. El siguiente ejemplo de macro se resuelve en este directorio:

$LOC{6.2.0-WS-WBI_1}

Si sólo se especifica IIP, este valor se resuelve en el directorio raíz, o inicio_IIP, del IIP:

$LOC{IIP}

$JP{<propiedad Java>}

Esta macro se sustituirá por el valor actual de la propiedad Java™ indicada. Puede ser una propiedad conocida actualmente para el tiempo de ejecución Java. Por ejemplo, durante el asistente de definición de creación de IIP, se le solicitará que especifique el directorio de instalación de destino de las invocaciones de contribución. Por omisión, el directorio de instalación de destino para un usuario que no sea root es el siguiente:

$JP{user.home}/IBM/WebSphere/ProcServer

Esto añade /IBM/WebSphere/ProcServer al directorio inicial del usuario actual para completar la vía de acceso del directorio.


concept Tema de concepto

Condiciones de uso | Comentarios


Icono de indicación de la hora Última actualización: 05 julio 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/cins_if_iip_macros.html
Copyright IBM Corporation 2005, 2010. Reservados todos los derechos.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org).