InformationsintegrationMediator/Wrapper-Architektur &
Peer-Data-Management
8.11.2004
Felix Naumann
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 2
Überblick
Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper
Peer-Data-Management Architektur Anwendungen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 3
Daten werden zu Informationen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 4
Mediatoren
„A mediator is a software module that exploits encoded knowledge about certain sets or subsets of data to create information for a higher layer of applications“ Wiederhold `92 [Wie92]
Ein Mediator ist eine Softwarekomponente, die Wissen über bestimmte Daten benutzt, um Informationen für höherwertige Anwendungen zu erzeugen.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 5
AutonomeSysteme
Mediator-Wrapper Architektur
Quelle 1 Quelle 2 Quelle 3
Wrapper 1 Wrapper 2 Wrapper 3
Mediator
Anwendung 1 Anwendung 2
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 6
AutonomeSysteme
Mediator-Wrapper Architektur
Quelle 1 Quelle 2 Quelle 3
Wrapper 1 Wrapper 2 Wrapper 3
Mediator
Anwendung 1 Anwendung 2
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 7
Mediator-Wrapper Architektur
Quelle 1 Quelle 2 Quelle 3
Wrapper 1 Wrapper 2 Wrapper 3
Mediator
Anwendung 1 Anwendung 2Externe
Schemas
Föderiertes Schema
Export Schemas
Komponenten Schemas
Lokale Schemas
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 8
Mediator-Wrapper Architektur
Quelle 1 Quelle 2 Quelle 3
Wrapper 1 Wrapper 3
Mediator
Anwendung 1 Anwendung 2
Quelle 1 und Quelle 2 unterscheiden sich nur leicht, z.B. zwei Oracle Datenbanken mit identischen Schemas.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 9
Mediator-Wrapper Architektur
Quelle 1 Quelle 2 Quelle 3
Wrapper 1 Wrapper 2 Wrapper 3
Mediator
Anwendung 1 Anwendung 2
MediatorMediatoren dienen als Quellen für andere Mediatoren. Stufenweise Added-Value.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 10
Mediator-Wrapper Architektur
Quelle 1 Quelle 2 Quelle 3
Wrapper 1 Wrapper 2 Wrapper 3
Mediator
Anwendung 1 Anwendung 2
Mediator
Anwendung 3
etc....etc....Anwendungen können auch direkt mit Quellen kommunizieren.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 11
Mediator-Wrapper Architektur
Quelle 1 Quelle 3 Quelle 4
Wrapper 1 Wrapper 2 Wrapper 3
Mediator
Anwendung 1 Anwendung 2
Mediator
Anwendung 3
Quelle 2
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 12
Überblick
Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper
Peer-Data-Management Architektur Anwendungen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 13
Einfache Mediatoren „[A mediator] should be small and simple, so that it
can be maintained by one expert or, at most, a small and coherent group of experts.“ Wiederhold `92
Ein Mediator sollte klein und einfach genug sein, um durch einen einzigen oder höchstens eine kleine Gruppe von Experten gewartet werden zu können.
D.h.: Einfaches föderiertes Schema, begrenzte Domäne, einfache Schnittstellen
Erfahrung: Suchmaschinen ändern wöchentlich ihre Schnittstelle
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 14
Einfache Mediatoren
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 15
Integration mit Mediatoren
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 16
Funktionale Schichten
Real-worldinterface
Quellen-Zugriffinterface
Serviceinterface
Nutzerinterface
Mediation
Quellen-spezifischerCode
Domänen-spezifischerCode
Anwendungs-spezifischerCode
Mensch-MaschineInteraktion
Datenquelle
Wrapper
Anwendung
Nutzer
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 17
Schnittstellen
Mediation
Sensoren,Sachbearbeiter
Datenquellen Welt
SQL, XML Mediator Datenquellen
Web Services
Anwendung Mediator
X-Widgets,HTML, Java
Mensch Maschine
Datenquelle
Wrapper
Anwendung
Nutzer
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 18
Funktionen der Mediation
Erbracht durch Domänen-Experten Suche und Auswahl relevanter
Informationsquellen Transformationen zur Konsistenzerhaltung Metadaten zur Verarbeitung Abstraktion zum Verständnis Integration verschiedener Quellen Zusammenfassung zur Präsentation
All dies transformiert Daten zu Informationen.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 19
Mehrwert durch Mediatoren
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 20
Dicke und Dünne Mediatoren
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 21
Überblick
Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper
Peer-Data-Management Architektur Anwendungen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 22
Wrapper
Wrapper sind Softwarekomponenten, die die Kommunikation und den Datenfluss zwischen Mediatoren und Datenquellen herstellen.
Wrapper sind jeweils spezialisiert auf eine Ausprägung autonomer, heterogener Quellen.
Wrapper vermitteln zwischen Mediator und Quelle.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 23
Wrapper – Aufgaben Lösen Schnittstellenheterogenität
technisch SQL, HTML Formulare, http, CORBA, ... Mächtigkeit der Anfragesprache
Lösen Datenmodellheterogenität Lösen schematische Heterogenität
Liefern kanonisches Schema Reduzieren Anzahl der Datenmodelle (mit denen das IIS
umgehen muss) Reduzieren Anzahl der Schemata Unterstützen globale Optimierung
Kostenmodell Anfragefähigkeiten
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 24
Wrapper – Anforderungen
Sollten schnell implementiert werden können (< 1 Woche)
Sollten wiederverwendbar sein Lokale Wartung (bei föderierten Systemen)
An den Wrappern scheitern viele Projekte! Deshalb Forschung zur schnellen oder sogar
automatischen Wrappergenerierung. Wrapperbibliotheken
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 25
Garlic Wrapper Generierung [Gar95]
Forschungsprojekt am IBM Almaden Research Center Neu: Optimierung Neu: Kostenmodell
Weiterentwicklung zu Produkten DiscoveryLink Information Integrator
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 26
Garlic Wrapper Generierung nach [TS97]
Praktische Anforderungen aus [TS97] Start-up Kosten gering (Stunden) Erweiterbarkeit
Einfacher Start Später Fähigkeiten der Quellen hinzufügen
Flexibilität Möglichst breites Spektrum an Quellen abdecken Neue Quellen stören Architektur nicht.
Optimierung Nicht durch Autoren sondern durch GarlicGarlic
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 27
Garlic Wrapper Generierung
Vier Grund-Services1. Modellierung und Zugriff auf die Daten in der
Quelle
2. Aufruf von Methoden in der Quelle
3. Mithilfe bei der Anfrageplanung
4. Anfrageausführung
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 28
Garlic Wrapper Generierung
Quelle: [TS97]
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 29
Garlic Wrapper Generierung
Modellierung und Zugriff auf die Daten Garlic nutzt OO Modell Wrapper stellt Daten als Objekte mit Interface
(globales Schema) und Implementierung (lokales Schema) dar.
Stellt Identität von Objekten her.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 30
Garlic Wrapper Generierung
Aufruf von Methoden in der Quelle Implizit immer: Get_attr() für jedes Attribut Implizit immer: Set_attr() für jedes nicht-read-
only Attribut Um auch Quellen abzudecken, die nur über
Methoden zu erreichen sind. Um besondere Fähigkeiten von Quellen
auszuschöpfen. Beispiel: display_Image(ImageID)
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 31
Garlic Wrapper Generierung
Mithilfe bei der Anfrageplanung (query planning) Garlics Anfrageplanung betrachtet alternative Pläne und
sucht den besten heraus. Kostenbasiert
Mediator verschickt „Teilaufgaben“ an Wrapper. Wrapper kann Teile davon ablehnen (je nach Fähigkeiten
der Quelle). Mediator gleicht aus.
Preprocessing Postprocessing
Wrapper liefert null oder mehr Teilpläne zurück. Teilpläne werden in Gesamtplan eingebaut.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 32
Garlic Wrapper Generierung
Anfrageausführung (query execution)
Mediator produziert Operatorbaum.
Wrapper-Teilpläne sind Blätter in dem Baum.
Pläne werden in Iteratoren umgewandelt
Pipelining
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 33
Beispiel: XML Wrapper für DB2 II nach [JS03]
On-line Anfragen gegen XML Daten aus externen Quellen Die Daten sind nicht in DB2 gespeichert
Relationale Abstraktion von XML Daten: XML Hierarchie wird gemäss Mapping-Strategie auf
virtuelle Tabellen abgebildet XPath zur Extraktion der Attributwerte Anwendungen sehen Tabellen und nicht XML
Anfragen an XML Daten mit ganzer SQL Mächtigkeit Aggregation, Sichten, etc. Integration von XML Daten mehrerer Quellen Integration von XML Daten mit relationalen Daten oder
andere föderierten Quellen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 34
Beispiel: XML Wrapper für DB2
Kunden
Bestellungen
Posten
Zahlungen
XML Schema
KundenBestellungenPosten Zahlungen
Relationales Schema(virtuelle Tabellen, nicknames)
Shredding
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 35
Beispiel: XML Wrapper für DB2
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 36
Beispiel: XML Wrapper für DB2
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 37
Beispiel: XML Wrapper für DB2
CREATE NICKNAME kunden_NN(name VARCHAR(48) OPTIONS(XPATH './name/text()'),addresse VARCHAR(48) OPTIONS(XPATH './address/text()'),kunden_NN_ID VARCHAR(48) OPTIONS(PRIMARY_KEY 'YES'))FOR SERVER xml_server OPTIONS(XPATH '//customer', FILE_PATH ‘customers.xml');
CREATE NICKNAME order_NN(amount DOUBLE OPTIONS(XPATH './amount/text()'),date VARCHAR(48) OPTIONS(XPATH './date/text()'),order_NN_ID VARCHAR(48) OPTIONS(PRIMARY_KEY 'YES'),customer_NN_FID VARCHAR(48) OPTIONS(FOREIGN_KEY 'CUSTOMER_NN'))FOR SERVER xml_server OPTIONS(XPATH './/order');
CREATE NICKNAME item_NN(name VARCHAR(48) OPTIONS(XPATH './name/text()'),quant INTEGER OPTIONS(XPATH './quant/text()'),order_NN_FID VARCHAR(48) OPTIONS(FOREIGN_KEY 'ORDER_NN'))FOR SERVER xml_server OPTIONS(XPATH './/item');
CREATE NICKNAME payment_NN(amount INTEGER OPTIONS(XPATH './amount/text()'),date VARCHAR(48) OPTIONS(XPATH './date/text()'),customer_NN_FID VARCHAR(48) OPTIONS(FOREIGN_KEY 'CUSTOMER_NN'))FOR SERVER xml_server OPTIONS(XPATH './/payment');
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 38
Automatisiertes Wrappen [NJM03]
XML Schema Lesen Shredding-Strategie anwenden
Volle Normalisierung Eine einzige Universalrelation Etwas dazwischen Optimiert für XQuery Bearbeitung in DB2
Eventl. manuelle Modifikationen CREATE NICKNAMEs schreiben
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 39
Automatisiertes Wrappen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 40
Firmen, die Mediatoren und Wrapper einsetzen BEA systems CA (Computer Associates)
Product: OPAL; Specialty: Screenscraper, extract and integratate output without an API.
Enosys: XML-based data integration Genelogic: genomics information in object form DiscoveryLink / Information Integrator MetaMatrix: Enterprise Content Integration,
eCommerce infrastructure software to manage the metadata of disparate data repositories and to provide uniform access to these information silos.
Nimble Technnology: XML-based data integration From: http://www-db.stanford.edu/LIC/companies.html
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 41
Forschungsprojekte
Carnot CoBase COIN Garlic Harvest
Information Discovery and Access System
HERMES Info*
Infomaster Information Manifold INFOSLEUTH OBSERVER SIMS SKC Tsimmis
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 42
Überblick
Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper
Peer-Data-Management Architektur Anwendungen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 43
Wdh: Klassifikation von Informationssystemen nach [ÖV91]
Verteilung
Autonomie
Hetero-genität
Verteilte, homogene DBS
Logisch integrierte und homogene DBS
Heterogene, integrierte DBS
Heterogene, föderierte DBS
Homogene, föderierte DBS (MultiDBMS)
Verteilte, heterogene föderierte DBS(V.MDBMS)
Verteilte, föderierte DBS
Verteilte, heterogene DBS
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 44
Wdh: Erweiterung der Klassifikation nach [ÖV99]
Verteilung/Distribution
Autonomie
Hetero-genität
Peer-to-peer
Enge Integration
Client/server
Semi-autonom
Isolation
PDMSPDMS
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 45
PDMS – Idee
Idee: Peer Netzwerk (P2P) [HIST03], [HIMT03], [BGK+02]
Jeder Peer kann Daten exportieren (= Datenquelle) Sichten auf Daten zur Verfügung stellen (= Wrapper) Anfragen anderer Peers entgegennehmen und weiterleiten
(= Mediator) Anfrage stellen
Verknüpfungen nicht zwischen lokalen und globalem Schema, sondern zwischen Paaren von Peers.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 46
Peer-Data-Management Systeme (PDMS)
Peer 1
Peer 2
Peer 4
Peer 3Peer 5
Peers können mehrere Rollen einnehmen:- Datenquelle- Mediator- Wrapper- Anfrager
??
„einfaches“Mapping
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 47
Peer-Data-Management Systeme (PDMS)
Peer 1
Peer 2
Peer 4
Peer 3Peer 5
Peers können selbst wiederum integrierte Informationssysteme sein.
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 48
PDMS Architektur (Piazza)
Overlay Netzwerk aus „Peers“, verbunden über Internet
Relationales oder XML Datenmodell Jeder Peer kann bereitstellen:
Daten (materialisiert) Ein (oder mehr) Schemas Mappings
Jeder Peer kann anbieten Anfragebearbeitung (für eigenes oder fremdes Schema) Materialisierung Metadaten zur Koordination
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 49
PDMS vs. P2P file sharing P2P
Nur ganze Dateien (niedrige Granularität)
Einfachste Anfragen Dateinamen
Unvollständige Anfrageergebnisse
Einfaches Schema Ausnahme: z.B. Napster für
Musikdateien Hoch dynamisch Millionen Peers Datenübertragung direkt
PDMS Objekte (hohe Granularität) Komplexe und Content-
management Anfragen Anfragesprache (SQL, etc.) Suche in Dateien: Nach
Wörtern, Mustern… Vollständige
Anfrageergebnisse (zumindest erwartet)
Schema Annahme: Kontrollierte
Dynamik Zig peers Datenübertragung entlang des
Mapping-Pfads
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 50
PDMS Anwendungen Gesundheitsinformationssystem
Krankenhausdaten auf vielen Systemen verteilt Ärzte wollen manche Daten verbreiten, andere nicht. Content-management-artige Suche ist wichtig. Verschiedenste und komplexe Schemata Mehrwert (für Patienten) durch Teilen der Daten
Genomdaten Forscher haben den Willen (und die Pflicht), Daten weltweit zu
veröffentlichen. Komplexe Schemata und komplexe Anfragen Bekannte Zusammenhänge zwischen den Daten Bildung eines globalen Schemas nicht immer einfach
Automobil-Industrie Katastrophen-Management
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 51
Piazza – Beispiel
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 52
PDMS – Diskussion Vorteile
Nutzer müssen nur eigenes Schema kennen.
Dennoch sind alle Daten (über transitive Hülle der Mappings) verfügbar
Neue Schemas können leicht und inkrementell hinzugefügt werden.
Mapping nur zum ähnlichsten Schema nötig.
Nachteile/Probleme Mappings zwischen Schemas
nötig Aber: Mappings automatisch
erstellen (Schema Matching) Mapping Komposition Effizienz (bei vielen
Zwischenstationen) Effiziente Datenverteilung Read-only oder Updates? Außerdem:
Verlust der Semantik Verlust an
Informationsqualität, z.B. Vollständigkeit
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 53
Semantik in PDMS [Len04]
Peer 1
Peer 3
Peer 2
Peer 4
Elternteil
MutterVater
disjunkt, vollständig
Mann
Frau
Person
e
v
v
e1
e2
v e
Um diese Aussage zu treffen muss man Semantik des Peer 1 Schemas kennen!
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 54
Qualität in PDMS
Ähnliche Probleme wie für zentral integrierte Systeme, jedoch potenziert.
Schleichender Informationsverlust über mehrere Mappings Projektionen Selektionen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 55
Unvollständige Mappings
Peer 3
Peer 2 Peer 4
Peer 3
Peer 1
Part Descr. Make
Part Descr. Make
Part Make
Anfrage
Part Descr. Make
Part Descr. Make
Problem: Kumulierte Projektionen• in Schemata• in Mappings
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 56
Selektive Mappings
Peer 2 (Ford)
Peer 1 (ATU)
Part Descr. Make
Part Descr. Make
Anfrage
= „Ford“
Peer 3 (Autohaus)
Part Descr. Make
= „Ford“
Peer 4 (Opel)
Part Descr. Make
(= „Opel“)
Problem: Kumulierte Selektion• implizit in Schemata• explizit in Mappings• Punkt-Selektionen und Bereichs-Selektionen
8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 57
Literatur Mediator Wrapper
Das erste paper: [Wie92] Mediators in the Architecture of Future Information Systems, Gio Wiederhold, IEEE Computer Journal, 25(3), 38-49,
1992 Weitere
[Gar95] Michael J. Carey, Laura M. Haas, Peter M. Schwarz, Manish Arya, William F. Cody, Ronald Fagin, Myron Flickner, Allen Luniewski, Wayne Niblack, Dragutin Petkovic, Joachim Thomas II, John H. Williams, Edward L. Wimmers: Towards Heterogeneous Multimedia Information Systems: The Garlic Approach. RIDE-DOM 1995: 124-131
[JS03] Querying XML data sources in DB2: the XML Wrapper, Vanja Josifovski and Peter Schwarz, ICDE conference, Bangalore, India, 2003
[NJM03] Super-Fast XML Wrapper Generation in DB2 (demo), Felix Naumann, Vanja Josifivski, and Sabine Massmann, Proceedings of the International Conference on Data Engineering (ICDE 03), Bangalore, India, 2003.
[TS97] Don‘t Scrap It, Wrap It! A Wrapper Architecture for Legacy Data Sources, Mary Tork Roth and Peter Schwarz, VLDB Conference 1997 Athens, Greece, 1997.
PDMS [BGK+02] Philip A. Bernstein, Fausto Giunchiglia, Anastasios Kementsietsidis, John Mylopoulos, Luciano Serafini, Ilya
Zaihrayeu: Data Management for Peer-to-Peer Computing : A Vision. WebDB 2002: 89-94 [ÖV91] & [ÖV99] Principles of Distributed Database Systems. M. Tamer Özsu, Patrick Valduriez, Prentice Hall,
1991/1999. [HIST03] Alon Y. Halevy, Zachary G. Ives, Dan Suciu, Igor Tatarinov. Schema Mediation in Peer Data Management
Systems, ICDE conference 2003 [HIMT03] Alon Y. Halevy, Zachary G. Ives, Peter Mork, Igor Tatarinov. Peer Data Management Systems:
Infrastructure for the Semantic Web. WWW Conference, 2003. [NOTZ03] W.S.Ng, B.C. Ooi, K.L. Tan und A. Zhou: PeerDB: A P2P-based System for Distributed Data Sharing. ICDE
2003 [Len04] Maurizio Lenzerini: Quality-aware data integration in peer-to-peer systems. Invited talk at IQIS workshop,
Paris, 2004.