Entsprechend der Aufgabenstellung soll ein WWW-Browser als Benutzerschnittstelle zur Workflow-Anwendung dienen. Dadurch muss bei den Benutzern keine spezielle Client-Software installiert werden, da ein WWW-Browser in der Regel bei einem Betriebssystem bereits vorhanden ist oder einfach und kostenlos installiert werden kann. Um mit möglichst allen gängigen Browsern kompatibel zu sein, haben wir uns in diesem FoPra auf HTML 3.2 beschränkt. Es wurden keine Skript-Sprachen, die beim Client ausgeführt werden (z.B. JavaScript), oder JAVA-Applets verwendet. Da verschiedene Textbrowser keine Frames sinnvoll darstellen können, wurde auch auf dieses Gestaltungselement verzichtet. Letztlich war es unser Ziel, dass jeder Browser von Lynx bis Internet Explorer - auch in einer evtl. älteren Version - die generierten HTML-Seiten verarbeiten und darstellen kann.
Die Kommunikation zwischen Client und Server erfolgt auf Anwendungsebene
mittels HTTP (Abbildung ). Dabei ist zu berücksichtigen,
dass dieses Protokoll zustandslos ist. Ein neuer HTTP-Request eines
Clients kann allein mit den Mitteln von HTTP nicht mit vorhergegangenen
Anfragen in Zusammenhang gebracht werden. Hier ist zusätzlicher Aufwand
bei der Entwicklung der Anwendung notwendig, um dieses Problem zu
kompensieren. Der Client spricht durch einen URL eine bestimmte Ressource
auf einem Server an. Handelt es sich um ein Dokument (z.B. HTML-Dokument,
Grafik), schickt der Server (entsprechende Zugriffsrechte vorausgesetzt)
dieses direkt an den Client zurück. Handelt es sich um ein Skript
oder ein Programm, kann er es zur Ausführung bringen. Dem Skript bzw.
dem Programm können vom HTTP-Server Umgebungsvariablen übergeben werden,
die u.a. vom Client zusammen mit der URL übermittelt wurden. Die Ausgabe
des Programms wird dann an den Client zurückgeschickt. Im FoPra wird
diese Methode verwendet, um HTML-Seiten dynamisch zu generieren.
Im einzelnen wurde als HTTP-Server Apache 1.3 mit SSL-Unterstützung
unter Linux eingerichtet. Die SSL-Unterstützung ist zur Authentifizierung
mittels Zertifikaten notwendig (Abbildung ). Für
die dynamische Generierung der HTML-Seiten wurde PHP (PHP Hypertext
Preprocessor, früher: Personal Homepage) in der Version 4 verwendet.
Hierbei handelt es sich um eine Skriptsprache, die auf dem Server
ausgeführt wird. Der PHP-Code kann zusammen mit HTML-Code in einem
Dokument enthalten sein, wobei der PHP-Anteil durch spezielle Tags
zu kennzeichnen ist. Zur Laufzeit werden vom PHP-Interpreter die PHP-Anweisungen
im Dokument verarbeitet und durch eine eventuelle Ausgabe ersetzt.
Das so umgearbeitete Dokument enthält nun nur noch Code der beim Client
verarbeitet werden kann, also HTML, JavaScript o.ä. Die Entscheidung
für PHP wurde aus folgenden Gründen getroffen:
PHP kann klassisch über das Common Gateway Interface (CGI) oder als Webserver-Erweiterung (bei Apache: Dynamic Shared Object - DSO) benutzt werden. Die Verwendung als Webserver-Erweiterung hat den Vorteil, dass die Skripte nicht extern in jeweils eigenen Prozessen, sondern intern innerhalb des Webserver-Prozesses ablaufen. Dadurch wird eine bessere Performance erreicht.
Die PHP-Skripte greifen zur Generierung der HTML-Seiten auf Informationen zurück, die in einer Datenbank enthalten sind. Dies sind zum einen Informationen die mit dem Workflow in Zusammenhang stehen (z.B. Name des geraden aktuellen Workflowschritts), zum anderen Verwaltungsinformationen, die im Workflow dargestellt werden sollen (z.B. für eine Klausur reservierte Räume). Von PHP wird der Zugriff auf zahlreiche Datenbank Management Systeme (DBMS) durch Funktions-Bibliotheken unterstützt. Experimentiert wurde mit MySQL 3.23, PostgreSQL 7.0 und Interbase 6. Eingerichtet wurde die Datenbank letztlich unter PostgreSQL. PostgreSQL hat folgende Vorteile, durch die es sich zum Teil von den anderen DBMS unterscheidet: