Implementazione classe Java
I moduli di integrazione possono essere implementati per utilizzare i file di classe Java™ . L'uso di un file di classe Java elimina la necessità di registrazione e configurazione del componente di integrazione. Inoltre, tutte le implementazioni sottostanti del modulo di integrazione sono trasparenti per il prodotto di gestione processi.
I moduli di integrazione classe Java devono implementare l'interfaccia Java psdi.iface.mic.ServiceInvoker . L'interfaccia Java del programma di richiamo del servizio è inclusa nel file businessobjects.jar . Includere la classe Java del modulo di integrazione nel percorso classe del sistema in fase di runtime.
L'interfaccia Java del programma di richiamo del servizio presenta variazioni della seguente firma del metodo:
public byte[] invoke(Map String,Object metaData,
MboRemote sourceMbo, MboRemote targetMbo, String endPointName)
throws MXException, RemoteException;
metaDataè una mappa delle proprietà nome e valore che include:- Il nome e la versione del modulo di integrazione.
- Il nome e lo spazio nome dell'operazione di gestione logica.
- Il GUID (globally unique identifier) del prodotto di gestione operativa.
- Il nome dell'endpoint e tutte le proprietà dell'endpoint che vengono sovrascritte.
sourceMboè l'oggetto di origine definito nell'operazione di gestione logica.targetMboè l'oggetto di risposta definito sull'operazione di gestione logicaendPointNameè il nome dell'endpoint che si utilizza per la comunicazione con il prodotto di gestione operativa.
Se si configura il modulo di integrazione per implementare più operazioni di gestione logica, il modulo di integrazione deve determinare quale operazione di gestione logica viene richiamata. Durante il runtime, il modulo di integrazione richiama le proprietà LMONAME e LMONAMESPACE dalla mappa di input metaData :
import psdi.iface.omp.IMConstants;
.
.
.
String lmoName = metaData.get(IMConstants.LMONAME);
String lmoNamespace = metaData.get(IMConstants.LMONAMESPACE);
Il modulo di integrazione può recuperare i dati dell'operazione di gestione logica dall'oggetto di origine. Il seguente codice di esempio richiama i valori dell'operazione di gestione logica dall'oggetto di origine:
String guid = sourceMbo.getString("GUID");
int packID = sourceMbo.getInt("PACKID");
boolean hasSubs = sourceMbo.getBoolean("HASSUBS");
Nell'esempio, l'operazione di gestione logica ha un attributo di input alfanumerico denominato GUID (globally unique identifier), un attributo intero denominato PACKID e un attributo booleano denominato HASSUBS.
I metodi del programma di richiamo del servizio possono utilizzare una MboSetRemote serie di valori come input di origine, invece di un singolo valore MboRemote . In alcuni casi, il modulo di integrazione passa tutti gli oggetti nella serie di oggetti al prodotto di gestione operativa. In altri casi, il modulo di integrazione passa solo il primo oggetto della serie. Non ci sono regole di impostazione che si applicano al comportamento del modulo di integrazione, ma è necessario definire chiaramente il funzionamento previsto nella descrizione dell'operazione di gestione logica.