Mediator / Wrapper Architekturen

Werbung
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
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
2
Daten werden zu
Informationen
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
3
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
4
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Autonome
Systeme
Mediator
Wrapper 1
Wrapper 2
Wrapper 3
Quelle 1
Quelle 2
Quelle 3
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
5
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Autonome
Systeme
Mediator
Wrapper 1
Wrapper 2
Wrapper 3
Quelle 1
Quelle 2
Quelle 3
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
6
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Externe
Schemas
Föderiertes
Schema
Mediator
Wrapper 1
Quelle 1
8.11.2005
Wrapper 2
Quelle 2
Export
Schemas
Wrapper 3
Komponenten
Schemas
Quelle 3
Lokale
Schemas
Felix Naumann, VL Informationsintegration, WS 05/06
7
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Mediator
Wrapper 1
Quelle 1
8.11.2005
Wrapper 3
Quelle 2
Quelle 3
Felix Naumann, VL Informationsintegration, WS 05/06
Quelle 1 und
Quelle 2
unterscheiden
sich nur leicht,
z.B. zwei Oracle
Datenbanken
mit identischen
Schemas.
8
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Mediator
Mediator
Wrapper 1
Wrapper 2
Wrapper 3
Quelle 1
Quelle 2
Quelle 3
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
Mediatoren
dienen als
Quellen für
andere
Mediatoren.
Stufenweise
Added-Value.
9
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Anwendung 3
Mediator
etc....
Mediator
Wrapper 1
Wrapper 2
Wrapper 3
Quelle 1
Quelle 2
Quelle 3
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
Anwendungen
können auch
direkt mit
Quellen
kommunizieren.
10
Mediator-Wrapper Architektur
Anwendung 1
Anwendung 2
Anwendung 3
Mediator
Mediator
Wrapper 1
Quelle 1
8.11.2005
Quelle 2
Wrapper 2
Wrapper 3
Quelle 3
Quelle 4
Felix Naumann, VL Informationsintegration, WS 05/06
11
Ü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
12
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
13
Einfache Mediatoren
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
14
Integration mit Mediatoren
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
15
Funktionale Schichten
Nutzer
interface
Service
interface
Quellen-Zugriff
interface
Real-world
interface
8.11.2005
Nutzer
Anwendung
Mediation
Wrapper
Mensch-Maschine
Interaktion
Anwendungs-spezifischer
Code
Domänen-spezifischer
Code
Quellen-spezifischer
Code
Datenquelle
Felix Naumann, VL Informationsintegration, WS 05/06
16
Schnittstellen
X-Widgets,
HTML, Java
Web
Services
SQL, XML
Sensoren,
Sachbearbeiter
8.11.2005
Nutzer
Anwendung
Mediation
Mensch  Maschine
Anwendung  Mediator
Mediator  Datenquellen
Wrapper
Datenquellen  Welt
Datenquelle
Felix Naumann, VL Informationsintegration, WS 05/06
17
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
18
Mehrwert durch Mediatoren
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
19
Dicke und Dünne Mediatoren
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
20
Ü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
21
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
22
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
23
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
24
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
25
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
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
26
Garlic Wrapper Generierung

Vier Grund-Services
1.
2.
3.
4.
Modellierung und Zugriff auf die Daten in der
Quelle
Aufruf von Methoden in der Quelle
Mithilfe bei der Anfrageplanung
Anfrageausführung
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
27
Garlic Wrapper Generierung
Quelle: [TS97]
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
28
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
29
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-readonly 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
30
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
31
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
32
Beispiel: XML Wrapper für DB2
II nach [JS03]

On-line Anfragen gegen XML Daten aus externen
Quellen


Relationale Abstraktion von XML Daten:




Die Daten sind nicht in DB2 gespeichert
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
33
Beispiel: XML Wrapper für
DB2
Kunden
Bestellungen
Zahlungen
XML Schema
Posten
Shredding
Relationales Schema
(virtuelle Tabellen, nicknames)
Posten
8.11.2005
Bestellungen
Kunden
Felix Naumann, VL Informationsintegration, WS 05/06
Zahlungen
34
Beispiel: XML Wrapper für DB2
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
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');
8.11.2005
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
37
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
38
Automatisiertes Wrappen
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
39
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
40
Forschungsprojekte







Carnot
CoBase
COIN
Garlic
Harvest Information
Discovery and Access
System
HERMES
Info*
8.11.2005







Infomaster
Information Manifold
INFOSLEUTH
OBSERVER
SIMS
SKC
Tsimmis
Felix Naumann, VL Informationsintegration, WS 05/06
41
Ü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
42
Wdh: Klassifikation von
Informationssystemen nach [ÖV91]
Verteilte,
homogene
DBS
Verteilung
Verteilte,
föderierte
DBS
Verteilte,
heterogene
DBS
Verteilte, heterogene
föderierte DBS
(V.MDBMS)
Autonomie
Logisch
integrierte und
homogene DBS
Heterogenität
8.11.2005
Heterogene,
integrierte
DBS
Heterogene,
föderierte
DBS
Felix Naumann, VL Informationsintegration, WS 05/06
Homogene,
föderierte
DBS
(MultiDBMS)
43
Wdh: Erweiterung der
Klassifikation nach [ÖV99]
Peer-to-peer
Verteilung/Distribution
PDMS
Client/server
Autonomie
Heterogenität
8.11.2005
Enge
Integration
Semiautonom
Felix Naumann, VL Informationsintegration, WS 05/06
Isolation
44
PDMS – Idee

Idee: Peer Netzwerk (P2P)


Jeder Peer kann





[HIST03], [HIMT03], [BGK+02]
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
45
Peer-Data-Management
Systeme (PDMS)
„einfaches“
Mapping
Peer 3
Peer 5
Peer 1
?
Peer 4
Peer 2
8.11.2005
Peers können mehrere
Rollen einnehmen:
- Datenquelle
- Mediator
- Wrapper
- Anfrager
Felix Naumann, VL Informationsintegration, WS 05/06
46
Peer-Data-Management
Systeme (PDMS)
Peer 3
Peer 5
Peer 1
Peer 4
Peer 2
8.11.2005
Peers können selbst
wiederum integrierte
Informationssysteme
sein.
Felix Naumann, VL Informationsintegration, WS 05/06
47
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
48
PDMS vs. P2P file sharing

P2P


Nur ganze Dateien (niedrige
Granularität)
Einfachste Anfragen





PDMS


Dateinamen


Ausnahme: z.B. Napster für
Musikdateien
Hoch dynamisch
Millionen Peers
Datenübertragung direkt




8.11.2005
Objekte (hohe Granularität)
Komplexe und Contentmanagement Anfragen

Unvollständige
Anfrageergebnisse
Einfaches Schema



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
49
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
50
Piazza – Beispiel
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
51
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






Mapping Komposition
Effizienz (bei vielen
Zwischenstationen)
Effiziente Datenverteilung
Read-only oder Updates?
Außerdem:


8.11.2005
Aber: Mappings automatisch
erstellen (Schema Matching)
Verlust der Semantik
Verlust an
Informationsqualität, z.B.
Vollständigkeit
Felix Naumann, VL Informationsintegration, WS 05/06
52
Semantik in PDMS [Len04]
Peer 2
Frau
Peer 1
e
e1
Elternteil
Peer 4
Person
disjunkt, vollständig
Vater
v
Mutter
v
Peer 3
Mann
v
8.11.2005
e
e2
Felix Naumann, VL Informationsintegration, WS 05/06
Um diese Aussage
zu treffen muss man
Semantik des Peer 1
Schemas kennen!
53
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
54
Unvollständige Mappings
Anfrage
Peer 1
Part Descr. Make
Peer 2
Part Descr. Make
Peer 3
Part Make
Peer 4
Part Descr. Make
Problem:
Kumulierte Projektionen
• in Schemata
• in Mappings
Peer 3
Part Descr. Make
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
55
Selektive Mappings
Anfrage
Peer 1 (ATU)
Part Descr. Make
= „Ford“
Peer 2 (Ford)
Part Descr. Make
Problem:
Kumulierte Selektion
• implizit in Schemata
• explizit in Mappings
• Punkt-Selektionen und
Bereichs-Selektionen
Peer 4 (Opel)
Part Descr. Make
= „Ford“
Peer 3 (Autohaus)
Part Descr. Make
8.11.2005
(= „Opel“)
Felix Naumann, VL Informationsintegration, WS 05/06
56
Literatur

Mediator Wrapper

Das erste paper:


Weitere





[Wie92] Mediators in the Architecture of Future Information Systems, Gio Wiederhold, IEEE Computer Journal, 25(3), 38-49,
1992
[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.
8.11.2005
Felix Naumann, VL Informationsintegration, WS 05/06
57
Herunterladen