[ Inhalt ] [ Index ] Durchführung der Konfiguration Referenzteil (Auto-)konfiguration der Makefiles

Konfiguration des Servers

Die Konfiguration des Servers erfolgt vollständig über eine Konfigurationsdatei. Es sind keinerlei Umgebungsvariablen erforderlich. Wenn dennoch das Arbeiten mit Umgebungsvariablen gewünscht ist, können diese in Form von Makros in die Konfigurationsdatei eingesetzt werden, für die dann durch den Inhalt der entsprechenden gesetzten Umgebungsvariable die Ersetzung erfolgt.

Die Konfigurationsart folgt dem Beispiel von zahlreichen unter UNIX bekannten Dämonen (daemons), wie beispielsweise named, inetd oder auch httpd. Der VDM Server kann sowohl als Daemon im Hintergrund ablaufen, als auch auf einem Terminal bzw. Terminalfenster, was jedoch nach Beenden der Terminalsitzung auch die Beendigung des VDM Servers zur Folge hat.

  Üblicherweise wird ein Daemon beim Hochfahren des Systems durch die rc-Skripte gestartet und bleibt bis zum Herunterfahren, also auf Lebenszeit aktiv. Da sich der Daemon von seinem aufrufenden Prozess als auch von seinem Steuerterminal abkoppelt, wäre ein Setzen von Umgebungsvariablen zur Vornahme der Einstellungen, die nach dem Start nie wieder benötigt werden, auch im Hinblick auf die zahlreichen Konfigurationsoptionen ein schlechter Ansatz.

Die Verwendung einer Konfigurationsdatei erlaubt nicht nur die Kommentierung der Optionen in der Datei selbst, sondern auch eine außerordentliche Flexiblität bei Anwendung und Entwicklung. Die einzigste Kommandozeilenoption des VDM Servers ist die Angabe der Konfigurationsdatei, die für die Initialisierung verwendet werden soll:  

vdmd -c <dateiname>

Wird diese Option nicht angegeben, so wird eine Konfigurationsdatei mit dem Namen vdmd.conf im gleichen Verzeichnis erwartet und verwendet, in der sich auch der Server vdmd befindet.

Statische Einbettung des Konfigurationscodes

Bei dem Datenbankmanager bzw. VDM-Server handelt es sich um eine TCL-Shell, mit problemorientierten Hochsprachenerweiterungen. Ursprünglich wurde eine Zeichenkette, welche TCL-Kommandos für das Booten des Datenbankmanagers enthielt, in den Hochsprachencode implementiert und beim Start des Shell ausgeführt. Im Anschluß an die Vorkonfigurationen durch den Bootcode wurde der Code eine externen TCL-Datei ausgeführt, in der weitere Einstellungen hinterlegt sind.

      Die Methode zur Initialisierung wurde geändert, sowohl für den Datenbankmanager, als auch den VDM-Server. Der TCL-Datei config.tcl im TCL-Quellverzeichnis des Servers kommt eine besondere Bedeutung zu. Der Inhalt dieser Datei wird mit Hilfe des Stream-Editors sed in eine Zeichenkette gewandelt, und anschließend im Teilmodul tclconfig.cc als Hochsprachen-Stringdefinition festgeschrieben. Diese Datei wird übersetzt und mit dbm gebunden. Anstelle des ursprünglichen Boot-Codes wird diese Zeichenkette in die TCL-Shell aufgenommen. In diesem TCL-Code wird auch anhand des Namens ermittelt, ob es sich um den Datenbankmanager oder den VDM-Server handelt, und im letzteren Fall die Konfigurationsdatei eingelesen umgesetzt. Der ursprüngliche Boot-Code wurde unverändert in die Datei config.tcl übertragen, und nach wie vor für den Datenbankmanager ausgeführt.

In der Datei config.tcl sind neben den Funktionen zur Bearbeitung der Konfigurationsdatei auch die Standardwerte in einem TCL-Array, dem Konfigurationsprofil, hinterlegt. Dieses kann und muß zum Hinzufügen neuer Optionen ergänzt werden, bevor eine Eintragung in der Konfigurationsdatei zulässig ist.

Besonderheiten der Konfigurationsdatei

  Einträge in der Konfigurationsdatei unterliegen einigen einfachen Regeln, die Gestaltungsmöglichkeiten in jeglicher Hinsicht ermöglichen:

 

Zur Verarbeitung der Konfigurationsdatei können ferner eine Reihe von Substitutionen vorgenommen werden, als auch Vorgaben gesetzt werden. Dies geschieht durch einen Eintrag in das Konfigurationsprofil in der Datei config.tcl. Das Profil die Verarbeitung der Einträge fest, und wird als Zeichenkette angegeben.

Die Syntax und Bedeutungen für einen Profilstring sind wie folgt:

 


[ Inhalt ] [ Index ] Durchführung der Konfiguration Referenzteil (Auto-)konfiguration der Makefiles

VDM Class Library