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 Correlatore Ing. Francesco Guerra Tesi di Laurea di Stefano Coriani Anno Accademico
MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per lintegrazione di sorgenti eterogenee e distribuite
MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per lintegrazione 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 lintegrazione 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: - 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 lesecuzione 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 lesecuzione 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 lesecuzione delle query generate dal Query Manager - estrarre ed esportare le relazioni intra schema - consentire lannotazione e lesportazione di informazioni lessicali ottenute grazie al database lessicale WordNet
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: 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; }; 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) );
WrapperInterface: Consente di generare i file che contengono le informazioni lessicali e le relazioni intra-schema.
WrapperInterface:
WrapperInterface: 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 dellinformazione dellUniversità 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 dellinterfaccia hanno consentito di: - Rendere più rapido il processo di integrazione:
CONCLUSIONI: La progettazione del Wrapper e dellinterfaccia hanno consentito di: - Rendere più rapido il processo di integrazione: - Lo spostamento sul wrapper di operazioni estremamente onerose in termini di tempo limita lintervento del progettista;
CONCLUSIONI: La progettazione del Wrapper e dellinterfaccia hanno consentito di: - Rendere più rapido il processo di integrazione: - Lo spostamento sul wrapper di operazioni estremamente onerose in termini di tempo, limita lintervento del progettista; - Tale spostamento permette inoltre di eseguire parallelamente le già citate operazioni di annotazione ed estrazione
CONCLUSIONI(2): La progettazione del Wrapper e dellinterfaccia hanno consentito di: - Migliorare la qualità delle informazioni messe a disposizione del mediatore:
CONCLUSIONI(2): La progettazione del Wrapper e dellinterfaccia 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 allintegrazione;
CONCLUSIONI(2): La progettazione del Wrapper e dellinterfaccia 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 allintegrazione; - 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, questultima infatti lavorando sulla descrizione ODLi3 della sorgente non ha bisogno di implementazioni specifiche.
CONCLUSIONI(3): SVILUPPI FUTURI: In unottica di estensione del progetto MOMIS nellambito 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.