[ Inhalt ] [ Index ] Festlegung und Definition der Spezifikation der Lösung Erweiterung der VDM-Klassenbibliothek

Trennende Zerlegung der Server- und Clientaufgaben

Dem VDM Server sollen grundsätzlich so viele Aufgaben wie möglich übertragen werden. Bei einigen ist dies unmöglich, dies betrifft die Kodierung und -Dekodierung von binären Daten, die vom VDM-Server im MIME-Format vorgehalten werden müssen, da TCL eine Verarbeitung des ASCII-Codes 0 nicht zuläßt und jede Zeichenkette mit diesem Zeichen terminiert. Daraus folgt, daß Kodierung und Dekodierung von binären Daten wie Bildern ausschließlich durch Klienten erfolgt, die sich zu diesem Zweck eines externen Konverters bedienen.  

Die Trennung der Aufgaben soll zunächst hinsichtlich des Bibliotheksbrowsers und -managers erfolgen, wenn diese als Klient eingesetzt werden. Während der Server die Datenbank auf seinem Host lädt und speichert, wird der Import und Export von Datenbankinhalten als auch der Datenbank selbst auf dem Host der Klienten durchgeführt.

Da Browser und Manager den Datenbankmanager über eine Pipe aufrufen, muß sich der VDM Datenbank Klient, der auf dem Host des Klient anstelle des Datenbankmanagers aufgerufen wird, genauso verhalten, wie es der Datenbankmanager auf dem gleichen Host getan hätte. Er muß diesen also emulieren. Die definierten Funktionen werden vom VDM Klient als Stumpf (stub) definiert. Die Anfragen werden an den Server weitergeleitet, von diesem beantwortet und an den Klienten zurückgegeben, der die Antwort seinerseits an das aufrufende Programm zurückgibt.

Da der Bibliotheksbrowser teilweise davon ausgeht, daß insbesondere beim Export von Datenbankinhalten der Datenbankmanager eine Datei auf dem gleichen Host erstellt, muß in diesen Fällen der VDM Datenbank Klient diese Aufgabe übernehmen, und die Datei auf dem Host des Klienten erstellen. Die Abwicklung dieser Funktionen wird über die Protokolle definiert, die diesem Abschnitt folgen.



VDM Class Library