Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo
Application Server con Gestore di piattaforma ad Agenti Mobili AS MAEAI Mobile Agent Mobile Agent AS MAEAI Mobile Agent Mobile Agent
Fornire un servizio di mobilità ad agenti per le richieste dell’AS attuando una migrazione intelligente e consapevole in base a: SCOPO PRINCIPALE 1. Politiche degli AS mittente e destinatario 2. Località di Risorse quali servizi e librerie necessarie all’esecuzione dell’agente 3. Bilanciamento di carico dell’intero sistema
REQUISITI IMPLEMENTATIVI: –Linguaggio JAVA e J2EE –Architettura SOMA (Secure and Open Mobile Agent) del DEIS –Application Server JBoss –Servizio di discovery JNDI (Java Naming and Directory Interface) −Per gli Agenti −Sicurezza −Scalabilità Autonomia Interazione con l’ambiente Proattività Cooperazione REQUISITI PROGETTUALI :
ARCHITETTURA LOGICA
Gestore di Librerie e Servizi Ruolo di un Gestore di risorse di rete: –aggiornare le risorse locali –reperire informazioni sulle risorse remote –poter comunicare le informazioni sulle risorse agli interessati SERVIZI D’APPOGGIO 1.Servizio di discovery dei servizi della rete 2.Servizio di gestione del classpath delle librerie
Servizi offerti dai Gestori Saper una data risorsa (Servizio o Libreria) è presente su di un nodo Fornire l’elenco dei nodi nei quali è presente una data risorsa di una risorsa solo per le Librerie: Richiedere il caricamento/scaricamento di una o più Librerie date su/da un nodo remoto Le informazioni sulle risorse della rete sono mantenute in tabelle e sono accedibili tramite l’uso di una chiave a scelta tra: la risorsa cercata il nodo di interesse
Raccolta delle informazioni REQUISITO:scalabilità Place info Domain info
Generico Gestore ASPETTI COMUNI: utilizza ad uso esclusivo all’interno di MAEAI un servizio messo a disposizione dall’Application Server ospitante deve mantenere aggiornate delle informazioni riguardanti il nodo di residenza deve mantenere aggiornate delle informazioni riguardanti la rete deve rispondere a delle richieste riguardanti le informazioni gestite DIFFERENZA FONDAMENTALE: Servizi fortemente legati al nodo locale Librerie indipendenti dal nodo locale
Struttura generico Gestore THREAD INFORMAZIONI LOCALI: Flusso separato per svincolare la richiesta al servizio locale (necessaria per l’aggiornamento) dal flusso di controllo del gestore: THREAD INFORMAZIONI REMOTE: Flusso separato per annullare l’overhead introdotto dalla rete sulla richiesta al gestore remoto: richieste di lettura info mai bloccate se non in fase di sovrascrittura variabili
Comunicazione: i command L’uso di Command innestati permette il corretto funzionamento anche a fronte di mancanza del supporto MAEAI in remoto. L’uso di Command separati per ogni gruppo di informazioni mantiene svincolati i ritardi introdotti dalla rete, senza incrementare significativamente i tempi di aggiornamento delle informazioni locali. I Command di SOMA sono in tutto e per tutto thread che, inviati ad un Place remoto, incominciano l’esecuzione appena arrivati in loco.
Conclusioni e sviluppi futuri La piattaforma MAEAI installata su di un AS realizza una migrazione consapevole degli Agenti Mobili, scegliendo per ognuno di essi la località migliore ove eseguire in funzione di: località delle risorse, carico dei nodi e politiche dei Gestori omologhi. Necessita di servizi messi a disposizione dall’AS quali un gestore del classpath librerie e un JNDI che sappia fornire informazioni sulla località dei servizi. Potrà permettere ad agenti mobili di fungere da proxy di un utente mobile, memorizzando profilo o sessione. Si potrebbe estendere l’espansione e/o aggiornamento della conoscenza della rete tramite un agente mobile incaricato, mantenendo però la proprietà di scalabilità.