UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica MOMIS: servizi di wrapping per sorgenti relazionali JDBC Relatore Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di Stefano Coriani Correlatore Ing. Francesco Guerra Anno Accademico 2000 - 2001 MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuite MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuite Approccio adottato: semantico e virtuale MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuite Approccio adottato: semantico e virtuale Architettura: organizzata in tre livelli: - Livello Mediatore - Livello Wrapper - Livello Utente MOMIS: Mediator envirOnment for Multiple Information Sources MOMIS: Processo di generazione del Common Thesaurus: MOMIS: Processo di generazione del Common Thesaurus: - Acquisizione delle sorgenti (SAM) MOMIS: Processo di generazione del Common Thesaurus: - Acquisizione delle sorgenti (SAM) - Acquisizione delle relazioni strutturali intra schema(SIM) MOMIS: Processo di generazione del Common Thesaurus: - Acquisizione delle sorgenti (SAM) - Acquisizione delle relazioni strutturali intra schema(SIM) - Estrazione delle relazioni lessicali (SLIM) MOMIS: Processo di generazione del Common Thesaurus: - Acquisizione delle sorgenti (SAM) - Acquisizione delle relazioni strutturali intra schema(SIM) - Estrazione delle relazioni lessicali (SLIM) - Validazione (ODB-TOOLS) MOMIS: Processo di generazione del Common Thesaurus: - Acquisizione delle sorgenti (SAM) - Acquisizione delle relazioni strutturali intra schema(SIM) - Estrazione delle relazioni lessicali (SLIM) - Validazione (ODB-TOOLS) - Inferenza di nuove relazioni (ODB-TOOLS) MOMIS: Processo di generazione del Common Thesaurus: - Acquisizione delle sorgenti (SAM) - Acquisizione delle relazioni strutturali intra schema(SIM) - Estrazione delle relazioni lessicali (SLIM) - Validazione (ODB-TOOLS) - Inferenza di nuove relazioni (ODB-TOOLS) - Common Thesaurus Servizi di Wrapping: Consentono al mediatore di interfacciarsi alla sorgente dati e sono forniti dal Wrapper Servizi di Wrapping: Consentono al mediatore di interfacciarsi alla sorgente dati e sono forniti dal Wrapper In MOMIS i compiti del Wrapper sono quattro: Servizi di Wrapping: Consentono al mediatore di interfacciarsi alla sorgente dati e sono forniti dal Wrapper In MOMIS i compiti del Wrapper sono quattro: - fornire la descrizione ODLi3 della sorgente alla quale è connesso Servizi di Wrapping: Consentono al mediatore di interfacciarsi alla sorgente dati e sono forniti dal Wrapper In MOMIS i compiti del Wrapper sono quattro: - fornire la descrizione ODLi3 della sorgente alla quale è connesso - consentire l’esecuzione delle query generate dal Query Manager Servizi di Wrapping: Consentono al mediatore di interfacciarsi alla sorgente dati e sono forniti dal Wrapper In MOMIS i compiti del Wrapper sono quattro: - fornire la descrizione ODLi3 della sorgente alla quale è connesso - consentire l’esecuzione delle query generate dal Query Manager - estrarre ed esportare le relazioni intra schema Servizi di Wrapping: Consentono al mediatore di interfacciarsi alla sorgente dati e sono forniti dal Wrapper In MOMIS i compiti del Wrapper sono quattro: - fornire la descrizione ODLi3 della sorgente alla quale è connesso - consentire l’esecuzione delle query generate dal Query Manager - estrarre ed esportare le relazioni intra schema - consentire l’annotazione e l’esportazione di informazioni lessicali ottenute grazie al database lessicale WordNet Il Wrapper JDBC: Il Wrapper JDBC: Per fornire i servizi utilizza due tipi di connessione: Il Wrapper JDBC: Per fornire i servizi utilizza due tipi di connessione: - JDBC per il collegamento alla sorgente dati Il Wrapper JDBC: Per fornire i servizi utilizza due tipi di connessione: - JDBC per il collegamento alla sorgente dati - CORBA per interfacciarsi a MOMIS Il Wrapper JDBC: Per fornire i servizi utilizza due tipi di connessione: - JDBC per il collegamento alla sorgente dati - CORBA per interfacciarsi a MOMIS Il Wrapper JDBC: I metodi messi a disposizione del mediatore sono: - getDescription( ) per ottenere la descrizione in formato ODLi3; Il Wrapper JDBC: I metodi messi a disposizione del mediatore sono: - getDescription( ) per ottenere la descrizione in formato ODLi3; - getAnnotation( ) che fornisce informazioni di tipo lessicale (memorizzate su file); Il Wrapper JDBC: I metodi messi a disposizione del mediatore sono: - getDescription( ) per ottenere la descrizione in formato ODLi3; - getAnnotation( ) che fornisce informazioni di tipo lessicale (memorizzate su file); - getSIMRelation( ) permette di importare le relazioni intra-schema (memorizzate su file); Il Wrapper JDBC: I metodi messi a disposizione del mediatore sono: - getDescription( ) per ottenere la descrizione in formato ODLi3; - getAnnotation( ) che fornisce informazioni di tipo lessicale (memorizzate su file); - getSIMRelation( ) permette di importare le relazioni intra-schema (memorizzate su file); - runQuery(string) consente di formulare interrogazioni sulla base di dati. Il Wrapper JDBC: I metodi messi a disposizione del mediatore sono: - getDescription( ) per ottenere la descrizione in formato ODLi3; - getAnnotation( ) che fornisce informazioni di tipo lessicale (memorizzate su file); - getSIMRelation( ) permette di esportare le relazioni intra-schema (memorizzate su file); - runQuery(string) consente di formulare interrogazioni sulla base di dati. I metodi getAnnotation( ) e getSIMRelation( ) possono essere riusati su qualunque Wrapper, anche già esistente Il Wrapper JDBC: Graficamente possono essere riassunti come segue: Il Wrapper JDBC: Esempio di traduzione da Schema Relazionale a linguaggio ODLi3: Descrizione Relazionale: create table RESEARCH_STAFF ( CF varchar(16) not null primary key, RELATION varchar(30), E_MAIL varchar(30) not null, DEPT_ID int references Department, COURSE_ID int references Course, constraint ke_mail unique(E_MAIL) ); Traduzione ODLi3: interface RESEARCH_STAFF(source relational univers key(CF) candidate_key ke_mail (E_MAIL) foreign_key (COURSE_ID) references COURSE foreign_key (DEPT_ID) references DEPARTMENT) { attribute string /* VARCHAR */ CF; attribute string /* VARCHAR */ RELATION; attribute string /* VARCHAR */ E_MAIL; attribute long /* INTEGER */ DEPT_ID; attribute long /* INTEGER */ COURSE_ID; }; WrapperInterface: Consente di generare i file che contengono le informazioni lessicali e le relazioni intra-schema. WrapperInterface: WrapperInterface: Consente di generare i file che contengono le informazioni lessicali e le relazioni intra-schema. E’ composta da tre moduli software: WrapperInterface: Consente di generare i file che contengono le informazioni lessicali e le relazioni intra-schema. E’ composta da tre moduli software: - WSAM: Acquisisce la descrizione ODLi3 della sorgente; WrapperInterface: Consente di generare i file che contengono le informazioni lessicali e le relazioni intra-schema. E’ composta da tre moduli software: - WSAM: Acquisisce la descrizione ODLi3 della sorgente; - WSIM: Estrae le relazioni intra schema; WrapperInterface: Consente di generare i file che contengono le informazioni lessicali e le relazioni intra-schema. E’ composta da tre moduli software: - WSAM: Acquisisce la descrizione ODLi3 della sorgente; - WSIM: Estrae le relazioni intra-schema; - WSLIM: Consente di annotare la sorgente interagendo con WordNet. WrapperInterface: MODULO WSAM WrapperInterface: MODULO WSIM WrapperInterface: MODULO WSLIM WrapperInterface: Contenuto del Common Thesaurus Note Implementative: -Il software e’ stato implementato presso il dipartimento di scienze dell’informazione dell’Università di Modena e Reggio Emilia, sede di Modena; -Sono state scritte circa 3800 linee di codice in linguaggio Java versione 1.3; -Piattaforma di sviluppo: Sparc20 (Sun) con sistema Solaris SunOS 5.7 CONCLUSIONI: La progettazione del Wrapper e dell’interfaccia hanno consentito di: - Rendere più rapido il processo di integrazione: CONCLUSIONI: La progettazione del Wrapper e dell’interfaccia hanno consentito di: - Rendere più rapido il processo di integrazione: - Lo spostamento sul wrapper di operazioni estremamente onerose in termini di tempo limita l’intervento del progettista; CONCLUSIONI: La progettazione del Wrapper e dell’interfaccia hanno consentito di: - Rendere più rapido il processo di integrazione: - Lo spostamento sul wrapper di operazioni estremamente onerose in termini di tempo, limita l’intervento del progettista; - Tale spostamento permette inoltre di eseguire parallelamente le già citate operazioni di annotazione ed estrazione CONCLUSIONI(2): La progettazione del Wrapper e dell’interfaccia hanno consentito di: - Migliorare la qualità delle informazioni messe a disposizione del mediatore: CONCLUSIONI(2): La progettazione del Wrapper e dell’interfaccia hanno consentito di: - Migliorare la qualità delle informazioni messe a disposizione del mediatore: - Dal punto di vista lessicale: il creatore della sorgente ha una conoscenza maggiore del dominio ontologico della sorgente piuttosto che progettista preposto all’integrazione; CONCLUSIONI(2): La progettazione del Wrapper e dell’interfaccia hanno consentito di: - Migliorare la qualità delle informazioni messe a disposizione del mediatore: - Dal punto di vista lessicale: il creatore della sorgente ha una conoscenza maggiore del dominio ontologico della sorgente piuttosto che progettista preposto all’integrazione; - Dal punto di vista strutturale il progettista della sorgente può fornire informazioni (estensionali) altrimenti non ottenibili. CONCLUSIONI(3): Le modifiche apportate alla struttura generale del Wrapper possono essere estese a tutti gli altri e questo vale anche per WrapperInterface, quest’ultima infatti lavorando sulla descrizione ODLi3 della sorgente non ha bisogno di implementazioni specifiche. CONCLUSIONI(3): Le modifiche apportate alla struttura generale del Wrapper possono essere estese a tutti gli altri e questo vale anche per WrapperInterface, quest’ultima infatti lavorando sulla descrizione ODLi3 della sorgente non ha bisogno di implementazioni specifiche. SVILUPPI FUTURI: In un’ottica di estensione del progetto MOMIS nell’ambito della tecnologia ad agenti, il Wrapper sviluppato può essere esteso. In questo contesto, il wrapper può essere sviluppato come agente autonomo il cui obiettivo e’ la ricerca di nuove sorgenti da integrare.