Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management 8.11.2004 Felix Naumann.

Ähnliche Präsentationen


Präsentation zum Thema: "Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management 8.11.2004 Felix Naumann."—  Präsentation transkript:

1 Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management
Felix Naumann

2 Felix Naumann, VL Informationsintegration, WS 05/06
Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen Felix Naumann, VL Informationsintegration, WS 05/06

3 Daten werden zu Informationen
Felix Naumann, VL Informationsintegration, WS 05/06

4 Felix Naumann, VL Informationsintegration, WS 05/06
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. Felix Naumann, VL Informationsintegration, WS 05/06

5 Mediator-Wrapper Architektur
Autonome Systeme Anwendung 1 Anwendung 2 Mediator Wrapper 1 Wrapper 2 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

6 Mediator-Wrapper Architektur
Anwendung 1 Anwendung 2 Autonome Systeme Mediator Wrapper 1 Wrapper 2 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

7 Mediator-Wrapper Architektur
Externe Schemas Anwendung 1 Anwendung 2 Föderiertes Schema Mediator Export Schemas Komponenten Schemas Wrapper 1 Wrapper 2 Wrapper 3 Lokale Schemas Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

8 Mediator-Wrapper Architektur
Anwendung 1 Anwendung 2 Quelle 1 und Quelle 2 unterscheiden sich nur leicht, z.B. zwei Oracle Datenbanken mit identischen Schemas. Mediator Wrapper 1 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

9 Mediator-Wrapper Architektur
Anwendung 1 Anwendung 2 Mediator Mediatoren dienen als Quellen für andere Mediatoren. Stufenweise Added-Value. Mediator Wrapper 3 Wrapper 1 Wrapper 2 Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

10 Mediator-Wrapper Architektur
Anwendung 1 Anwendung 2 Anwendung 3 Mediator etc.... Mediator Anwendungen können auch direkt mit Quellen kommunizieren. Wrapper 3 Wrapper 1 Wrapper 2 Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

11 Mediator-Wrapper Architektur
Anwendung 1 Anwendung 2 Anwendung 3 Mediator Mediator Wrapper 3 Wrapper 1 Wrapper 2 Quelle 1 Quelle 2 Quelle 3 Quelle 4 Felix Naumann, VL Informationsintegration, WS 05/06

12 Felix Naumann, VL Informationsintegration, WS 05/06
Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen Felix Naumann, VL Informationsintegration, WS 05/06

13 Felix Naumann, VL Informationsintegration, WS 05/06
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 Felix Naumann, VL Informationsintegration, WS 05/06

14 Felix Naumann, VL Informationsintegration, WS 05/06
Einfache Mediatoren Felix Naumann, VL Informationsintegration, WS 05/06

15 Integration mit Mediatoren
Felix Naumann, VL Informationsintegration, WS 05/06

16 Funktionale Schichten
Quellen-spezifischer Code Domänen-spezifischer Anwendungs-spezifischer Mensch-Maschine Interaktion Real-world interface Quellen-Zugriff Service Nutzer Nutzer Anwendung Mediation Wrapper Datenquelle Felix Naumann, VL Informationsintegration, WS 05/06

17 Felix Naumann, VL Informationsintegration, WS 05/06
Schnittstellen X-Widgets, HTML, Java Mensch  Maschine Nutzer Anwendung Web Services Anwendung  Mediator Mediation SQL, XML Mediator  Datenquellen Wrapper Sensoren, Sachbearbeiter Datenquellen  Welt Datenquelle 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. Felix Naumann, VL Informationsintegration, WS 05/06

19 Mehrwert durch Mediatoren
Felix Naumann, VL Informationsintegration, WS 05/06

20 Dicke und Dünne Mediatoren
Felix Naumann, VL Informationsintegration, WS 05/06

21 Felix Naumann, VL Informationsintegration, WS 05/06
Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen Felix Naumann, VL Informationsintegration, WS 05/06

22 Felix Naumann, VL Informationsintegration, WS 05/06
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. Felix Naumann, VL Informationsintegration, WS 05/06

23 Felix Naumann, VL Informationsintegration, WS 05/06
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 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 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 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 Garlic Felix Naumann, VL Informationsintegration, WS 05/06

27 Garlic Wrapper Generierung
Vier Grund-Services Modellierung und Zugriff auf die Daten in der Quelle Aufruf von Methoden in der Quelle Mithilfe bei der Anfrageplanung Anfrageausführung Felix Naumann, VL Informationsintegration, WS 05/06

28 Garlic Wrapper Generierung
Quelle: [TS97] 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. 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) 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. 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 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 Felix Naumann, VL Informationsintegration, WS 05/06

34 Beispiel: XML Wrapper für DB2
Kunden Bestellungen Zahlungen XML Schema Posten Kunden Bestellungen Posten Zahlungen Relationales Schema (virtuelle Tabellen, nicknames) Shredding Felix Naumann, VL Informationsintegration, WS 05/06

35 Beispiel: XML Wrapper für DB2
Felix Naumann, VL Informationsintegration, WS 05/06

36 Beispiel: XML Wrapper für DB2
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'); 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 Felix Naumann, VL Informationsintegration, WS 05/06

39 Automatisiertes Wrappen
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: Felix Naumann, VL Informationsintegration, WS 05/06

41 Felix Naumann, VL Informationsintegration, WS 05/06
Forschungsprojekte Carnot CoBase COIN Garlic Harvest Information Discovery and Access System HERMES Info* Infomaster Information Manifold INFOSLEUTH OBSERVER SIMS SKC Tsimmis Felix Naumann, VL Informationsintegration, WS 05/06

42 Felix Naumann, VL Informationsintegration, WS 05/06
Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen Felix Naumann, VL Informationsintegration, WS 05/06

43 Wdh: Klassifikation von Informationssystemen nach [ÖV91]
Verteilung 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 Autonomie Hetero- genität Felix Naumann, VL Informationsintegration, WS 05/06

44 Wdh: Erweiterung der Klassifikation nach [ÖV99]
Verteilung/Distribution Peer-to-peer PDMS Client/server Autonomie Hetero- genität Enge Integration Semi-autonom Isolation Felix Naumann, VL Informationsintegration, WS 05/06

45 Felix Naumann, VL Informationsintegration, WS 05/06
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. Felix Naumann, VL Informationsintegration, WS 05/06

46 Peer-Data-Management Systeme (PDMS)
„einfaches“ Mapping Peer 3 Peer 5 Peer 1 ? Peer 4 Peers können mehrere Rollen einnehmen: Datenquelle Mediator Wrapper Anfrager Peer 2 Felix Naumann, VL Informationsintegration, WS 05/06

47 Peer-Data-Management Systeme (PDMS)
Peers können selbst wiederum integrierte Informationssysteme sein. Peer 2 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 Felix Naumann, VL Informationsintegration, WS 05/06

49 Felix Naumann, VL Informationsintegration, WS 05/06
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 Felix Naumann, VL Informationsintegration, WS 05/06

50 Felix Naumann, VL Informationsintegration, WS 05/06
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 Felix Naumann, VL Informationsintegration, WS 05/06

51 Felix Naumann, VL Informationsintegration, WS 05/06
Piazza – Beispiel Felix Naumann, VL Informationsintegration, WS 05/06

52 Felix Naumann, VL Informationsintegration, WS 05/06
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 Felix Naumann, VL Informationsintegration, WS 05/06

53 Felix Naumann, VL Informationsintegration, WS 05/06
Semantik in PDMS [Len04] Peer 2 Frau Peer 1 e Peer 4 e1 Elternteil Person disjunkt, vollständig Vater Mutter v e v Peer 3 Um diese Aussage zu treffen muss man Semantik des Peer 1 Schemas kennen! Mann v e2 Felix Naumann, VL Informationsintegration, WS 05/06

54 Felix Naumann, VL Informationsintegration, WS 05/06
Qualität in PDMS Ähnliche Probleme wie für zentral integrierte Systeme, jedoch potenziert. Schleichender Informationsverlust über mehrere Mappings Projektionen Selektionen Felix Naumann, VL Informationsintegration, WS 05/06

55 Unvollständige Mappings
Anfrage Peer 1 Peer 3 Part Descr. Make Part Make Peer 2 Peer 4 Part Descr. Make Part Descr. Make Problem: Kumulierte Projektionen in Schemata in Mappings Peer 3 Part Descr. Make Felix Naumann, VL Informationsintegration, WS 05/06

56 Felix Naumann, VL Informationsintegration, WS 05/06
Selektive Mappings Anfrage Problem: Kumulierte Selektion implizit in Schemata explizit in Mappings Punkt-Selektionen und Bereichs-Selektionen Peer 1 (ATU) Part Descr. Make = „Ford“ Peer 2 (Ford) Peer 4 (Opel) Part Descr. Make Part Descr. Make = „Ford“ Peer 3 (Autohaus) Part Descr. Make (= „Opel“) Felix Naumann, VL Informationsintegration, WS 05/06

57 Felix Naumann, VL Informationsintegration, WS 05/06
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: [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. Felix Naumann, VL Informationsintegration, WS 05/06


Herunterladen ppt "Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management 8.11.2004 Felix Naumann."

Ähnliche Präsentationen


Google-Anzeigen