Interoperable Informationssysteme Klemens Böhm Interoperable Informationssysteme - 1 Aufbau der heutigen Sitzung Motivation für die Vorlesung als Ganzes in eher abstrakter Form, “roter Faden”, Interoperabilität, Heterogenität, semistrukturierte Datenmodelle, XML. Auflistung der Inhalte der Vorlesung, Beginn des ersten Teils. Klemens Böhm Interoperable Informationssysteme - 2 Einleitung Interoperabilität Heterogenität Was ist Interoperabilität? Was sind semistrukturierte Datenmodelle? Zusammenhang Interoperabilität – semistrukturierte Datenmodelle? Semistrukt. Datenmodelle XML Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 3 Problem Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Grosse Datenmengen sind verfügbar. Daten werden unterschiedlich modelliert. Systeme zur Datenverwaltung haben unterschiedliche Fähigkeiten. Informationssysteme existieren nebeneinander innerhalb einer Organisation/Firma, teilweise innerhalb, teilweise ausserhalb der Organisation (z.B. Vergleich Kundenliste - Top500-Liste), sämtlich ausserhalb des Unternehmens “Information Brokering”, “Virtual Enterprises”, z.B. Dienst, der verschiedene Auctioning-Angebote zusammenfasst. Klemens Böhm Interoperable Informationssysteme - 4 Problem Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Man will integrierten Zugriff. Jene Unterschiede/Charakteristika der Sourcen sollten transparent sein; Benutzer soll sich nicht darum kümmern müssen wie Daten modelliert sind, welches System verwendet wird, wo Daten gespeichert sind. Integrierter Zugriff Anfragen über mehrere Sourcen, Überbrückung der Heterogenität. Klemens Böhm Interoperable Informationssysteme - 5 Interoperable Datenbanken Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Definition gemäss ‘Computing Dictionary’: “A database front-end which communicates with multiple heterogeneous databases and makes them appear as a single homogeneous entity with semantic calls.” Hier jedoch keine Beschränkung auf Datenbanken bzw. relationales Datenmodell, sondern Betrachtung von beliebigen Sourcen, z.B. auch DokumentServer, File-Systeme, Web-Server. Klemens Böhm Interoperable Informationssysteme - 6 ‘Integrierter Zugriff’ Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Benutzeroberfläche, die das Absetzen von Anfragen erlaubt, die für alle Komponenten bestimmt ist, Transformation der Daten in einheitliches Datenmodell, Entwicklung von Anwendungen gegen diese Modellierung. Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 7 Interoperabilität und XML Interoperabilität Heterogenität Semistrukt. Datenmodelle Notwendigkeit, möglichst allgemeines Datenmodell zu verwenden. XML hat sich als universelles Daten-Austauschformat etabliert, Verwendung von XML als Modell für den integrierten Zugriff. XML Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 8 Heterogenität Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Warum sprechen wir über Heterogenität? Heterogenität ist der Grund dafür, dass unser Problem schwierig ist; wären Systeme nicht heterogen, hätte man das Problem nicht. Heterogenität – Motivation für semistrukturierte Datenmodelle, herkömmliche Datenmodelle sind z.T. ‘lästiges Korsett’. Klemens Böhm Interoperable Informationssysteme - 9 Heterogenität Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Anwendungsunabhängige Unterschiede: Datenmodell (z.B. relational vs. objektorientiert), Anfragesprache. Unterschiede bei der Modellierung (im gleichen Modell): Weglassen von Information, explizite Strukturierung, z.B. ‘Name’ vs. ‘Vorname - Nachname’, unterschiedliche Bedeutung der Attribute (trotz gleicher Bezeichnung, z.B. Preis - netto oder brutto?) Unterschiede auf Instanzenebene, z.B. Beträge in CHF - Beträge in Lira. Klemens Böhm Interoperable Informationssysteme - 10 Heterogenität - Beispiel Klemens Bruno Wigbert F. Hans Jörg Interoperabilität Torsten Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Böhm Böhm Schek Mohan Grabs Bad Homburg, Zürich Stuttgart Zürich Almaden Zürich 65000 CHF 35000 DM > 100000 CHF Prof. Stein < 100000 CHF Unterschiedliche Zahl von Wohnorten Unterschiedliche Darstellung des Zweitnamens Unterschiedliche Währung beim Jahreseinkommen (Konvertierung = Informationsverlust) Uneinheitliche Darstellung zusammengesetzter Vornamen Jahreseinkommen nicht immer als exakter Wert Fehlende/nicht bekannte Werte Klemens Böhm Interoperable Informationssysteme - 11 Datenmodell, Schema, Typ (1) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Diese Folie – Begriffe für Erklärung semistrukturierter Datenmodelle. Definition Datenmodell laut Ullman: Formalismus und Notation zur Beschreibung von Datenstrukturen und eine Menge von Operationen, die zum Manipulieren und Validieren der Daten verwendet werden. Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 12 Datenmodell, Schema, Typ (2) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Typ - Menge von Werten, mit denen eine Variable oder eine Konstante belegt sein darf; Schema laut Ullman: Spezifikation der Typen von Entities in Datenbank und der Beziehungen zwischen Instanzen dieser Typen; Art, wie Entities und Beziehungen auf einer Abstraktionsebene auf der nächstniedrigeren ausgedrückt werden. Beispiel: Array Konzeptionelles Schema: integer array A[1..n; 1..m] Physisches Schema: A[i, j] ist an Position a0 + 4(m(i-1)+j-1) Klemens Böhm Interoperable Informationssysteme - 13 Semistrukturierte Daten Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Verallgemeinerung bekannter Datenmodelle, Motivation: kein explizites Schema vorhanden, (implizites) Schema kann sich (im Laufe der Zeit) ändern, keine starke Typisierung, d.h. Attribut kann (für unterschiedliche Objekte) unterschiedlichen Typ haben, Reihenfolge, z.B. Reihenfolge der Kapitel eines Dokuments. Klemens Böhm Interoperable Informationssysteme - 14 Semistrukturierte Daten - Fortsetzung Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Semistrukturierte Daten sind allgegenwärtig: Dokumente z.B. Gesetzestexte, Wörterbucheinträge, HTML-Dokumente, Daten universelles Austauschformat, z.B. für E-Commerce. Welche Rolle spielt XML? Zahlreiche Tools, zahlreiche DTDs, Standard des W3C, Grundlage zahlreicher weiterer Standards. Klemens Böhm Interoperable Informationssysteme - 15 Semistrukturierte Daten (3) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Zusammenhang ‘Querying- und Transformationsmechanismen’ und ‘Interoperabilität’, Indexierung semistrukturierter Daten: Beschleunigung des deklarativen Zugriffs, viele Anfragen ohne Indexstrukturen praktisch nicht evaluierbar, Index ist verkürzte Beschreibung des Datenbank-Inhalts (aus einer bestimmten Sicht). Klemens Böhm Interoperable Informationssysteme - 16 Markup Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Zusätzliche Information, die in Dokumenttext eingefügt wird. Jedes Textverarbeitungssystem generiert Markup, z.B. \par (in RTF) identifiziert Anfang eines neuen Absatzes, \sb240 spezifiziert 12-pt Space. Benutzer gibt Markup nur in seltenen Fällen selbst ein, z.B. mit LaTeX. Generalized Markup: spezifiziert nicht das Aussehen des Dokuments, identifiziert Strukturbestandteile des Dokuments, \sb240 ist kein Generalized Markup. Klemens Böhm Interoperable Informationssysteme - 17 Markup - HTML als Beispiel Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung <html> <div> <h3>The Autobiography of Benjamin Franklin</h3> Benjamin Franklin&nbsp; &nbsp; &nbsp; <i>8.99</i> <div> … </html> Klemens Böhm Interoperable Informationssysteme - 18 Logischer Markup mit XML Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung <?xml version='1.0’?> <bookstore> <book genre="autobiography"> <title>The Autobiography of Benjamin Franklin</title> <author> <first-name>Benjamin</first-name> <last-name>Franklin</last-name> </author> <price>8.99</price> </book> <book genre="novel"> … </book> </bookstore> Klemens Böhm Interoperable Informationssysteme - 19 Warum will man mit Generalized Markup arbeiten? (1) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Trennung zwischen logischer und Layout-Struktur führt zu höherer Flexibilität, insbesondere kann man unterschiedliche Darstellungen für unterschiedliche Benutzer und unterschiedliche Anforderungen erzeugen, Beispiel: Lektor soll alle Eigennamen im Wörterbuch ueberpruefen. hat man bessere Strukturierungsmöglichkeiten (Strukturierung muss nicht immer explizit dargestellt werden, feinere Typisierung). Beispiel: Differenzierung Vorname – Nachname. Klemens Böhm Interoperable Informationssysteme - 20 Warum will man mit Generalized Markup arbeiten? (2) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Dokument mit logischem Markup enthält i.a. mehr Information, leichteres kooperatives Arbeiten bzw. bessere Dokumentation eigener Arbeitsschritte. Konsistenz der Dokumente: 'intra-document consistency', 'inter-document consistency'. Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 21 Was leistet XML? (1) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Ziel von XML – nicht Standardisierung des Generalized Markups. Man will unterschiedliche Dokumenttypen haben, mit jeweils unterschiedlichem Markup. Beispiele: Inventarliste Buchhandlung, Kochrezept. Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 22 Was leistet XML? (2) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Ziel von XML: der Darstellung von Generalized Markup im Dokument (Syntaxebene), Festlegung, welcher Markup wo im Dokument zulässig, z.B. Kochrezept muss Zutaten enthalten, Zutaten müssen vor der Zubereitung kommen. Nicht obligatorisch, solche Festlegungen zu treffen. Klemens Böhm Interoperable Informationssysteme - 23 Dokumenttypdefinition Interoperabilität Heterogenität Semistrukt. Datenmodelle Dokumenttypdefinition (DTD) ist im wesentlichen Menge von Regeln/ Grammatik, DTD gibt vor, was für Markup (an welcher Stelle genau im Dokument des Typs) vorkommen darf. XML Inhalt der Vorlesung Klemens Böhm Interoperable Informationssysteme - 24 Beispiel: Bookstore DTD Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung <!ELEMENT bookstore (book)*> <!ELEMENT book (title,author+,price?)> <!ATTLIST book genre CDATA #REQUIRED> <!ELEMENT title (#PCDATA)> <!ELEMENT author ( name |(firstname,lastname))> <!ELEMENT price (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> Klemens Böhm Interoperable Informationssysteme - 25 Logische Dokumentstruktur bookstore Interoperabilität ... book Heterogenität Semistrukt. Datenmodelle title author price book title author price XML Inhalt der Vorlesung The Autobiography of ... 8.99 firstname Benjamin Klemens Böhm The Gorgias lastname Franklin 9.99 name Plato Interoperable Informationssysteme - 26 Inhalt der Vorlesung (1) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Datenmodell 1: OEM Queries 1: Deklarativer Zugriff auf semistrukturierte Daten Anforderungen, Flexibilität, zwei Sprachen Datenmodell 2: XML Abgrenzung zum relationalen Modell, Zusammenhang XML – Dokumente, ‘Praxis-Features’: Kodierung von Chars, Entities, vordefinierte Typen Datenmodell 3: XML und verwandte Standards DOM, SAX, XPointer, XLink Klemens Böhm Interoperable Informationssysteme - 27 Inhalt der Vorlesung (2) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Schema und Typen Motivation, DataGuides, Datalog, Simulationen Systeme 1: Indexstrukturen für semistrukturierte Daten unterschiedliche Indices unterstützen unterschiedliche Anfragen, DataGuides, PAT-Trees, STORED, XML-Features von SQL Server, Evaluierung von XML-Queries Datenmodell 4: Metadaten MPAA, Dublin Core, RDF Queries 2: Transformationsmechanismen für semistrukturierte Daten XSLT, YAT Klemens Böhm Interoperable Informationssysteme - 28 Inhalt der Vorlesung (3) Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Systeme 2: Query Processing in verteilten, heterogenen Umgebungen Query-Evaluierung, Queryoptimierung Systeme 3: Infrastrukturen für die Integration heterogener Informationssysteme Harmony – was bekommt man, was muss man selbst leisten? A0-Algorithmus Systeme 4: Erweiterbare Query-Optimierung Klemens Böhm Interoperable Informationssysteme - 29 Abgrenzung gegenüber anderen Lehrveranstaltungen Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Zusammenhang zu ‘Data Warehousing’: Data Warehouse - Materialisierung integrierter Sicht bzw. Teilen davon, insbes. Aggregate, bzw. historischer Entwicklung der Daten, multidimensionales Datenmodell (Datenmodell wurde nicht entworfen, um mit Heterogenität gut umzugehen.) Konsistenzerhaltung, effiziente Berechnung der materialisierten Sicht, physischer Entwurf, neue Operatoren auf höherem Abstraktionsniveau. Zusammenhang zu ‘Objekten höherer Ordnung’ Mechanismen zum Kommunikationsaufbau zwischen Informationsobjekten. Klemens Böhm Interoperable Informationssysteme - 30 Abgrenzung gegenüber anderen Lehrveranstaltungen Interoperabilität Heterogenität Semistrukt. Datenmodelle XML Inhalt der Vorlesung Materialisierungen, physischer Entwurf hier kein Thema, alle Sichten sind virtuell. Anderes Datenmodell. Hier vorgestellte Konzepte sind orthogonal zu den Mechanismen zur Verwaltung von Objekten höherer Ordnung. Klemens Böhm Interoperable Informationssysteme - 31