[ Inhalt ] [ Index ] Erweiterungen für MIME Spezifikation der Lösung Trennende Zerlegung der Server-

Festlegung und Definition der Kommunikationsprotokolle

Den gesamten Datenverkehr zwischen Tools, den VDM Klienten als auch dem VDM Server regeln Kommunikationsprotokolle, die verbindlich die Art der ausgetauschen Daten vorschreiben und auch die Flußkontrolle regeln.  

VDMDBM und VDMHELP zu VDM Datenbankmanager

  Die Kommunikation zwischen Bibliotheksbrowser und -manager war Gegenstand der ersten Analysearbeiten. Bereits hier war eine verbindliche Art des Datenaustausches definiert. Der Datenbankmanager arbeitet als Filter, akzeptiert Befehle über die Standardeingabe und gibt das Resultat über die Standardausgabe zurück. Die Flußsteuerung legt bei der Ausagbe die Größe der Daten fest, die vom Klienten gelesen werden müssen, da das System ansonsten ,,hängt``. Die Kommunikation ist in den TCL-Dateien commdbm.tcl und communicate.tcl programmiert, und wurde unverändert gelassen.

Das Protokoll besteht aus insgesamt drei Kommandos für das Absetzen von Befehlen an den Datenbankmanager. Diese sind:

evalCmd <arg1> <arg2> <...>

evalMessage <arg1> <arg2> <...>

evalMessageToFile <file> <arg1> <arg2> <...>

exit

Das Kommando evalMessageToFile erwartet als ersten Parameter einen Dateinamen, in welche die durch den Befehl erzeugte Ausgabe geleitet wird.Wärend für evalCmd keine Antwort und lediglich die stillsschweigende Ausführung des Kommandos erwartet wird, geben evalMessage und evalMessageToFile eine Antwort in folgendem Format zurück:

error | ok <nl>

length <nl>

message <nl>

Die erste Zeile gibt an, ob das Kommando erfolgreich ausgeführt wurde, und besteht entweder aus error oder ok aus. Es folgt in der nächsten Zeile die Länge der Nachricht, die übermittelt wird, einschließlich aller Zeilenumbrüche. Anschließend wird die Nachricht empfangen, die mit einem Zeilenumbruch abgeschlossen ist.

Wenn der vdmdbm oder vdmhelp beendet werden, wird das Kommando exit an den Datenbankmanager abgesetzt, um diesen zu beenden.

VDMDBM und VDMHELP zu VDM Client zu VDM Server

VDMDBM und VDMHELP zu VDM Client

  Da sich der VDM Client im kompatiblen Modus genauso verhält wie der Datenbankmanager, versteht dieser das gleiche Protokoll, das in [*] dargestellt ist. Der

evalMessageToFile

Befehl wird durch den Client in das Kommando

evalMessage

verwandelt und an den Server weitergereicht. Das Resultat wird anschließend vom Client in die angegebene Datei geschrieben. Das Kommando

exit

wird vom VDM Client abgefangen und führt nicht zur Beendigung des VDM Servers. Vielmehr meldet sich der Client vom Server ab und terminiert anschließend.

VDM Client zu VDM Server

Der VDM Client verständigt sich mit dem VDM Server ausschließlich über Remote Procedure Calls, die auf der Sitzungschicht basieren. Da von der Sitzungsschicht abstrahiert werden kann, ist es letzendlich belanglos, wie das Protokoll der Sitzungsschicht im einzelnen implementiert sind. Die Funktionalität ändert sich durch die Implementierung des Protokolls nicht, da die Dienstelemente vom Modell vorgegeben werden. Dies gilt auch für die Implementierung der RPCs selbst, dessen einfaches Protokoll unter [*] dargestellt ist.


[ Inhalt ] [ Index ] Erweiterungen für MIME Spezifikation der Lösung Trennende Zerlegung der Server-

VDM Class Library