Script della libreria

Gli script della libreria sono buoni per incapsulare la logica riutilizzabile. È possibile scrivere questi blocchi riutilizzabili come script della libreria, che sono script semplici senza punti di avvio. È quindi possibile utilizzare la variabile service per eseguire gli script della libreria da un altro script.

Il seguente script è un semplice esempio r=a*b.

Questo script moltiplica due variabili --a e b-- e imposta il risultato su un'altra variabile, r. Si supponga di richiamare questo script da un altro script e di voler passare a e b e quindi richiamare il valore r . Il seguente script mostra un esempio che richiama questo script della libreria (denominato CALC):
from java.util import HashMap

map = HashMap()
map.put("a",2)
map.put("b",3)
service.invokeScript("CALC",map)
res = map.get("r")
Lo script chiamante usa la variabile service implicita, che è disponibile per tutti gli script, per eseguire lo script della libreria denominato CALC. Inoltre, passa a e b come oggetto mappa allo script. La risposta r viene recuperata dallo stesso oggetto mappa. Mentre questo modo funziona, ha alcuni lati negativi:
  • Non consente allo script della libreria di avere più funzioni, diventando un vero script di utilità. In questo modello si è costretti a creare molti script della libreria, ciascuno per un programma di utilità.
  • Lo script chiamante utilizza molto codice per impostare la chiamata dello script della libreria che si occupa delle importazioni Java™ e delle strutture dati Java.
Il seguente esempio mostra un modo più semplice per riscrivere lo script CALC, aiutando gli script della libreria a essere basati sulle funzioni:
def mult(a,b):
  return a*b
  
 def add(a,b):
  return a+b
Ora, è possibile ospitare più moduli di utilità in uno script della libreria. È possibile utilizzare il seguente script di chiamata:
res = service.invokeScript("CALC","mult",[2,3])

Questo metodo riduce il numero di righe di codice in modo significativo e rimuove le importazioni della mappa Java, utilizzando invece il linguaggio nativo Python per eseguire tutte le operazioni. Aiuta anche a rendere il codice più leggibile. Questi script sono solo esempi che illustrano il concetto di script della libreria e il modo in cui service viene utilizzato per richiamare tali script. Gli esempi effettivi includono la logica di business riutilizzabile all'interno degli script della libreria.

Per lo script, non era necessario importare o creare nuovi moduli Python o JavaScript . È tutto gestito da IBM® Maximo® Manage. Gli script della libreria non sono diversi da altri script in termini di memorizzazione, memorizzazione nella cache, compilazione e altri aspetti.