4.5 Komponenten eines vernetzten Höhleninformationssystems

Kurzfristig sollten möglichst viele Attributdaten, Pläne und weitere Teile des Informationssystems lokal in Höhlensoftware, Datenbanken, Textverarbeitungssystemen und Graphiksystemen gespeichert werden. Einige der erhältlichen Software-Pakete zur Höhlendatenverwaltung erlauben ein Zuordnen von Attributen zu Messpunkten, Messstrecken, Gangabschnitten, Höhlenteilen und Höhlen. Langfristiges Ziel sollte es sein verteilte Systeme zu schaffen, bei denen über Web-Clients Daten übermittelt und auf einem Server zentral gespeichert werden. So ist eine einheitliche Dokumentation garantiert und das Backup und die Pflege der Daten kann zentral erledigt werden. Teilbereiche lassen sich in verteilten Systemen an unterschiedliche verantwortliche Personen delegieren.

Abbildung 4.2: Architektur eines verteilten Höhleninformationssystems, Webserver
\includegraphics [width=1.0\textwidth]{verteiltes_system_server.eps}

Herzstück eines derartigen Systems wären der zentrale Webserver und eine SQL-Datenbank. Darum gibt es einen Logik-Layer der auch Schnittstellen realisiert. Populäre Sprachen zur Implementation der Logik-Komponente auf Server-Seite sind Perl, Python, PHP und Java. Wichtig dabei ist die Logik und Kommunikation von der Formatierung und Ausgabe zu trennen. Bei Java beispielsweise wird die Logik und Kommunikation von Java Servlets übernommen, wiederverwendbare Logik-Komponenten werden mit Java Beans realisiert und die JSP's (Java Server Pages) sind für die Ausgabe und Formatierung verantwortlich. Rund um die Logik- und Kommunikationskomponente gibt es einen Zugriffsfilter, der regelt, welche Applikationen und Personen auf den Server-Datenbestand zugreifen darf. Dies kann entweder in der Webserver-Konfiguration direkt, mittels der System-User-Ids oder eigenen Benutzerdatenbanken, die nicht auf System-Benutzerdaten zugreifen, geregelt werden.

Serverseitige Anwendungen können beispielsweise für serverseitige Berechnungen, Konvertierungen und die Erstellung dynamischer Inhalte herangezogen werden. Dabei kann es sich um kommerzielle Software, Open-Source Komponenten oder eigene Entwicklungen handeln. Einige der moderneren GIS-Systeme lassen sich ebenfalls ans Web anbinden - Smallworld unterstützt als erstes GIS auch die XML Dialekte GML (Geography Markup Language) und künftig auch SVG (Scalable Vector Graphics). Datenbanken können dynamisch neue Daten entgegennehmen und benutzerdefinierte Selektionen vornehmen (siehe oben).

Verteilte Autorensysteme und Applikationsserver wie WebDAV und Zope helfen beim verteilten Erstellen, Editieren und Verwalten anderer Inhalte (v.a. auch konventionelle HTML und XML Files). Sie unterstützen oft auch Versionsmanagement und File-Locking, wie auch verschiedene Zugriffs-Level. Logfiles und Statistik-Module helfen beim Überwachen und Auswerten des Zugriffe. Index-Software, wie z.B. Harvest, helfen bei der Erstellung von Suchindizes und der Erstellung von Suchmaschinen über die Inhalte indizierbarer Files. Harvest unterstützt auch das Führen verteilter Indizes auf mehreren Webservern.

Abbildung 4.3: Architektur eines verteilten Höhleninformationssystems, Webbrowser mit Plugins
\includegraphics [width=0.8\textwidth]{verteiltes_system_browser.eps}

Auf der Webbrowser-Seite gibt es eine Reihe von Plugins und Extensions die zur Darstellung und Formatierung der übertragenen Daten auf dem Client dienen, sowie zur Ausführung client-seitiger Logik und Interaktivität. Dazu zählen das SVG-Plugin (Scalalable Vector Graphics) zur Darstellung von interaktiver 2D-Graphik, das VRML- oder später auch X3D-Plugin zur interaktiven Echtzeitvisualisierung von 3D-Graphik. Java und Javascript dienen zum Ausführen client-seitiger Applikationen und Interaktion, Cookies zum Abspeichern von Benutzereinstellungen. XML dient wie bereits erwähnt zum netzwerktransparenten Datenaustausch mit gleichzeitiger Validierung. CSS und XSL können für die client-seitige Transformation von Datenformaten oder deren Formatierung herangezogen werden. Schliesslich bieten sich DHTML (Dynamic HTML) und SMIL (Synchronized Multimedia Integration Language) für zeitlinienbasierte Animationen und Multimedia-Präsentationen an.


Andreas Neumann
2000-12-17