5.1 Rahmenbedingungen

Für die Implementierung des Prototyps wurde die Programmiersprache Python ([vR96c][vR96b][LW96]) ausgewählt. Python ist eine objekt-orientierte, frei verfügbare Interpretersprache, die standardmäßig eine Reihe von Klassenbibliotheken ([vR96a]) zur Netzwerkkommunikation mitbringt. Zur Realisierung eines Monitorelements mit graphischer Benutzeroberfläche stehen Schnittstellen zu mehreren Widget-Bibliotheken zur Verfügung. Unter diesen wurde Tk ([Ous94]) ausgesucht, da diese für mehrere Plattformen frei verfügbar ist. Weiterhin kann Python unter Benutzung der vorhandenen C/C++ Schnittstellen mit geringem Aufwand um eigene Klassenbibliotheken erweitert werden. Python-Implementierungen existieren für viele UNIX-Plattformen, darunter Linux, HPUX, AIX, Minix, SCO Unix, Sun OS, NeXt und Digital Unix. Eine Portierung auf die Microsoft Windows Welt ist ebenfalls verfügbar.

Als verwendete Basisprodukte wurden die ebenfalls frei verfügbaren Programme PostgreSQL 6.1 (Datenbankmanagementsystem, [JC+96]) und Glimpse 4.0 (Volltextindizierer, [MS94]) herangezogen.

PostgreSQL ist weitgehend zur „Structured Query Language“ (SQL, [BED96]) kompatibel und unterstützt objekt-orientierte Datenmodelle. Die verschiedenen plattformübergreifenden Schnittstellen (JDBC, ODBC, C, C++) sorgen dafür, daß PostgreSQL sehr geeignet für den Einsatz in verteilten Systemen ist.

Der Volltextindizierer Glimpse basiert auf einem Werkzeug zur Mustersuche in Volltexten, namens „agrep“ ([WM96]) und wurde bereits innerhalb des Projekts Harvest ([BDHM95]) erfolgreich eingesetzt. Auch wenn Glimpse nicht die speziellen Funktionalitäten von SGML-Indizierern aufweißt, so qualifizierte sich dieses Programm durch seinen hohen Grad an Konfigurierbarkeit und auf Grund der freien Verfügbarkeit.

Beide Basisprodukte sind auf einer Reihe von Plattformen lauffähig, in erster Linie auf den verschiedenen UNIX-Plattformen.

Als Bitstromspeicher wurden über das „Network Filesystem“-Protokoll (NFS) verbundene Massenspeicher (Festplatten) eingesetzt. NFS-Implementierungen existieren ebenfalls für alle gängigen Plattformen. Der Zugriff auf den Bitstromspeicher erfolgt über Verzeichnis- bzw. Dateinamen.

Der Prototyp wurde unter Linux auf Intel-Architekturen und Digital-Unix auf Alpha-Architekturen realisiert. Die prototypische Implementierung, weist gegenüber dem Entwurf einige Restriktionen auf:

Wie in Kapitel 3 beschrieben, sollen die verschiedenen Komponenten über eine zuverlässige Netzverbindung unter Benutzung des TCP/IP-Protokolls miteinander kommunizieren. Zu diesem Zweck werden Sockets der Unix-Domäne eingesetzt ([Ste92]), die dieses Protokoll unterstützen. Der damit zur Verfügung stehende Mechanismus bietet einen verbindungsorientierten Dienst zur Kommunikation zwischen Prozessen auf demselben oder verschiedenen Computern im Netz. Da diese Art der Kommunikation als zuverlässig gilt, wurde auf Verfahren zur Fehlerkorrektur bei der Implementierung verzichtet.