Kapitel 0: Einführung

Werbung
Grobübersicht
• XML Technologie
Web Informationssysteme
– Standards, Speicherung, Anfragebearbeitung
• Web Services
Donald Kossmann
TU München
Wintersemester 2002 / 2003
– Standards, Forschung, Implementierung
• Semantic Web
– Suchmaschinen, Data Dissemination
Übersicht (2)
Übersicht (1)
• XML Datenmodelle
• Einführung
– Architektur und Ziele
• XML Query
• XML Basics
–
–
–
–
– OEM, DOM, InfoSet
–
–
–
–
–
XML Syntax
Namespaces
DTDs
XML Schema
XPath
XQuery
XSLT
SQL-X
XML Update
• XML Beispiele
– RosettaNet, ebXML
Übersicht (3)
• Web Services Standards
– SOAP, XML Protocol
– WSDL
– UDDI
• J2EE, App-Server
• XDBC Schnittstelle
– XQRL, Standardvorschlag
• XL
– Sprachdefinition
– Implementierung
• Andere Ansätze
– XLang, WSCL, WSFL, ...
• Transaktionsmodelle
– ACID
– Kompensation
• Information Retrieval
– Vector-Space Modell
– Datenstrukturen und Algos
– TREC Benchmark
• Suchmaschinen
– Web Crawler
– Beispiel: Google
• Ontologien
– DAML-OIL
• Data Dissimination
– Publish & Subscribe
– XML Filter
• Speichermodelle
–
–
–
–
–
Native (ASCII)
DOM-Bäume
Token Stream
Schredding (RDB)
Tabellen (RDB)
• Anfragebearbeitung
– Native (XQRL)
– XQuery -> SQL
• Indexierung
– Value
– Path
– Keyword
• Datenintegration
– XML Views
– Decomposition
Optimierung
– AQUV
Allgemeine Literaturhinweise
• http://w3c.org
– W3C: Alle relevanten Standards
• http://www.apache.org
– Public domain Implementierung vieler Tools (z.B. Parser)
• http://www.informatik.uni-trier.de/~ley/db
– Datenbankliteraturrecherche
– Besonders relevant: VLDB und SIGMOD (> 1995)
• http://rosettanet.org, http://oasis-open.org
– Einige Standards und Beispiele basierend auf XML
• Abiteboul, Buneman, Suciu: Web & DB
• Rahm, Vossen: Web & Datenbanken
• Literaturliste wird parallel zur Vorlesung erstellt
1
Abgrenzung zu anderen Vorlesungen
• Andere DB Vorlesungen
–
–
–
–
XML und semistrukturierte Daten
Web Services, Prozessintegration
Suchmaschinen, Information Retrieval
Push
• „Elektronisches Publizieren“
Die Geschichte der „Sprache“
(von Phil Wadler)
– Überlappung im XML Basics Kapitel
– Datenverarbeitung statt Dokumente Publizieren
2 x (Descartes)
Ax.2x (Church)
W3C
(LAMBDA (x) (* 2 x))
(McCarthy)
<?xml version=„1.0“>
<lambda-term>
<varlist> <var>x</var></varlist>
<expression> <application>
<expr><const>*</const></expr>
<arg-list><expr><const>2</const></expr>
<expr><var>x</var></expr>
</arg-list>
</application> </expression>
</lambda-term>
2
Was ist ein Web Informationssystem
Meine Variante
• Wird durch das Internet mehr Pizza gegessen?
• Ein Informationssystem, das mit Hilfe von
Webtechnologien aufgebaut und betrieben wird.
• Informationssystem:
– Datenabfrage
– Dateneingabe
• Nein, aber durch das Internet verdienen wir
Informatiker an der Pizza mit.
• Webtechnologien:
–
–
–
–
Was kann das Web heute
Was kann das Web noch nicht
• HTML Dokumente
• Formulare
•
•
•
•
•
– Punktanfrage, vordefinierte Anfragen
– Updates, individuelle Webanwendung
• An jedem Ort, zu jeder Zeit, jede Plattform
• Einfache Suche nach Schlüsselworten
• Sehr gut für Menschen, Interaktivität
– Fehlende und zusätzliche Felder
– Andere Bezeichner, Typen, Codierungen
– Mengenwertige Felder
• Verteilte Anwendungen
– Kommunikation zwischen Anwendungen
• Transformationen der Daten
• Push, Informationsfilter
Anwendungen verstehen kein HTML
Interoperabilität zwischen Anwendungen
Verteilte Updates
Langlebige Prozesse
Beliebige Anfragen
– Wo finde ich Gebrauchtwagen für 1000 Euro
• Skalierbaren Push alla Fernseher
Designprinzipien des W3C
Neue Anforderungen
• Semistrukturierte Daten
Präsentation (HTML, XML, Style Sheets)
Datenaustauschformate (XML)
Kommunikationsprotokolle (HTTP)
Objektidentifikation (URI, URL)
•
•
•
•
•
•
•
Autonomie aller Beteiligten
Niedrige Eintrittsschwellen (post + read)
Verzahnte, kompatible Standards
Aufwärtskompatible Standards
Plattform- und Herstellerunabhängigkeit
Offenheit, Flexibilität (Wollmilchsau!)
Technologieführerschaft (Forschung+Standard)
Kehrseiten der Medaillen beachten!!!
3
Web-Architekturen
• Dokumentenzentriert (seit 1993)
– Hypertext im Browser
– Suchmaschinen
• Datenzentriert (seit 1999)
– (Semi-) Strukturierte Daten, Schema, Konvertierungstools
– Hubs, Portale, Marktplätze
– Automatisierte Einzelschritte des E-Business
• Batch ==> Online
• Mainframe ==> Client-Server ==> P2P (?)
• Insellösungen ==> Integrierter Anwendung (SAP)
==> Portalen ==> Komposition von Diensten (?)
• Vernetzung
Statisch temporär (Kurierdienste) ==>
Statisch permanent (Internet) ==>
Mobil temporär / permanent (WLan, UMTS) ==>
Adhoc (?)
• Dienstzentriert (?)
– Web Services, Directories
– Peer-to-peer
– Integrierte E-Business Prozesse
Großrechner (70 er Jahre)
Client-Server (80 er Jahre)
Anwendungslogik,
GUIs
einfache Textinterfaces zur
Administration
Terminals
Hier spielt
die ganze
Musik
IT Trends
Batch Jobs
Großrechner
(Anwendung + DB)
Vorteile von Client/Server
• Skalierbarkeit: Clientrechner übernehmen einen
Teil der Last – je mehr Nutzer desto mehr
Clientrechner
• Verfügbarkeit: Hardware am Server kann
redundant ausgelegt werden
• Sicherheit: Beschütze Server und Zugang zum
Server
• Administrierbarkeit: Backups nur am Server
• Nachteil: Komplexität (Caching, usw.)
Client
Client
Datenhaltung
Datenbankserver
Multi-Tier (90 er Jahre)
PC
PC
PC
ApplicationServer
PC
PC
ApplicationServer
Datenbankserver
4
Multi-Tier im Web
Multi-Tier-Architekturen
Browser Browser Browser Browser Browser Browser
Internet
Web-Server
Web-Server
ApplicationServer
Web-Server
ApplicationServer
• Schichtenarchitektur:
– Jede Ebene implementiert einen anderen Aspekt
(Datenbank, Anwendungen, GUI, ...)
– Unterschiedliche Anbieter für einzelnen Schichten
(Oracle für die Datenbank, sd&m für die Anwendung,
Apache für den Webserver, Microsoft fürs GUI)
• Jede Schicht kann auf einem eigenen Rechner
implementiert werden. Es können aber auch
mehrere Schichten auf einem Rechner installiert
werden.
• Skalierbarkeit auf jeder Schicht bis auf Datenbank.
Datenbankserver
Portale (00er Jahre)
Portale
Browser Browser Browser Browser Browser Browser
Internet
Portal
App 1
App 2
•
•
•
•
Integrieren verschiedene Datenquellen
Einheitliche Sicht auf die Daten
Eingeschränkte Updates auf die Daten
Beispiel: mySAP.com
– Einheitliche Benutzerkennung fürs Portal
– Zugriff auf ERP System
– Zugriff auf Intranet / Dokumentenmanagement
App 3
• Generische Portal Tools
Datenbank 1
– BEA Weblogic Portals
Datenbank 2
Dienstarchitekturen (? Jahre)
Browser
Browser
Browser
Browser
Dienst
Dienst
Dienst
DB
DB
DB
Dienstarchitekturen
• Verallgemeinerung der Objektorientierung
• Dienste sind autonom, Zustand geheim
(Verkapselung)
• Dienste tauschen Nachrichten aus
– Protokolle für Verschlüsselung, Authentifizierung
– Datenformat der Nachrichten: XML
Dienst
Dienst
Dienst
Dienst
Dienst
DB
DB
DB
DB
DB
• Höherwertige Dienste entstehen durch
Komposition von Basisdiensten (Aggregation)
• URIs zur Identifikation von Diensten
• Versionen von Diensten möglich (Polymorphie)
• Dienstgüte: Antwortzeit? Aktualität? Kosten?
5
Push vs. Pull
• Pull
– Benutzer stellt Anfrage und erhält Antwort
– Beispiel: HTTP
• Push
– Datenquellen senden kontinuierlich
Benutzer hat Filter für relevante Informationen
– Beispiele: News, POP
• Aspekte
– Skalierbarkeit, Wartezeit, Präzision, Mächtigkeit
6
Herunterladen