1 / 57

Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management

Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management. 8.11.2004 Felix Naumann. Überblick. Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen. Daten werden zu Informationen.

sereno
Download Presentation

Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. InformationsintegrationMediator/Wrapper-Architektur & Peer-Data-Management 8.11.2004 Felix Naumann

  2. Ü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. 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. Autonome Systeme Wrapper 1 Wrapper 2 Wrapper 3 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Mediator Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

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

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

  8. Wrapper 1 Wrapper 3 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 Quelle 1 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06

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

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

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

  12. Überblick • Mediator-Wrapper Architektur • Gio Wiederholds Definitionen • Konfigurationen • Mediatoren • Wrapper • Peer-Data-Management • Architektur • Anwendungen 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 Felix Naumann, VL Informationsintegration, WS 05/06

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

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

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

  17. Mensch  Maschine X-Widgets, HTML, Java Anwendung  Mediator Web Services Mediator  Datenquellen SQL, XML Datenquellen  Welt Sensoren, Sachbearbeiter Schnittstellen Nutzer Anwendung Mediation Wrapper 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. Überblick • Mediator-Wrapper Architektur • Gio Wiederholds Definitionen • Konfigurationen • Mediatoren • Wrapper • Peer-Data-Management • Architektur • Anwendungen 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. 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 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. Relationales Schema (virtuelle Tabellen, nicknames) Bestellungen Kunden Zahlungen Posten Beispiel: XML Wrapper für DB2 Kunden Bestellungen Zahlungen XML Schema Posten 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: http://www-db.stanford.edu/LIC/companies.html Felix Naumann, VL Informationsintegration, WS 05/06

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

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

  43. Verteilte, föderierte DBS Verteilte, homogene DBS Verteilte, heterogene DBS Verteilte, heterogene föderierte DBS (V.MDBMS) Logisch integrierte und homogene DBS Homogene, föderierte DBS (MultiDBMS) Heterogene, integrierte DBS Heterogene, föderierte DBS Wdh: Klassifikation von Informationssystemen nach [ÖV91] Verteilung Autonomie Hetero- genität Felix Naumann, VL Informationsintegration, WS 05/06

  44. PDMS Wdh: Erweiterung der Klassifikation nach [ÖV99] Verteilung/Distribution Peer-to-peer Client/server Autonomie Hetero- genität Enge Integration Semi-autonom Isolation 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. 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) Peer 3 Peer 5 Peer 1 Peer 4 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. 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 PDMS vs. P2P file sharing 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-artigeSuche 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

More Related