Fachbereich Elektrotechnik und Informationstechnik Institut für Datentechnik Fachgebiet Industrielle Prozeß- und Systemkommunikation Prof. Dr.-Ing. Ralf Steinmetz Technische Universität Darmstadt Studienarbeit Implementierung einer XML-basierten Suchmaschine für das Multibook-Projekt der Technischen Universität Darmstadt von Jochen Geise März 2001 Betreuer: Dipl.-Wirtsch.-Inf. Achim Steinacker Nr. KOM-S-0107 Ehrenwörtliche Erklärung Ehrenwörtliche Erklärung Hiermit versichere ich, die vorliegende Studienarbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Darmstadt, den 14. März 2001 Jochen Geise - iii - Inhaltsverzeichnis Inhaltsverzeichnis Ehrenwörtliche Erklärung............................................................................... iii Inhaltsverzeichnis ............................................................................................... v Abbildungsverzeichnis .................................................................................... vii Tabellenverzeichnis ...........................................................................................ix Abkürzungsverzeichnis .....................................................................................xi 1 Einleitung .........................................................................................................1 1.1 Motivation ................................................................................................1 1.2 Ziele und Struktur der vorliegenden Arbeit .............................................2 2 Universitäten Online .......................................................................................5 2.1 Überblick über die derzeitige Situation....................................................5 2.2 Zukünftige Szenarien ............................................................................... 7 3 Bestehende Applikationen im Bildungsbereich ..........................................11 3.1 Der Deutsche Bildungsserver .................................................................11 3.1.1 Überblick........................................................................................................ 11 3.1.2 Metadatenkonzept .......................................................................................... 13 3.2 Technische Implementierung des DBS ..................................................15 3.2.1 Dublin Core Metadaten-Standard .................................................................. 15 3.2.2 Relationale Datenbankmanagementsysteme mit mySQL.............................. 16 3.2.3 Architektur der DBS-Applikation.................................................................. 18 3.2.4 Bewertungen .................................................................................................. 21 4 Entwurf einer Applikation für das Multibook ...........................................23 4.1 Das Multibook-Projekt ...........................................................................23 4.1.1 Überblick........................................................................................................ 23 4.1.2 Wissensbasis .................................................................................................. 23 4.1.3 Lernobjekte .................................................................................................... 24 4.2 Auswahl der zu verwendenden Technologien ........................................25 4.2.1 Learning Object Metadata.............................................................................. 25 4.2.2 Extensible Markup Language ........................................................................ 29 -v- Inhaltsverzeichnis 4.2.3 XML-Datenbanken......................................................................................... 33 4.2.4 Java und Java-Servlets.................................................................................... 33 4.2.5 Implementierungsentwurf............................................................................... 34 5 Dokumentation der XML-Technologie .......................................................37 5.1 Überblick über XML und verwandte Technologien ..............................37 5.2 Extensible Markup Language .................................................................39 5.3 Document Type Definition.....................................................................42 5.4 Document Object Model ........................................................................43 5.5 XML Path Language ..............................................................................43 5.6 Extensible Stylesheet Language .............................................................48 5.7 XML Query Language ...........................................................................52 6 Dokumentation der Implementierung .........................................................53 6.1 Die Tamino-Datenbank ..........................................................................53 6.1.1 Grundlegende Architektur .............................................................................. 53 6.1.2 Systemvoraussetzungen und Installation........................................................ 55 6.1.3 Tamino Manager ............................................................................................ 55 6.1.4 Tamino Schema Editor ................................................................................... 56 6.1.5 Tamino Interactive Interface .......................................................................... 58 6.2 Benutzerschnittstelle...............................................................................61 6.2.1 Datenbankabfrage mit HTTP-Requests.......................................................... 61 6.2.2 Dynamische Webseiten mit Apache Cocoon .................................................63 6.2.3 Vollständige Architektur der zu entwickelnden Applikation.........................64 7 Evaluierung ....................................................................................................67 7.1 Funktionalität..........................................................................................67 7.2 Verbesserungsmöglichkeiten ..................................................................67 8 Resümee ..........................................................................................................69 Literaturverzeichnis .........................................................................................71 Anhang A ...........................................................................................................73 - vi - Abbildungsverzeichnis Abbildungsverzeichnis Abbildung 1 Modularer Aufbau eines Bildungsangebotes .................................................. 9 Abbildung 2 Volltext-Server .............................................................................................. 11 Abbildung 3 Kommunikations-Server ............................................................................... 12 Abbildung 4 Meta-Server................................................................................................... 12 Abbildung 5 Elemente einer Datenbanktabelle.................................................................. 17 Abbildung 6 Einstiegsseite des DBS [DBS2001] .............................................................. 19 Abbildung 7 Eintragen einer Ressource in die Datenbank des DBS ................................. 20 Abbildung 8 Suchen einer Ressource und Übermittlung der Suchergebnisse zum Client 20 Abbildung 9 Modularer Aufbau des Multibooks [MUL2001] .......................................... 24 Abbildung 10 Baumstruktur des LOM-Standards ............................................................... 26 Abbildung 11 Unterelemente des RECORD-Elementes...................................................... 27 Abbildung 12 Leaves-Symbol.............................................................................................. 28 Abbildung 13 Unterelemente des GENERAL-Elementes ................................................... 28 Abbildung 14 XML in Kombination mit XSL als portables Format ................................... 32 Abbildung 15 Implementierungsentwurf einer Suchmaschine für das Multibook .............. 34 Abbildung 16 XML und verwandte Technologien [HOM1999] ......................................... 37 Abbildung 17 Bestandteile eines XML-Elementes .............................................................. 40 Abbildung 18 Beispiel einer XML-Dokumentenstruktur .................................................... 42 Abbildung 19 Leserichtung des verarbeitenden Prozessors [BAC2000] ............................. 45 Abbildung 20 Transformation und Formatierung mit XSL ................................................. 48 Abbildung 21 Arbeitsweise von XSLT in Verbindung mit XPath [BAC2000] .................. 49 Abbildung 22 Grundlegende Architektur der Tamino-Datenbank [SAG2001] ................... 53 Abbildung 23 Komponenten der X-Machine [SAG2001] ................................................... 54 Abbildung 24 Tamino Manager ........................................................................................... 56 Abbildung 25 Collection, Doctype und Node-Elemente des LOM-Schemas...................... 57 Abbildung 26 LOM DTD im Tamino Schema Editor ......................................................... 58 Abbildung 27 Tamino Interactive Interface ......................................................................... 59 Abbildung 28 HTTP-Request an Tamino mit XQL-Suchanfrage ....................................... 60 Abbildung 29 Suchformular für die LOM-Datenbank......................................................... 62 Abbildung 30 Vereinfachtes Verarbeitungsmodell von Apache Cocoon [MM2000] ......... 63 Abbildung 31 Implementierung der Suchmaschine für das Multibook ............................... 64 Abbildung 32 Dynamische Webseite von Cocoon mit Übersicht der Suchergebnisse ....... 65 Abbildung 33 Dynamische Webseite von Cocoon mit Details der Suchergebnisse............ 65 - vii - Abbildungsverzeichnis Abbildung 34 Adaptivität mit XML und XSL ?................................................................... 68 - viii - Tabellenverzeichnis Tabellenverzeichnis Tabelle 1 Übersicht der grundlegenden Axis Names von XPath [BAC2000] .............. 45 Tabelle 2 Übersicht der XSL-Elemente ........................................................................ 50 Tabelle 3 Tabellarische Auflistung der XPath Axis Names [BAC2000] ..................... 73 - ix - Tabellenverzeichnis -x- Abkürzungsverzeichnis Abkürzungsverzeichnis BSCW CDATA CERN CGI CSS DB DBMS DBS DFN DIPF DOM DTD EBU EU FOP GUI HTML HTTP IEEE ISO LOM PCDATA PDF PHP RDBMS RDF SGML SQL URL WWW W3C XLink XLL XML XPath XPointer XPL XQL XSL XSLT XSL-FO Basic Support for Cooperative Work Character Data Counseil European pour la Recherche Nucléaire Common Gateway Interface Cascading Stylesheets Datenbank Datenbank Management System Deutscher Bildungsserver Deutsches Forschungsnetz Deutsches Institut für Internationale Pädagogische Forschung Document Object Model Document Type Definition European Broadcasting Union Europäische Union Formatting Objects to PDF Graphic User Interface Hypertext Markup Language Hypertext Transfer Protocol Institute of Electrical and Electronic Engineers International Standards Organization Learning Object Metadata Parsed Character Data Portable Document Format Hypertext Preprocessor Relationales Datenbank Management System Ressource Description Framework Standard Generalized Markup Language Structured Query Language Uniform Ressource Locator World Wide Web World Wide Web Consortium XML Linking Language XML Linking Language Extensible Markup Language XML Path Language XML Pointer Language XML Pointer Language XML Query Language Extensible Stylesheet Language XSL Transformations XSL Formatting Objects - xi - Abkürzungsverzeichnis - xii - Einleitung 1 Einleitung 1.1 Motivation In den letzten Jahren hat eine explosionsartige Entwicklung im Bereich der Informationssysteme eingesetzt. Das World Wide Web, das Anfang der 90er Jahre entwickelt wurde, stellt ein Medium zur Verfügung, das u.a. die Integration multimedialer Elemente unterstützt und Hypertextfähigkeit besitzt. Neue Technologien versetzen Universitäten in die Lage, in virtuellen Hörsälen und digitalen Bibliotheken Informationen mit hohem Aktualitätsgrad zur Verfügung zu stellen. Computerbasierte Simulationen ermöglichen es, die Arbeit in der wissenschaftlichen Forschung zu vereinfachen und zu verbessern. Diese neuen Möglichkeiten stellen nicht nur eine Bereicherung bzw. Erweiterung des bestehenden Bildungsangebotes dar. Universitäten müssen sich in zunehmendem Maße der Aufgabe stellen, bestehende Lehr- und Lernkonzepte zu überdenken und neu zu definieren, um mit Hilfe neuer Informationstechnologien besser auf die Bedürfnisse der heutigen Zeit eingehen zu können. „Ich habe eine Vision, von Schulbüchern, die immer hochaktuell sind; von Bildungs- und Kulturnetzen, die alle Menschen erreichen; von aufregenden neuen Ausdrucksformen für Informationen und von gar synaptischen Verknüpfungen zwischen Informationen. Dabei sind meine Visionen so neu nicht. Schon seit Jahrhunderten beschäftigen sich Menschen damit, Wissen zu bewahren, Querverbindungen im Denken herzustellen und das Wissen zu vermitteln. Und heute haben wir mit dem Internet zumindest in einem Teil der Welt die Möglichkeit, Informationen und Wissen vielen zugänglich zu machen und verschiedene Informationsquellen hochgradig zu verknüpfen.“ [BAC2000] Der Deutsche Bildungsserver (DBS) der Humboldt-Universität Berlin und das Multibook-Projekt der Technischen Universität Darmstadt sind erste Versuche, diese Visionen zu realisieren. Diese Projekte zählen zu den sogenannten spezialisierten Diensten des Internets und versuchen, wichtige strukturierende und vermittelnde Funktionen für den Bildungsbereich zu übernehmen. Der DBS versucht Materialien zu den unterschiedlichsten Wissensgebieten auf nationaler Ebene zur Verfügung zu stellen, das Multibook hingegen spezialisiert sich auf Inhalte zum Thema „Multimedia- und Kommunikationstechnologien“. Grundsätzlich besteht jedoch bei beiden Projekten die gleiche Aufgabenstellung: 1. Die vorhandenen Informationen sind so zu erschließen, daß sie auffindbar werden, und sie sind so zu beschreiben, daß ihre Relevanz für den Suchenden erkennbar wird. 2. Um qualitativ hochwertige Informationen anbieten zu können, müssen die Angebote durch qualifizierte Fachleute bewertet und entsprechend beschrieben werden. Die Beschreibungen der vorhandenen Informationen werden als Metadaten bezeichnet. Diese Metadaten unterstützen aktiv beim Finden relevanter Informationen, indem sie für die Suche -1- Einleitung einschränkende Zusatzaufgaben bereithalten und eine genauere Klassifikation der Suchbegriffe ermöglichen. Mit Hilfe von Metadaten lassen sich daher sogenannte „Findmaschinen“ realisieren, die in ihrer Funktionalität den herkömmlichen „Suchmaschinen“ überlegen sind. Verschiedene technische Implementierungen einer solchen Findmaschine sind hierbei möglich. 1.2 Ziele und Struktur der vorliegenden Arbeit Die technische Implementierung einer Applikation, die es einem Benutzer ermöglicht, die Inhalte des Multibooks nach relevanten Informationen zu durchsuchen, wurde als Aufgabe dieser Studienarbeit definiert. Zur Realisierung einer solchen Applikation sah die Aufgabenstellung im weiteren vor, die aktuellen Standards Learning Object Metadata (LOM) und Extensible Markup Language (XML) miteinzubeziehen. Zur Realisierung einer solchen Applikation müssen im einzelnen folgende Punkte berücksichtigt werden: 1. Die dem LOM-Standard entsprechenden Metadaten des Multibooks müssen im XMLFormat gespeichert und in einer geeigneten Datenbank verwaltet werden. 2. Der Benutzer soll befähigt werden, über das Internet eine Suchanfrage an diese Datenbank zu stellen. 3. Um dem Benutzer die Suchergebnisse über eine webbasierte Schnittstelle darstellen zu können, muß eine Konvertierung der im XML-Format gespeicherten Metadaten in das derzeit gängige Datenformat Hypertext Markup Language (HTML) erfolgen. Die Gliederung der vorliegenden Studienarbeit gibt Aufschluß über die Inhalte der einzelnen Kapitel: Im zweiten Kapitel wird die Notwendigkeit, bestehende Angebote und Strukturen im Bildungsbereich neu zu überdenken und neu zu definieren, näher erläutert. Im Anschluß an diese theoretischen Überlegungen wird im dritten Kapitel am Beispiel des DBS eine vorhandene Applikation in diesem Bereich - basierend auf relationalen Datenbanken und der Skriptsprache Hypertext Preprocessor (PHP) bzw. HTML - vorgestellt und bewertet. Der Entwurf einer eigenen Applikation erfolgt im vierten Kapitel. Die Ideen und Ziele des Multibook-Projektes werden dargelegt. Außerdem werden die zur Implementierung der Applikation zu verwendenden Konzepte LOM und XML betrachtet. Das fünfte Kapitel dokumentiert ausführlich die Konzepte von XML und den damit verwandten Technologien, wie beispielsweise Document Type Definition (DTD) und Extensible Stylesheet Language (XSL). Die für die Implementierung verwendete XML-basierte Datenbank Tamino und die zu realisierende Benutzerschnittstelle werden im sechsten Kapitel näher erörtert. -2- Einleitung Nach der Evaluierung der Umsetzung der Aufgabenstellung im siebten Kapitel - mit Hinweisen auf Verbesserungs- bzw. Erweiterungsmöglichkeiten - faßt das achte Kapitel die Resultate der vorliegenden Studienarbeit zusammen. -3- Einleitung -4- Literaturverzeichnis Literaturverzeichnis [APA2000] Apache XML Project, Apache Cocoon,<URL: http:// xml.apache.org/>, 2000 [BAC2000] Bach, Mike, XSL und XPath - Verständlich und praxisnah,Addison Wesley Verlag, 2000 [BOU2000] Bourret, Ronald, XML and Databases,<URL: http://www.rpbourret.com/xml/XMLAndDatabases.htm>, 2000 [DBS2000] Deutscher Bildungsserver, Wie funktioniert der DBS ?,<URL: http:/ /dbs.schule.de/zeigen.html?seite=668>, 2000 [DBS2001] Deutscher Bildungsserver, Homepage,<URL: http://dbs.schule.de>, 2001 [DIP1999] Diepold, Peter, Der Deutsche Bildungsserver: Ordnung im WebChaos, Überarbeitete Fassung des Vortrages auf der 4.Fachtagung „Schulen ans Netz“ in Bonn,<URL: http://www.educat.hu-berlin.de/~diepold/san99/san99.html>, 1999 [DUB2000] Dublin Core Metadata Initiative, FAQ, <URL: http://purl.oclc.org/ dc/education/index.htm>, 2000 [EBU1998] European Broadcasting Union, Technical Review, Special Supplement,1998 [GP2000] Goldfarb, Charles F.; Prescod, Paul, Das XML-Handbuch,Addison Wesley Verlag, 2000 [HAR1999] Harold, Elliotte Rusty, XML-Bible,IDG Books Worldwide, Inc., 1999 [HOM1999] Alex, Homer, XML IE5 Programmer´s Reference,Wrox Press Ltd., 1999 [IEE2001] IEEE Learning Technology Standards Committee (LTSC), Draft Standard for Learning Object Metadata,<URL: http://ltsc.ieee.org/ doc/wg12/LOM_WD5.pdf>, 2001 [JAV2001] java.sun.com, Java Servlet Technology,<URL: http://http:// java.sun.com/products/servlet/index.html>, 2001 [MEY1999] Meyers großes Taschenlexikon, Datenbank,Bibliographisches Institut & F.A. Brockhaus, 7.Auflage, Band 4, Seite 237, 1999 [MEY2001] Meyer, Thorsten, Serverseitige Techniken zur Realisierung Webbasierter Anwendungen,<URL: http://www.informatik.uni-oldenburg.de/~totti/inf/webtechnik/index.html>, 2001 [MIN2000] Mintert, Stefan, Server-Side XML mit Apache Cocoon,3.Darmstädter XML Kongreß, 2000 [MM2000] Mintert, Stefan; Menge, Stefan, XML verpuppt - Aufbereitung mit Cocoon und Extensible Server Pages,c´t Magazin, Heft 10, Seite 222 - 227, 2000 [MYS2000] mySQL, mySQL Introduction,<URL: http://www.mysql.com/information/introduction.html>, 2000 - 71 - Literaturverzeichnis [MÜN1998] Münz, Stefan, Selfhtml Version 7.0,<URL: http://www.teamone.de/ selfaktuell>, 1998 [MUL2001] Multibook, Individuell generierte Lektionen,<URL: http:// www.multibook.de>, 2001 [OHS1998] Ohst, Daniel, Dateiformate für das elektronische Publizieren,Humboldt-Universität zu Berlin, 1998 [SS2001] Bakken, Stig Sæther; Schmid, Egon, PHP Manual,PHP Documentation Group, <URL: http://www.php.net/>, 2001 [RIE2001] Rieckert, Wolf-Fritz, Datenbanksysteme und Aufbau von Datenbanken,<URL: http://www.193.196.176.31/~rieckert/lehre/db/ index.htm>, 2001 [SAG2001] Software AG, Tamino XML Database,<URL: http://www.softwareag.com/tamino>, 2001 [TSI1999] Tsichritzis, Dennis, Reengineering the University,Communications of the ACM, Vol. 42, No. 6, 1999 [W3C1999] W3C, XML Path Language (XPath) Version 1.0, W3C Recommendation 16 November 1999,<URL: http://www.w3.org/TR/xpath>, 1999 [W3C2000] W3C, Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation 6 October 2000,<URL: http://www.w3.org/ TR/2000/REC-xml-20001006>, 2000 [W3C2001a] W3C, Document Object Model (DOM) ,<URL: http://www.w3.org/ DOM/>, 2001 [W3C2001b] W3C, Extensible Markup Language (XML),<URL: http:// www.w3.org/XML/>, 2001 [W3C2001c] W3C, Extensible Markup Language (XML) Activity,<URL: http:// www.w3.org/XML/Activity>, 2001 [W3C2001d] W3C, Extensible Stylesheet Language (XSL),<URL: http:// www.w3.org/Style/XSL/>, 2001 [W3C2001e] W3C, XML Pointer, XML Base and XML Linking,<URL: http:// www.w3.org/XML/Linking>, 2001 [W3C2001f] W3C, XML Query,<URL: http://www.w3.org/XML/Query>, 2001 [W3C2001g] W3C, XML Schema ,<URL: http://www.w3.org/XML/Schema>, 2001 - 72 -