WebService-basierte Integration externer Datenquellen in

Werbung
WebService-basierte Integration
externer Datenquellen in
relationale Datenbanksysteme
Workshop XML-Technologien für Middleware - Middleware für XML-Anwendungen
XMIDX 2003
Berlin, 17. Februar 2003
Vortragender: Lutz Schlesinger
Autoren:
Lutz Schlesinger, Universität Erlangen, Lehrstuhl für Datenbanksysteme
Wolfgang Lehner, Technische Universität Dresden, Arbeitsgruppe Datenbanken
Überblick
•
Die Datenbank als Middleware
– Beispiel
– Allgemeine Prinzipien
•
Externe Datenquellen und Datenbanken
– Enge Kopplung durch Java-Objekte
– Lose Kopplung mittels WebServices
•
Zusammenfassung
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
2
Problemstellung
Szenario „Informationsportal“
…
Benutzer 1
Benutzer:
Homogener, transparenter Zugang
Portal:
Datenverarbeitung
Benutzer m
Datenbank
Portal
Anbieter:
Bereitstellung heterogener Daten
Anbieter 1
…
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
Anbieter n
3
Prinzipien der Datenversorgung
Anbietergetriebene Datenversorgung (Push-Prinzip)
Æ Trennung von Ladezeit und Auswertezeit
Anbieter
2
1
Benutzer
Datenbank
3
Nachfragegetriebene Datenversorgung (Pull-Prinzip)
Æ Ladezeit innerhalb der Auswertezeit
2
Anbieter
1
Benutzer
Datenbank
3
4
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
4
Datenquellen
Datenbank
System B
System A
Wrapper A1
Datenbank 1
Daten
Anfrage
Daten
Anfrage
Clients
Ausgangssituation
Wrapper A2
Wrapper B1
Dateien
Wrapper B2
Datenbank 2
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
5
Ziele und Abgrenzung
•
Ziele
–
–
–
–
•
SQL als Anfragesprache
Verbergen von Quellenspezifika
Datenversorgung zur Anfrageausführungszeit
Vermeidung eines Wrappers für jedes Datenbanksystem
und jede Datenquelle
Abgrenzung
– Funktionalität und Flexibilität über Effizienz
• Ziel: Ermöglichung eines transparenten und dynamischen Zugriffs
• Effizienz zweitrangig
– ONC-Protokoll als Ebene der Integration
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
6
Ebenen der Integration
SQL
SQL
Relationen
ONC
Relationen
Sätze
Sätze
readPage()
Seiten
Integrierendes
System
Seiten
Datenquelle
DB-Middleware
SQL
SQL
Relationen
ONC
Relationen
ONC
Sätze
Sätze
readPage()
Seiten
Integrierendes
System
Seiten
Datenquelle
Satzorientierter
Zugriff
Sätze
readPage()
Seiten
Integrierendes
System
Seiten
Datenquelle
Seitenorientierter
Zugriff
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
7
Clients
Enge Kopplung: Fünf-Schichten-Modell
C
ts
n
lie
lI
sta
n
lIn
sta
D
n
te
a
A
e
g
fra
n
D
n
te
a
A
e
g
fra
n
lsta
n
i
e
d
Datenbank
lsta
n
i
e
d
Registrator
Registrator
MetaDaten
MetaDaten
D
k
b
n
te
a
<?XML?>
PlugIn
<?XML?>
Exposer
P
In
g
lu
rE
e
s
o
p
x
Datenquellen
Schemainformationen
Datenbank 1
Dateien
Datenbank 2
lD
u
q
n
te
a
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
8
Enge Kopplung durch Java-Objekte
Registrator
createView()
dropView()
Sichten
erzeugt
löscht
ODCITable-Schnittstelle
Oracle 9i
Datenbanksystem
Java RowDataSource
In
g
lu
P
Exposer
Jede beliebige Java Aktion
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
9
Realisierung mit Oracle Data Cartridge
•
Data Cartridge = Erweiterungsmodule
– Logische Einheit verschiedener Erweiterungen
– Viele erhältliche Data Cartridges, bspw. Spatial Data Cartridge
Data
cartridge
Erweiterungsschnittstelle
Typensystem
Funktionsbibliothek
Anfragebearbeitung
Indexerstellung
Datenbank und erweiterbare Dienste
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
10
Bewertung der engen Kopplung
•
Erreichung der Ziele
–
–
–
–
•
SQL als Anfragesprache
Verbergen von Quellenspezifika
Datenversorgung zur Anfrageausführungszeit
Vermeidung eines Wrappers für jedes Datenbanksystem
und jede Datenquelle
Aber
– Statische Einbindung an Stelle einer dynamischen zur Laufzeit
•
Und mit WebServices?
Webservice-Technologie zur flexiblen und zur Konfiguration
dynamischer Integration von WebDiensten als Datenquelle
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
11
WebServices - Einführung
•
Veränderte Rahmenbedingungen für Applikationsanbieter
– Traditioneller Ansatz
• Entwicklung einer In-House-Applikation
• Zukauf einer Applikation bei einem fremden Anbieter
– “Web”-Ansatz
• Nutzung einer durch irgendjemand und irgendwo angebotenen
Applikation im Web
• Vorteil: kein Zeitverlust, geringe Kosten, geringes Risiko
•
Beispiele
– Bank: Abruf von Börsendaten
– Online-Stores: Katalog, Einkauf
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
12
WebServices - Definition
Der Versuch einer Definition:
• Nutzung des Internets
• Verwendung von XML
• Unabhängigkeit von Betriebssystemen
„A web service
is any service that is available over the Internet,
und Programmiersprachen
• Entwicklung und Nutzung von
uses a standardized XML messaging system, and is not tied to
verteilten Anwendungen
Middleware-Konzept
any one •operating
system or programming language.“
• Integration in komplexe Anwendungen
(Modularisation)
Ethan Cerami: Web Services Essentials (O’Reilly, Sebastopol, 2002)
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
13
•
Business
Integration
ebXML, RosettaNet,
BizTalk Framework
Txn / Workflow
XAML, WSCL, WSCI,
WSFL, XLANG, BPML
Security
XML Encryption, XML-DSig,
XACML, SAML, XKML
Discovery
UDDI, USML, WSIL
Description
WSDL, XML Schema, WSEL
Messaging
SOAP, XML-RPC
Representation
XML, XML Namespaces, XML
Schema
Application Layer
HTTP, HTTPS, HTTPR, SMTP,
FTP
Transport Layer
TCP/IP, SSL/TLS
Nur WebServices-Core
akzeptierter Standard
(SOAP, WSDL, UDDI von
Microsoft und IBM unterstützt)
•
Web
Services
Extensions
Viele individuelle Vorschläge
(⇒ Internet Protocol Stack,
ISO/OSI)
Web Services Core
•
Kein einheitlicher Standard
Network
•
Frame
works
WebServices - Standards
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
14
WebService Plattform
•
SOAP: Kommunikationsprotokoll
•
WSDL: WebService-Beschreibung
•
UDDI: WebService-Verzeichnis
UDDI API
(SOAP)
UDDI
(Verzeichnisdienst)
Web Service
(Dienstanbieter)
WSDL
SOAP
Nutzer
(Dienstnutzer)
UDDI API
(SOAP)
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
15
Exposer
Enge Kopplung: SOAP-fähiger Exposer
UDDI
Datenquellen
SOAP
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
16
Clients
Lose Kopplung: Fünf-Schichten-Modell
lIn
ta
s
l
sta
In
(4)
Datenbank
Registrator
Registrator
(2)
MetaDaten
MetaDaten
(3)
<?XML?>
PlugIn
<?XML?>
UDDI
In
g
lu
P
Exposer
JavaONC
SOAP- (5)
ONC
inquire()
(1)
load()
Datenquellen
Schemainformationen
Dateien
Dateien
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
17
Aktuelle Umsetzung
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
18
Formulierung der Anfrage
Update google_para set query = ´erlangen´;
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
19
Ergebnis der Anfrage
select * from google;
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
20
Zusammenfassung und Ausblick
•
Ziel: Anbindung externer Datenquellen an ein Datenbanksystem
•
Ansätze
– Traditionell: Trennung von Lade- und Ausführungsphase
– Enge Kopplung: Statische Java-Objekte
– Lose Kopplung: Dynamisch mittels WebService-Technologie
•
Ausblick
– Einbindung von Restriktionen
– Weiterentwicklung für .NET
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
21
Download und Kontakt
•
Vortragsfolien
http://www6.informatik.uni-erlangen.de/~lutz/
•
Kontakt per E-Mail:
[email protected]
[email protected]
© Lutz Schlesinger: "WebService-basierte Integration externer Datenquellen in relationale Datenbanksysteme"
22
Herunterladen