Re-engineering del wrapper XML Schema per il sistema MOMIS Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria – sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Re-engineering del wrapper XML Schema per il sistema MOMIS Relatore Chiar.ma Prof. Sonia Bergamaschi Correlatore Chiar.mo Ing. Maurizio Vincini Tesi di Laurea di Francesca Tartaglione Anno Accademico 2006-2007
Sommario Il sistema MOMIS I linguaggi di riferimento Wrapper XML Schema Re-engineering del wrapper Validazione sul caso di studio THALIA Attività progettuale svolta presso il Dipartimento di Ingegneria dell’Informazione
Il sistema MOMIS Mediator envirOnment for Multiple Information Sources
Linguaggio di partenza: XML Schema Sviluppato dal W3C Rappresentato interamente in XML 1.0 Descrive la grammatica per un linguaggio di markup basato su XML Set di componenti (definizioni di tipi, dichiarazioni di elementi) usati per validare gli oggetti che compongono un documento XML Fa uso di namespace
Linguaggio di arrivo: ODLI3 ODLI³ = ODL + I³ Definito dal DB Group come estensione del linguaggio standard ODL (Object Definition Language) in accordo con le indicazioni del programma I³ (Intelligent Information Integration) Progettato per descrivere ed integrare un insieme di sorgenti eterogenee
Wrapper XML Schema Progettato ed implementato da R. Rasi Consente la traduzione di documenti in formato XML Schema nel formato ODLI3 Regole di traduzione per ogni componente XML Schema Presenza di problemi → Fase di re-engineering
Re-engineering: gestione di element globali <complexType name="UNO"> <sequence> <element name="ELEMENT1" type="string"/> <element name="ELEMENT2" type="string"/> </sequence> <attribute name="ATTRIBUTE" type="string" use="optional"/> </complexType> <element name="PROVA_ELEMENT" type="string"/>
Re-engineering: gestione di element globali Animazione tra le due immagini per far notare il passaggio in più
Re-engineering: troncamento dei livelli di nesting Obiettivo: ottimizzare la traduzione Eliminazione dell’interfaccia creata dalla traduzione di un elemento globale a contenuto complesso Modifica ai tag assegnati alle interfacce e agli attributi di un Model Group: <nameInterface>_sequence_i <nameInterface>_choice_i
Re-engineering: gestione del Model Group choice <xs:complexType name="UNIONE"> <xs:choice> <xs:element name="UNO" type="xs:string" /> <xs:element name="DUE" type="xs:string" /> <xs:element name="TRE" type="xs:string" /> </xs:choice> </xs:complexType> Mancata corrispondenza tra le regole ideate e la traduzione effettuata
Re-engineering: gestione del Model Group choice Traduzione con regola precedente interface ${UNIONE} { attribute UNIONE_choice_1 ${UNIONE_choice_1}; } interface ${UNIONE_choice_1} { attribute string ${UNO}; attribute string ${DUE}; attribute string ${TRE}; }; Traduzione con nuova regola union
Validazione su caso di studio: il benchmark THALIA THALIA: benchmark pubblico e disponibile per sistemi di integrazione di informazione Fornisce oltre 40 fonti scaricabili Scopo: classificazione sistematica dei differenti tipi di eterogeneità sintattiche e semantiche Uso del wrapper re-engineered per la traduzione di 10 Target schema in XML Schema nei rispettivi Challenge schema in ODLI3 per ottenere una validazione del lavoro svolto
Esempio: file asu.xsd Target schema: Challenge schema:
Conclusioni Analisi dei due linguaggi di riferimento e delle regole di traduzione ideate da R. Rasi Fase di re-engineering che ha consentito al wrapper di funzionare in maniera corretta ed ottimizzata rispetto alla versione precedente Validazione delle modifiche apportate attraverso il caso di studio THALIA
Re-engineering del wrapper XML Schema per il sistema MOMIS Ringrazio per la cortese attenzione Francesca Tartaglione