UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica SIWeb: una interfaccia internet per il sistema Momis Relatore: Tesi di Laurea di: Chiar.mo Prof. Sonia Bergamaschi Daniele Bianco Correlatore Dott. Ing. Maurizio Vincini Modena, 13/12/2001 OBIETTIVO DELLA TESI SIWeb Realizzare una applicazione di supporto al sistema Momis che soddisfi i seguenti requisiti: • fornire un processo semi-automatico per l’integrazione delle sorgenti di dati • essere utilizzabile tramite un Web Browser Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente d’integrazione ed interrogazione di informazioni da sorgenti di dati strutturati e semistrutturati. MOMIS è stato sviluppato negli ultimi anni come collaborazione tra l'Università di Modena e Reggio Emilia e l'Università di Milano e Brescia nell'ambito del progetto nazionale INTERDATA. Attualmente è coinvolto nel progetto D2I insieme alle università di Milano, di Bologna, della Calabria e di Roma. Il processo di integrazione Wrapper ODLI source schemata 3 Generazione del Common Thesaurus Estrazione relazioni estensionali Generazione dei cluster Global schema Creazione mapping table • Tipi di relazioni: Relazioni intensionali/terminologiche: esprimono la conoscenza deducibile dalla struttura delle classi e dal significato dei termini (nomi di classi e di attributi) <t1 SYN t2> Sinonimia (stesso concetto) <t1 BT t2> Specializzazione (Broader Terms - BT, Narrower Terms - NT) <t1 RT t2> Associazione (Related Terms - RT) Relazioni estensionali: esprimono la conoscenza deducibile dalle istanze delle classi <C1 SYNext C2> (le istanze di C1 e C2 sono le stesse) <C1 BText C2> (l’istanza di C1 contiene quella di C2) L’architettura di Momis (1/2) Fasi del processo di integrazione delle sorgenti: • Acquisizione delle sorgenti (SAM) • Acquisizione delle relazioni strutturali intra schema (SIM) • Elaborazione delle relazioni estensionali (EXTM) • Identificazione degli elementi legati da relazioni semantiche tra i diversi schemi (Artemis) L’architettura di Momis (2/2) Progettazione di SIWeb Essendo già disponibile una interfaccia utente realizzata come applicazione Java (SI-Designer) sono state analizzate due alternative: • convertire SI-Designer in una Java Applet per renderla utilizzabile attraverso un browser • reingegnerizzare l’applicazione sviluppandola con un modello a tre livelli. Prima ipotesi: conversione in Applet L’approccio della conversione di SI-Designer in Applet è stato abbandonato per i seguenti motivi: • Applicazione realizzata senza separazione tra logica applicativa e presentazione • Interfaccia grafica realizzata con Swing, non compatibile con le Applet • Problemi di gestione della sicurezza • Problemi di scalabilità del sistema • Scarse prestazioni Seconda ipotesi: progettazione a tre livelli La progettazione a tre livelli comporta diversi vantaggi: • Alta scalabilità del sistema con la possibilità di ripartire il workload tra più server • Buone prestazioni con qualsiasi tipo di client essendo gran parte dell’elaborazione delegata al server • Indipendenza dalla piattaforma client in quanto oltre all’HTML potrebbero essere supportati altri linguaggi (WML per wap e applicazioni future) • Semplicità nell’aggiornamento essendo necessario aggiornare solo il server Architettura di SIWeb (1/2) JSP Wrappers Wrappers Wrappers Java Beans ML T H TP HT SIWeb SAM SIM SLIM EXTM ARTEM IS TUNIM HTML and Client-side Javascript H HT TML TP Global Schema a rb o C IOP I ODB-Tools GS_Proxy Wordnet Servlet Corba IIOP Presentation layer Business Logic Query M anager Data layer Architettura di SIWeb (2/2) Servlet Client Browser CORBA Object JSP aggiorna Produce dinamicamente HTML Java Beans Livello presentazione legge Logica applicativa Servlet memorizza GS_proxy salvato in una sessione utente Livello dati Modulo di acquisizione delle sorgenti (SAM) Modulo di acquisizione delle sorgenti (SAM) Modulo di integrazione delle sorgenti (SIM) SI-Designer Modulo di integrazione delle sorgenti (SIM) SIWeb Modulo di inserimento relazioni estensionali (EXTM) SI-Designer Modulo di inserimento relazioni estensionali (EXTM) SIWeb Modulo di clustering delle classi globali (Artemis) Prima della creazione dei cluster. SI-Designer Modulo di clustering delle classi globali (Artemis) Dopo la creazione dei cluster. SI-Designer Modulo di clustering delle classi globali (Artemis) SIWeb Prima della creazione dei cluster. Modulo di clustering delle classi globali (Artemis) SIWeb Dopo la creazione dei cluster. Configurazione di Artemis Sviluppi futuri • Creazione di profili utente • Accesso riservato con ID e Password • Salvataggio delle sessioni di lavoro • Implementazione di WML e XML per i client • Installazione automatica dei wrapper sul client • Una applicazione Java, con una semplice installazione, permetterebbe all’utente di collegare la propria sorgente di dati al sistema Momis. Conclusioni SIWeb fornisce all’utente una interfaccia grafica utilizzabile da qualunque punto della rete tramite un semplice web browser. Pur avendo una implementazione totalmente diversa, SIWeb offre tutte le funzionalità esistenti in SI-Designer, privilegiando la semplicità d’uso. L’applicazione è stata sviluppata utilizzando Forte for Java e Macromedia Dreamweaver in ambiente Microsoft Windows 2000. L’application server utilizzato è Tomcat 3.2. L’applicazione è stata utilizzata senza problemi con il sistemi operativi Microsoft Windows, Sun Solaris e Linux, senza la necessità di modifiche al codice.