PRISMA ist eine Anwendung mit Schwerpunkten in den Bereichen von Client-Server-Mechanismen und graphischen Oberflächen. Ziel des Projektes ist es, auf verschiedenen Rechnern verteilte, komplex strukturierte Multimediadaten (Texte, Bilder, Audio- und Videodaten) unter einer einheitlichen anwenderfreundlichen Benutzungsoberfläche zu verwalten. Die Organisation der Daten erfolgt mit Hilfe einer verteilten objektorientierten Datenbank. Dabei sind Plattformunabhängigkeit sowie Daten- und Systemsicherheit wesentliche Designkriterien. PRISMA nutzt den WWW-Dienst des Internet als Kommunikationsmittel. Die Datenabfrage und die Datenmanipulation werden über Formulare in Form von HTML-Seiten realisiert. In analoger Weise werden die Rechercheergebnisse in dynamisch generierte HTML-Seiten verpackt. Dadurch ist gewährleistet, daß Benutzer alle Datenbankoperationen mittels der vertrauten WWW-Browser durchführen können.
Durch die hohe Integration ins Internet bietet PRISMA vielfältige Anwendungsbereiche. So ermöglicht es z.B., automatisch ganze HTML-Seiten, nur Teile daraus oder lediglich URL-Verweise in die Datenbank zu übernehmen. Auf diese Weise kann etwa ein Datenbankadministrator über ein in PRISMA integriertes Werkzeug Metainformationen erstellen, um z.B. im Rahmen einer kunstwissenschaftlichen Anwendung eine Führung durch ein virtuelles Museum zusammenzufügen. Damit wird PRISMA zu einem mächtigen Mittel für ein Autorensystem, einen Redaktionsarbeitsplatz oder ähnliche Anwendungen. Es steht im Zusammenhang mit den aktuellen Bestrebungen, Datenbanken an das WWW anzubinden und reine Informationsseiten zu interaktiven Seiten weiterzuentwickeln, um sie als Schnittstelle für Anwendungen zu nutzen.
Von Hyper-G und ähnlichen Ansätzen unterscheidet sich das PRISMA-Konzept in Ziel und Umsetzung. PRISMA ist als offenes und modulares System konzipiert. Die verwendeten Datenbanken sind nicht proprietär. Durch die Entwicklung von Schnittstellen bzw. Verwendung von Standards soll es jederzeit möglich sein, andere Datenbanken an dieses System anzuschließen und so den "externen Datenraum" zu erweitern. Außerdem verwendet PRISMA gängige WWW-Browser als Benutzerschnittstellen. Zur Implementierung von Benutzeroberflächen der wichtigsten Werkzeuge werden nur HTML und JAVA verwendet. Dadurch wird weitestgehende Plattformunabhängigkeit des Systems erreicht. Die Eingabe und die Organisation von Daten ist auch Ungeübten schnell möglich. Über in HTML-Formulare verpackte Schnittstellen zu Werkzeugen besitzt ein Datenbankadministrator einen "visuellen" Zugang zur Datenbank, mithin eine Möglichkeit, im Bereich seiner Zuständigkeit auch das Datenbankschema (innerhalb gewisser Grenzen) zu verändern. PRISMA verwaltet primär keine WWW-Dokumente - was durchaus auch möglich wäre - sondern Objekte für die Speicherung von Multimediadaten und Metainformationen (z.B. URLs und Strukturen ganzer Dokumentklassen sowie ihrer Hierarchien). Die Datenbankebene und die Präsentationsebene sind damit strikt getrennt, die Kommunikation zwischen den beiden Ebenen erfolgt über standardisierte Schnittstellen.
Zur Evaluierung des Konzepts wurde ein Informationssystem zur Kunstrichtung des Kubismus implementiert. Die Archivierung und Verwaltung multimedialer Anwendungen ist in einem solchen Themenbereich möglich und sinnvoll. Der erforderliche Datenbestand soll im Rahmen des Projekts erstellte Daten und Informationen, Daten aus externen Datenbanken sowie WWW-Daten enthalten.
Letzteres ist wegen der fehlenden Struktur im Datenbestand des WWW ein großes Problem. Die dort auffindbaren Daten lassen sich grundsätzlich in zwei Kategorien unterteilen. Zum einen findet man dort "flüchtige" Daten, die sich als ein Gebilde aus HTML-Dokumenten präsentieren und über einen WWW-Server direkt aus einem Dateisystem aufgerufen werden. Diese Daten sind nach einer Aktualisierung ihres Inhalts oder insbesondere nach einem Namenswechsel der Datei nicht mehr auf dieselbe Weise wie vorher aufzufinden, bzw. ganz verschwunden. Zum anderen lassen sich "beständige" Daten finden, die von einer Datenbank verwaltet werden. PRISMA soll beide Bereiche vereinen und den berüchtigten "ERROR 404 - URL not found" vermeiden helfen, indem diesen Informationsquellen ein System verteilter objektorientierter Datenbanken als Verwaltungsdatenbank übergeordnet wird. In diesem System werden typgleiche Daten aus den verschiedenen Quellen als Referenzen ("Adressen" der Originaldatensätze) oder, falls nötig, in Kopie transparent verwaltet. Der Benutzer bekommt so einen gesicherten und einheitlichen Zugriff auf den Gesamtdatenbestand des Informationssystems.
Figur 1: Das Konzept von PRISMA
Grundsätzlich läuft der Datentransport zwischen einem Datensuchenden und dem Informationssystem über dieselbe Infrastruktur wie bei einer herkömmlichen Suche im Internet. Es soll ein plattformunabhängiger Zugriff auf das System über einen WWW-Zugang ermöglicht werden. Hier gibt es aber unterschiedliche Nutzungsweisen, abhängig davon, welche Art des Zugriffs ein Benutzer wählt bzw. welche Zugriffsrechte auf das Datenbanksystem er besitzt.
Der einfache Zugang zu Daten des PRISMA-Informationssystems erfolgt über WWW-Browser. Diese interagieren mit einem WWW-Server auf seiten des Informationssystems, das die angeforderten Daten bearbeitet und versendet. Dem Gastnutzer wird der Datenbestand vorstrukturiert, wodurch eine geführte Exploration möglich wird. Eingeschränkte Datenbankaktionen und themenbezogene Recherchen sowie u. U. selbstlaufende Präsentationen sind hier vorgesehen.
Der KDBA des Informationssystems, s. Fig. 1, hat weitreichende Möglichkeiten der Datenmanipulation mittels Werkzeugen, durch die je nach Zugriffsrechten der komplette Datenbestand des Informationssystems erreichbar und bearbeitbar wird. Diese Tools stellen eine plattformunabhängige Datenbank-Benutzerschnittstelle dar, die über WWW erreichbar ist. Die üblichen Datenbankadministrationsfunktionen wie das Einrichten und Setzen von erlaubten Zugangspfaden ist in PRISMA durchaus möglich.
Aufgrund seiner Komplexität erfordert ein Informationssystem dieser Art eine Arbeitsteilung in der Datenbankverwaltung. Hier arbeiten zwei Datenbankadministratoren zusammen. Für die inhaltlichen Aufgaben ist der bereits erwähnte KDBA verantwortlich, für die informatorischen ein IDBA. Beide Administratoren können den PRISMA-Datenkern verändern.
Der Gesamtaufbau des Informationssystems ist der Arbeitsbereich des IDBA. Er ist z. B. für das Anbinden neuer Informationsquellen zuständig. Das Strukturierungskonzept für das Informationssystem stimmt der IDBA mit dem KDBA ab. Ersterer organisiert die syntaktische Konzeption (das Design) der Datenbank; letzterer ist für die sinnfällige, also die semantische Strukturierung der abgelegten und weiter eingehenden Daten des Informationssystems zuständig. Eine Änderung der Gesamtstruktur durch den KDBA ist in begrenztem Maße vorgesehen. Grundlegende Änderungen erfolgen nach Absprache zwischen den beiden Administratoren durch den IDBA.
Wie aus Fig. 1 ersichtlich ist, verwaltet PRISMA Referenzen zu Daten aus einem externen Datenraum, wie z. B. zur objektorientierten Datenbank GemStone, die aus einem Vorgängerprojekt zur Verfügung steht und Bilddaten zum Werk Picassos enthält. Während die Struktur von GemStone bekannt ist, sind andere externe Datenbanken wegen ihres unbekannten Aufbaus problematisch, obwohl sie ebenfalls eine Quelle für kunstwissenschaftliche Daten darstellen. Hier kann es sich um weitere objektorientierte bzw. auch relationale Datenbanken handeln, die mit dem Informationssystem verbunden werden. Eine gemeinsame Verwaltung solcher heterogener Daten ("föderative Datenbankorganisation") ist eines der Hauptprobleme, die im Zuge des Projekts angegangen werden. Ein derzeit verfolgter Ansatz ist die Verwendung von CORBA und die prototypische Umsetzung relationaler Schemata in objektorientierte.
Neben diesen "beständigen" Daten bietet das Internet/WWW mit seiner chaotischen Organisation von HTML-Dokumenten eine weitere Quelle der Information. Zu deren Erschließung wurde Web-Mole [8] entwickelt, ein Analyse- und Strukturierungswerkzeug für HTML-Seiten. Es dient zum Auffinden und Aktualisieren der "flüchtigen" Daten. Zur Analyse und Auswertung der Dokumentstruktur, die von einer bestimmten URL ausgeht, bedarf es eines Werkzeugs, das in der Lage ist, HTML-Dokumente zu parsen. Nach der Analyse wird die Zusammenhangsstruktur der Dokumente für den KDBA des Informationssystems übersichtlich dargestellt. Bei Bedarf kann er ganze Dokumente, Teile daraus oder lediglich Adressen extrahieren. Ein weiteres Ziel von Web-Mole ist eine weitgehende Automatisierung der Recherche im WWW.
Ein weiterer Modul ist der User Dependent Image Designer (UDID). Es ist ein graphenbasiertes Werkzeug zur Modellierung von individuellen Benutzerschnittstellen und soll eine graphische Oberfläche bieten, mit deren Hilfe Objekte aus der Datenbank ausgewählt und neu gruppiert bzw. zu neuen Strukturen zusammengefaßt werden können. So soll er dem KDBA ermöglichen, z. B. via Internet besorgte Bilder, Bildbeschreibungen, Lebensläufe und andere Daten zu einer "Führung" durch ein virtuelles Museum zusammenzustellen. Besonderer Wert wird bei der Implementation von UDID auf eine intuitiv nutzbare Oberfläche gelegt. Anwender sollen auch ohne tiefergehende Datenbankkenntnisse (Abfragesprachen u.ä.) in der Lage sein, die von ihnen benötigten Daten im Informationssystem zu finden und nach ihren Vorstellungen zu gruppieren.
Figur 2: Ein Eindruck für die aktuellen Möglichkeiten der (noch verbesserungsfähigen) Benutzeroberfläche für die Administratoren. Der Bildschirmschnappschuß zeigt eine dreiteilige Frame-Seite. Der Teil in der linken oberen Ecke dient zur Auswahl der gewünschten Aktion. Durch Anklicken des entsprechenden Links -im konkreten Fall "Bearbeiten/Objekte nach Klassen"- wird der linke untere Frame gefüllt. Hier wählt der Administrator das Objekt und die Operation, wodurch der rechte Frame mit dem Editierformular gefüllt wird. Dieses Formular wird dynamisch aus der Klassenbeschreibung und dem Objektzustand generiert.
Bei der Konzeption von PRISMA waren wesentliche Entwurfskriterien die Plattformunabhängigkeit, die Programmiersprachenunabhängigkeit und die Unabhängigkeit von einer speziellen Anwendung. Untersuchungen in einer Reihe von Problemfeldern haben gezeigt, daß die PRISMA-Konzepte auch auf andere Anwendungen als die kunstwissenschaftliche übertragen werden können. Auf solche wird später noch eingegangen.
Durch den Einsatz von WWW-Browsern als Bedienoberfläche des Systems, wird eine weitgehende Plattformunabhängigkeit erreicht. Viele potentielle Anwender werden bereits mit der Bedienung von WWW-Browsern vertraut sein, so daß sich die Benutzer bei PRISMA in bekannter Umgebung befinden, gleichgültig, ob sie auf PC, Macintosh oder Workstations arbeiten.
Das System wird dadurch eine Client-Server Anwendung, wobei die Clients nicht auf der Servermaschine laufen müssen, sich nicht einmal im gleichen LAN, sondern bekanntermaßen irgendwo im Internet befinden können. Jeder Rechner mit Internetanschluß ist ein potentieller Client-Rechner.
Durch die zusätzliche Verwendung von Java lassen sich im Vergleich zu reinem HTML Bedienoberfächen flexibel gestalten. Die Erfahrung zeigte, daß sich schon mit Hilfe von HTML-Formularen brauchbare Werkzeuge zur Manipulation Verwaltungsdatenbanken realisieren lassen. Mit Java stehen alle Möglichkeiten moderner Fensteroberflächen innerhalb des Browsers zur Verfügung. Durch die Entscheidung: nur HTML und Java können Bedienoberflächen entsprechend den Bedürfnissen der Anwenders individuell gestaltet werden.
Zur Realisierung dieses Konzeptes wurden Schnittstellen und Protokolle entwickelt, die die Kommunikation zwischen einem WWW-Server und der von PRISMA verwendeten OO-Verwaltungsdatenbank (Versant) ermöglichen. Dies wurde zum großen Teil über CGI-Scripte realisiert.
PRISMA soll unabhängig von den verwendeten OODB-Systemen und den eingebetteten Programmiersprachen sein. Die Hersteller binden ihre Systeme eng an eine konkrete Programmiersprachen wie z.B. C, C++ und Smalltalk für Datendefinition und Datenmanipulation. Daraus resultieren in der Regel unterschiedliche Objektmodelle. (Man denke nur etwa an die Verschiedenheit von Smalltalk und C++ bezüglich Typisierung.) Um von einer konkreten Programmiersprache unabhängig zu sein, verwendet PRISMA ein Objektmodell, das auf dem von der OMG (Object Managment Group) [2] vorgeschlagenen Standard beruht. Zur Erreichung dieses Ziels ist beabsichtigt IDL (Interface Definition Language) [3, 9] einzusetzen, die Teil des CORBA Regelwerks ist. IDL ist eine rein deklarative Sprache und beschreibt nur die Schnittstellen der jeweiligen Klassen. Über standardisierte Mappings wird die Brücke von IDL zu einer konkreten Programmiersprache geschlagen. Zur Zeit existieren solche Mappings für C, C++ und Smalltalk.
Figur 3: Das zugrundeliegende Schichtenmodell
IDL kann für PRISMA aber nur eine Zwischensprache sein. Klassen bzw. Objekte sollen für den Benutzer "sichtbar" werden. Mit Hilfe von PRISMA-Werkzeugen ist es möglich, im WWW-Browser neue Klassen zu "bauen", zu gegebenen Klassen neue Instanzen zu erzeugen und bereits vorhandene Objekte zu manipulieren. Zum Ändern der Attributwerte eines Objekts wird beispielsweise ein Formular erzeugt, das zunächst die momentanen Werte anzeigt, den Benutzern aber auch ermöglicht, die Werte zu ändern. Das Erzeugen eines solchen Formulars ist dabei zu jedem Zeitpunkt abhängig von der zugrundeliegenden Datenbankklasse bzw. vom aktuellen Zustand des Datenbankobjektes, da es dynamisch, aus der in IDL vorliegenden Klassenbeschreibung erzeugt wird. Ändert sich die Klasse, etwa durch Hinzufügen eines neuen Attributes, wird anschließend auch ein entsprechend angepaßtes Formular erstellt. Diese Funktionalität spiegelt sich in der graphischen Objektmanipulation bzw. im IDL-Code wieder und wird durch den IDL-Analysator/Generator vermittelt, wie es die Figur 3 zeigt.
Eine den individuellen Wünschen der Benutzer gemäße Darstellung der Datenobjekte ist ein weiteres zentrales Problem. Besteht ein darzustellendes Objekt aus einem Bildobjekt und einem Textobjekt, hat der Benutzer die Möglichkeit, Format und Reihenfolge der logischen Bestandteile frei zu wählen. Dazu definiert jede PRISMA-Klasse zunächst eine Default-Darstellungsmethode. Objekte einer bestimmten Klasse können diese Methode benutzen, um sich beispielsweise in einem WWW-Browser zu präsentieren. Jedem Objekt kann aber vom Benutzer eigene Darstellungsmethoden mitgegeben werden. Dazu wird mittels eines noch zu entwickelnden Style-Editors die Möglichkeit geschaffen, Attribute für die Darstellung zu setzen und dadurch die Standardausgabe durch neue Methoden zu modifizieren. Diesem Editor wird eine über SGML (Structured Generalized Markup Language) [10] zu definierende Sprache zugrunde liegen.
Wie aus dem vorangegangenen ersichtlich ist, bestehen zwar gewisse Beziehungen zwischen dem vorgestellten Projekt und Hyper-G, PRISMA geht aber in seiner Funktionalität über dessen Möglichkeiten hinaus. Das in den Frühzeiten des WWW an der TU Graz entwickelte leistungsfähige Hyper-G [4] zielt vornehmlich auf das Problem der Wahrung von Konsistenz bei einer Vielzahl untereinander verlinkter WWW-Dokumente. Zusätzlich zu den Dokumenten werden Metainformationen, wie z.B. Erstellungs- und Änderungsdatum, sowie ausführliche Informationen zur Verzweigungsstruktur gespeichert. Durch die Verwendung bidirektionaler Links werden Verweise auf nicht mehr bestehende Seiten vermieden. Zum Speichern der Dokumente bedient sich Hyper-G eines eigens entwickelten objektorientierten Datenbanksystems und spezieller WWW-Clients, die die volle Funktionalität dieses Systems unterstützen. Im Gegensatz zu PRISMA kann Hyper-G also lediglich statische HTML-Seiten verwalten.
Auch in einer Reihe anderer Projekte wird die Technik verwendet, sowohl die Anfrage an eine Datenbank als auch das Ergebnis der Recherche in HTML zu verpacken [1]. Ihnen fehlt aber z.B. die Funktionalität, die über das Internet und aus externen DB beschafften Daten lokal zu verwalten und neu zu strukturieren.
Durch die flexible Strukturierbarkeit, insbesondere durch die Hinzunahme von Methoden und Attributen zu den Objekten, lassen sich neuere Ansätze, wie sie in den Data-Warehouse-Konzepten insbesondere für relationale Datenbanken angedacht werden, durch PRISMA in die Welt der objektorientierten Datenbanken transferieren.
In einer späteren Phase unseres Projekts ist daran gedacht, die Datenbankobjekte mit Hilfe von SGML oder HyTime zu spezifizieren. HyTime ist eine auf SGML-Standard aufbauende Dokumentbeschreibungssprache, die die besonderen Probleme bei der Beschreibung von Hyper- oder Multimediadokumenten löst. Das Datenmodell soll mit SGML bzw. HyTime spezifiziert und alle Datenbankobjekte als SGML/HyTime-Dokumente definiert werden. Um diese Dokumente zu manipulieren oder neue zu konstruieren, müssen SGML/HyTime kompatible Operatoren bzw. Konstruktoren entwickelt werden. Anfragen an die Datenbasis orientieren sich an der Dokumentstruktur. Eine spezielle Sicht auf den Datenbestand wird als Einschränkung auf bestimmte Dokumente bzw. Dokumentteile definiert.
Für die Suche im Internet gibt es eine Reihe von Suchmaschinen, deren Ergebnisse auch in PRISMA genutzt werden können. Die Besonderheit von Web-Mole liegt in der im Werkzeug integrierten Darstellung der Vernetzung - es gibt z. B. eine mittels VRML realisierte dreidimensionale Darstellung - der Dokumentstruktur und der Möglichkeit des Downloads der gefundenen Dokumente [9].
Im Bereich von Bibliographien kann über ein Informationssystem zielgerichteter gearbeitet werden als über eine konventionelle Recherche in Bibliothekskatalogen. In Verbindung mit einem solchen System können Bibliographien, Biographien, Daten, Bilder usw. thematisch aufbereitet werden und sind schnell verfügbar. Eine Aktualisierung von Daten zwischen den verteilten Stellen des Systems kann schnell erfolgen.
In der Forschung kann ein über WWW erreichbares Informationssystem mit Anschluß auch an andere Datenbanken ein Forum zur Information, zum wissenschaftlichen Austausch und zur Projektkoordination werden. Eine grafische Oberfläche bietet im Bereich der Bild- und Tonwiedergabe erweiterte Darstellungsmöglichkeiten. Die Option zu Datenbankabfragen oder eine reine Präsentation der Forschungsergebnisse mittels WWW-Standards bieten Möglichkeiten, die von herkömmlichen Printmedien nicht erreicht werden. Dies läßt eine Verwendung als Verwaltungssystem für den Austausch gemeinsam genutzter Daten z.B. zwischen Verlagen zu. Neue Wege der wissenschaftlichen Publikation lassen sich hier erdenken. Besonders geeignet scheint PRISMA aber als Informationssystem für die Verwaltung von Museums- bzw. Bibliotheksdatenbanken zu sein. Auch in bisher wenig vom Computer erreichten Gebieten wie z.B. der Museumspädagogik kann die Möglichkeit des Internet-Zugangs zu Multimediadaten neue Darstellungswege eröffnen.
In Schulen wird seit Jahren der Computereinsatz im Unterricht erprobt. In einigen Fächern erwies sich das Hilfsmittel Computer bisher als wenig brauchbar. Für einen Unterrichtseinsatz könnte ein über WWW leicht erreichbares und erweiterbares Informationssystem eine hilfreiche Ergänzung des Unterrichtsangebots darstellen. Unterrichtseinheiten für die universitäre oder schulische Lehre können gezielt zusammengestellt werden.
[2] Cattell, R.G.G. (Hrsg.)
The Object Database Standard: ODMG-93
Morgan Kaufmann Publishers, Inc., 1994
[3] CORBA A Giude to Common Object Request Broker Architecture
McGraw-Hill 1995
[4] Dalitz, W.; Heyer, G.
Hyper-G. Das Internet-Informationssystem der 2. Generation
Dpunkt 1995
[5] Göttler, H./ Himmelreich, B.
Modelling Object-Oriented Databases by Attributed Two-Level Graph Grammars
Dagstuhl-Seminar-Report 155 'Graph Transformations in Computer Science'
(Dagstuhl 08. - 13.09.96), H. Ehrig / U. Montanari / G. Rozenberg / H. J.
Schneider (eds.), S. 31 - 32.
[6] Himmelreich, B.
PARES - Ein Bildinformationssystem,
in: Objektspektrum, Nr 4/95, ISSN 0945 - 0491.
[7] Himmelreich, B.
Spezifikation von Zustand und Dynamik objektorientierter Datenbanken durch Graphgrammatiken
Dissertation, Universitaet Mainz 1995
[8] Krimm, J.
Interpretation und Darstellung der Informationsstrukturen des WWW
Diplomarbeit, Universität Mainz, to appear 1997
[9] Orfali, R./ Harkley, D./ Edwards, J.
The Essential Distributed Objects Survival Guide
New York u.a. (1996)
[10] Rieger, W.
SGML für die Praxis. Ansatz und Einsatz von ISO 8879
Springer 1995
[11] Rutledge, L.; Buford, J.F.
HyTime A Standard for Hypermedia Document Systems
Springer 1996
[12] Siegel, R.
CORBA Fundamentals and Programming
Wiley 1996
[13] Supowit, K. J./Reingold, E.M.
The complexity of drawing trees nicely
Acta informatica, 18, (4), 377-382 (1983)
[14] Szilllat, H.
SGML Eine praktische Einfuehrung
Int. Thomson Pub. 1995
[15] Tillford, J. S.
Tree drawing algorithms
M.S. Thesis, Department of Computer Science, University of Illinois, Urbana,
IL, Report UIUCDCS-R-81-1055, April 1981
[16] Wetherell, C.S./Shannon, A.
Tidy drawings of trees
IEEE Trans. Software Engineering, SE 5, (5), 514-520 (1979)