2 Aufbau und Arbeitsweise des Friesen

2.1 "Die FRIESE API" oder "Der FRIESE intern"
2.2 Struktur und Aufbau der Datenbankschnittstelle
2.3 Aus HTML mach WHTML
2.4 Unterschied zu vergleichbaren Technologien

2.1 "Die FRIESE API" oder "Der FRIESE intern"

Der Friese ist ein HTTP-Server. Doch was genau ist ein HTTP-Server? In diesem Kapitel klären wir grundlegende Fragen zum Client/Server-Modell und zum HTTP-Protokoll.

Aus der Sicht eines Programmierers ist das World Wide Web das größte Client/Server-System in der Geschichte der EDV. Es besteht aus unzähligen Servern und Clients. Ein typisches Client/Server-System besteht aus mehreren Clients, die mit Servern kommunizieren, damit diese bestimmte Aufgaben erledigen.

An dieser Stelle kommt HTTP ins Spiel. HTTP bedeutet Hypertext Transfer Protocol und ist, wie der Name schon sagt, ein Protokoll, das zum Senden und Empfangen von Nachrichten zwischen Client und Server benutzt wird. HTTP ist ein Protokoll, das nach dem Frage-Antwort-Prinzip arbeitet. Ein Programm auf dem Client schickt eine Anfrage zu dem Server. Der Server wartet auf ankommende Anfragen und startet für jede Anfrage einen eigenen Prozess, um die Anfrage zu bearbeiten. Wenn die Anfrage abgearbeitet wurde, schickt der Server eine Antwort zu dem Client und schließt den gestarteten Prozess wieder.

Der Friese als HTTP-Server bearbeitet eine Anfrage in mehreren Schichten: Fordert ein Browser eines Clients eine Seite vom Friesen an, wird als erstes überprüft, ob dieser Rechner überhaupt Zugriff auf den Friesen hat (AllowFrom in der Konfigurationsdatei). Steht der Client nicht in der Liste der erlaubten Zugriffe, schickt der Friese ein "HTTP error code" an den Browser des anfragenden Clients. Der Browser versteht diesen Fehlercode und gibt dann eine entsprechende Meldung an den Benutzer zurück.

Steht der Client jedoch in der Liste der erlaubten Zugriffe, so wird als nächstes der Mime-Typ überprüft. Die Abkürzung MIME steht für "Multipurpose Internet Mail Extensions". MIME-Typen sind ein Internetstandard, um Dateitypen zu klassifizieren. MIME-Typen werden bei der Kommunikation zwischen WWW-Server und WWW-Browser eingesetzt. Sowohl der Server als auch der Browser unterhält eine Liste mit ihm bekannten Dateitypen. Das System der Mime-Typen hat die Aufgabe, ein eindeutiges Identifizierungsschema für den Datentyp von Dateien bereitzustellen.

Nachdem der Mime-Typ überprüft wurde, schickt der Friese eine Antwort zum Browser des Clients und dokumentiert anschließend die Anfrage des Clients im Logfile.

2.2 Struktur und Aufbau der Datenbankschnittstelle

SQL (Structured Query Language) ist eine standardisierte Datenbanksprache, welche Aktionen auf relationale Datenbanken ermöglicht. SQL enthält Kommandos zum Erzeugen, Löschen und Modifizieren von Datenbankobjekten oder Daten. Nahezu jeder Datenbankhersteller stellt sicher, dass man mit SQL auf seine Datenbank zugreifen kann.

Für den Zugang zu Datenbanken von außen bietet Java (und damit auch der Friese) eine einfache Möglichkeit - die Java DataBase Connectivity oder kurz JDBC. Diese Schnittstelle erlaubt es dem Friesen, auf relationale Datenbanken zuzugreifen. Das Interface ist als Low-Level-API zum grundlegenden SQL-Zugriff entworfen worden. Es liegt an den verschiedenen Herstellern von Datenbanksystemen, ob JDBC-kompatible Treiber eingebaut werden, über die der Friese mit dem Datenbanksystem verbunden werden kann. Sofern sich die Datenbanken an die normale Standard-SQL-Syntax halten, sollte jedes Datenbankprodukt mit einem JDBC-kompatiblen Treiber verwendet werden können.

2.3 Aus HTML mach WHTML

Die Seitenbeschreibungssprache für Webseiten ist HTML (HyperText Markup Language). HTML ist eine sogenannte Auszeichnungssprache (Markup Language). Sie hat die Aufgabe, die logischen Bestandteile eines Dokuments zu beschreiben. Neben dem eigentlichen Text enthalten HTML-Dokumente spezifische Befehle, sogenannte TAGS. Tags sind genau definierte Befehlswörter, die in spitzen Klammern stehen.

Die normale Endungen einer HTML-Datei sind ".html" oder ".htm". Hat eine angeforderte Datei eine dieser Endungen, übermittelt der Friese diese HTML-Datei (eigentlich nur die Beschreibung einer Seite) an den Browser des Clients, der sie durch Aufruf einer URL (Uniform Resource Locator) angefordert hat, und baut daraus eine grafische Darstellung auf.

Diese Funktion bietet jeder klasische HTTP-Server. Hat eine HTML-Datei jedoch die frieseneigene Endung ".whtml", so weiß der Friese, dass diese Datei seine speziellen Tags enthalten könnte. WHTML-Dateien werden vom Friesen nach dem Aufruf auf ausführbare Funktionen in Form von seinen speziellen Tags durchsucht, die er dann an ausführende Routinen übergibt.