Una funzione molto importante di IIP (integrated installation package) è la capacità di utilizzare le macro per automatizzare l'installazione di package di installazione inclusi.
Questo argomento fornisce le seguenti informazioni sulle macro IIP:
È possibile utilizzare delle macro predefinite per rendere l'IIP più flessibile e per automatizzare la modalità tramite cui altri contributi vengono installati senza dover specificare tutti gli elementi nella procedura guidata di definizione build durante la creazione di IIP. Ad esempio, è possibile installare due diversi package di installazione nella stessa ubicazione (o relativi alla stessa ubicazione) senza doverla specificare manualmente due volte nella procedura guidata di definizione build IIP. L'ubicazione di installazione del primo package può essere assegnata automaticamente all'opzione -installLocation del secondo package, rendendolo predefinito per tale ubicazione. L'utente può modificare tale valore durante l'installazione se tale operazione è stata consentita durante la creazione di IIP. Poiché le macro vengono risolte soltanto durante l'installazione di IIP, possono essere utilizzate non solo dall'utente che crea IIP, ma anche dall'utente che lo richiama. Sia la procedura guidata di definizione build che la procedura guidata di installazione IIP forniranno delle modalità pratiche per consentire agli utenti di sfruttare le macro senza dover modificare manualmente le stringhe di opzione per creare o modificare direttamente le macro.
È possibile utilizzare le seguenti macro nel proprio IIP:
In questo esempio, il valore del risultato della chiamata specificato viene acquisito e sostituito alla macro, dove <Invocation_ID> specifica quale chiamata di contributo nell'IIP fornisce il valore del risultato specificato. L'ID chiamata è necessario per risolvere eventuali ambiguità che potrebbero verificarsi se differenti contributi utilizzano gli stessi nomi dei valori di risultato o se sono presenti più chiamate del contributo fornito. Se, ad esempio, un IIP contiene il package di installazione del server dei processi (ID_chiamata = 6.2.0-WS-WBI_1-1) e il package di installazione Feature Pack for Web Services, è probabile che si desideri installare automaticamente il feature pack nello stesso contesto del server dei processi. Tale risultato può essere ottenuto inoltrando la seguente opzione nel programma di installazione del feature pack sulla riga comandi di installazione IIP:
-OPT installLocation=$RESV{6.2.0-WS-WBI_1-1:installLocation}
In questo esempio, il valore dell'opzione con il nome fornito viene acquisito e sostituito alla macro, dove <Invocation_ID> specifica quale chiamata di contributo nell'IIP supporta l'opzione fornita. Questa operazione è necessaria per risolvere eventuali ambiguità che potrebbero verificarsi se differenti contributi utilizzano gli stessi nomi dei valori di risultato o se sono presenti più chiamate del contributo fornito. Se, durante l'installazione di IIP, non è possibile risolvere l'opzione a cui si fa riferimento, si verifica un errore poiché tale opzione non è stata in realtà specificata nella chiamata di riferimento. L'utente di IIP deve modificare la chiamata di riferimento per includere l'opzione o modificare/rimuovere la macro con il riferimento. Durante la creazione di IIP, non è corretto utilizzare questa macro per fare riferimento ad un'opzione che non ha un valore, ad esempio –silent. In questo caso, la procedura guidata di definizione build genera un errore e non è possibile creare l'IIP.
Questo esempio è molto simile all'esempio $RESV con un'importante eccezione:
-OPT installLocation=$OPTV{6.2.0-WS-WBI_1-1:installLocation}
In questo esempio l'ubicazione di installazione viene inoltrata al server dei processi nell'opzione -installLocation e successivamente al feature pack per la relativa ubicazione di installazione. Questo processo funziona se il server dei processi è stato installato in modo non presidiato ma, se è stato installato in modalità GUI, è possibile che l'utente abbia modificato l'ubicazione nella procedura di installazione. Questa macro si risolverà comunque nel valore originale impostato durante la creazione di IIP. In questo caso, è preferibile utilizzare la macro Valore del risultato ($RESV) piuttosto che la macro Valore dell'opzione ($OPTV).
In questo esempio, la specifica dell'opzione con il nome fornito o stringa (se fornita) viene acquisita e sostituita alla macro. <ID_chiamata> specifica quale chiamata di contributo nell'IIP supporta l'opzione fornita. La specifica dell'opzione è una stringa che rappresenta esattamente in che modo viene specificata l'opzione sulla riga comandi, meno qualsiasi valore, ad esempio -OPT installLocation=. Tale macro è ideale per opzioni che non hanno alcun valore, come –silent. La parte stringa della macro consente di utilizzare un valore stringa come sostituzione di tale macro anziché utilizzare direttamente la specifica dell'opzione di riferimento. Tale processo si applica quando due diversi contributi possono avere opzioni differenti per la stessa funzione, in questo caso l'installazione non presidiata. Uno dei contributi può utilizzare la macro per verificare se l'altro contributo è stato richiamato in modo non presidiato e, in tal caso, può specificare la propria opzione per la chiamata non presidiata, utilizzando stringa.
A differenza della macro $OPTV, $OPTS si espande nella stringa vuota se l'opzione di riferimento non è stata specificata nella chiamata di riferimento: in questo caso, non si tratta di un errore. Ciò è importante per supportare elementi come la modalità di installazione in cui l'assenza di un'opzione come -silent indica che il programma di installazione utilizzerà la modalità GUI. L'utilizzo di questa macro per fare riferimento ad un'opzione che non dispone di una specifica genererà un errore.
Anche le opzioni che non hanno alcun valore, come –silent, possono essere risolte tramite le macro, ad esempio:
$OPTS{6.2.0-WS-WBI_1-1:silent}
In questo caso, se l'opzione di riferimento –silent è stata specificata nella chiamata del contributo del server dei processi 6.2.0-WS-WBI, la macro verrà sostituita dalla specifica dell'opzione -silent. Se tale opzione non è stata specificata, la macro si risolve nella stringa vuota. Ciò consente di installare in modo congruente una serie di contributi in modalità non presidiata o in modalità GUI in base a quanto specificato per uno di tali contributi. Se l'opzione non è stata specificata sul contributo di riferimento nel caso in cui tale riferimento sia un errore dell'utente, verrà generata un'avvertenza.
Questa macro si risolverà nell'ubicazione della chiamata del package fornito nell'IIP e il risultato è un percorso assoluto. Quando si specificano Contribution_ID e Sub_ID, il risultato è l'ubicazione root del contributo specificato all'interno dell'IIP. Se, ad esempio, è presente un contributo per l'edizione di base del prodotto server dei processi per Windows, la directory root di tale contributo sarà home_IIP/contrib/6.2.0-WS-WBI/1/WinX32. Il seguente esempio di macro si risolve in questa directory:
$LOC{6.2.0-WS-WBI_1}
Se viene specificato soltanto IIP, questo valore si risolve nella directory root o in home_IIP dell'IIP:
$LOC{IIP}
Questa macro verrà sostituita con il valore corrente della proprietà Java™ specificata, che può essere qualsiasi proprietà attualmente nota al runtime Java. Ad esempio, durante la procedura guidata di definizione build IIP viene richiesto di specificare la directory di installazione di destinazione delle proprie chiamate del contributo. Per impostazione predefinita, la directory di installazione di destinazione per un utente non root è la seguente:
$JP{user.home}/IBM/WebSphere/ProcServer
Per completare il percorso di directory, viene aggiunto /IBM/WebSphere/ProcServer alla directory home dell'utente corrente.