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