Konfiguration des Monitor-Gateways

Im Gateway-Objekt des Monitor-Gateways wird mit der Einstellung Port-Nummer entschieden, ob der Monitor Verzeichnisse oder eine Netzwerkschnittstelle überwachen soll. Ist der Wert Kein Netzwerk eingestellt, werden Verzeichnisse überwacht, ist dagegen eine Port-Nummer ausgewählt, wird der auf dieser Schnittstelld eintreffende Datenstrom überwacht.

Bei der Konfiguration als Verzeichnis-Monitor sind gegenüber der Konfiguration normaler Gateways einige Unterschiede zu beachten. Das auffälligste ist, daß der Verzeichnis-Monitor keine Angabe zum Port benötigt, weil er selbst auf keiner Netzwerkverbindung hört, sondern nur seinerseits Verbindungen zu anderen Druckern oder Gateways aufbaut. In der Anzeige des Drucker-/Gateway-Services erscheint deshalb in der Spalte Port ein Fragezeichen.

Desweiteren benötigt der Verzeichnis-Monitor auch keine Anpassung, weil er an den von ihm transportierten Dateien keine Änderungen vornimmt, und deshalb keine Ressourcen braucht. Der Verzeichnis-Monitor macht keine Annahmen darüber, welcher Art die Dateien sind, die er aus den Verzeichnissen ausliest!



Im Feld Protokollierung wird der Umfang der in die Ablaufverfolgung einzutragenden Meldungen bestimmt. Es werden dabei vier Stufen unterschieden.

Nur Fehler Nur Fehlermeldungen, die beim Betrieb des Gateways auftreten, werden in die Ablaufverfolgung eingetragen. Beim Auftreten von Fehlern ist das erzeugte Druckbild der weitergeleiteten Datei in der Regel nicht wie erwartet.
Fehler und Warnungen Neben den Fehlermeldungen werden auch Warnungen mit in die Ablaufverfolgung aufgenommen. Warnungen beziehen sich auf Situationen oder Ereignisse, die die Funktion des Gateways nicht beeinflussen, aber möglicherweise auf Probleme mit der Konfiguration hinweisen.
Fehlersuche Diese Stufe sollte nur aktiviert werden, wenn Sie von einem Supportmitarbeiter ausdrücklich dazu aufgefordert werden. Neben allen Meldungen der vorherigen Stufe werden noch interne, technische Statusmeldungen in die Ablaufverfolgung eingetragen, die es dem Supportmitarbeiter ermöglichen, eine vermutete Fehlersituation im Gateway zu beurteilen.
Fehlersuche
RegEx
Diese Stufe ist für das Monitor-Gateway ohne Bedeutung.


Ist unter Befehlszeile ein Kommando eingetragen, wird dieses Kommando für jede in den überwachten Verzeichnissen vorgefundene Datei einmal ausgeführt. Das Kommando startet in der Regel ein Skript oder ein Programm, welches parallel zum Verzeichnis-Monitor als eigener Prozess ausgeführt wird. Das aufgerufene Skript oder Programm muß die Datei nach vollendeter Arbeit selbst löschen.

Wegen der Parallelbearbeitung durch einen externen Prozess wird die vorgefundene Datei erst in ein Arbeitsverzeichnis verschoben, um so irrtümliche Prozessaufrufe durch weitere Verzeichniszugriffe des externen Prozesses zu vermeiden. Der Verzeichnis-Monitor legt daher in jedem überwachten Verzeichnis ein weiteres Unterverzeichnis mit dem Namen Work an. Der externe Prozess kann daher die Datei nicht nur lesen, sondern auch abändern und muss sie nach getaner Arbeit löschen.

In diesem Modus können zum Beispiel nicht unterstützte Dateitypen (z.B. PDF) mit Hilfe der dazugehörenden Applikationen (z.B. Adobe Reader) direkt auf den Drucker oder das Gateway gedruckt werden.

Neben den für nomale Gateways definierten Kommandozeilenparametern existieren für den Verzeichnis-Monitor noch zwei zusätzliche Parameter:

%8
      
Port-Nummer des Druckers oder Gateways, der/das dieser Warteschlange zugeordnet ist. Diese Port-Nummer muss als Ziel für die TCP/IP-Verbindung genommen werden, wenn ein externes Skript oder Programm seine Ausgaben weiterleiten möchte. Wird das Spoolverzeichnis selbst überwacht, hat dieser Parameter immer den Wert 0.
%9 Name des überwachten Verzeichnisses, falls es sich um ein Verzeichnis handelt, das einem Drucker oder Gateway zugeordnet ist (alos den Namen des Drucker oder Gateways). Im Falle, dass das Spoolverzeichnis selbst überwacht wird, ist dieser Parameter leer.



Für die Fälle, in denen mit Hilfe eines Skriptes die vorgefundene Datei bearbeitet werden muß, liegt im Skript-Verzeichnis der print2forms-Installation ein kleines Hilfsprogramm mit dem Namen Sender.exe, welches eine Datei via TCP/IP an einen Drucker oder ein Gateway überträgt.

Die Verwendung dieses Hilfsprogramms erspart die Programmierung einer TCP/IP-Verbindung zur Weitergabe der Druckdaten. In dem unten abgebildeten Beispiel-Perl-Skript relais.pl sind die Parameter des Programms zu erkennen. Auf Wunsch kann, wie gezeigt, sogar ein Journal mit einer Liste der übertragenen Dateien geführt werden.

Damit das Skript weiss, an welchen Drucker oder welches Gateway die Druckdaten übertragen werden sollen, wurde der Skript-Parameter %8 eingeführt, der die Port-Nummer des Druckers oder Gateways enthält (nur im Fall, dass das Verzeichnis eines Druckers oder Gateways überwacht wird).

 #!/usr/bin/perl
 
 # Command:    perl relais.pl "%1" "%2" "%4" %8
 
 # Call:       perl relais.pl Scriptpath Filename Port
 
 #--------------------------------------------------------------------#
 
 my $Script = $ARGV [0];
 my $Spool  = $ARGV [1];
 my $Name   = $ARGV [2];
 my $Port   = $ARGV [3];
 my $Res    = 0;
 
 if ($Script eq "" || $Spool eq "" || $Name eq "" || $Port eq "")
   {
     $Res = -1;
   }
 else
   {
     my $Cmd =  "\"$Script/Sender.exe\"" .
                "/Target=\"10.1.17.7\" " .
                "/Port=$Port " .
                "/ErrorLog=\"$Script\\Relais.txt\" " .
                "/LogLevel=3 " .
                "\"$Spool\\$Name\"";
 
     $Res = system ($Cmd) / 256;     # send file to Drucker or gateway #
 
     unlink ("$Spool\\$Name");
 
     if (! ($Spool =~ /.*Work/))          # file received via network #
       {
         $Name =~ s/\.PCL/\.CTL/i;           # replace file extension #
 
         unlink ("$Spool\\$Name");              # remove control file #
       }
   }
 
 exit $Res;
 
 #--------------------------------------------------------------------#


Der Aufruf des Skriptes ist im obigen Bildschirmfoto der Konfiguration des Verzeichnis-Monitors zu sehen. Im Skript ist natürlich die IP-Adresse an die eigenen Gegebenheiten anzupassen!

Im Falle der Überwachung einer Netzwerkschnittstelle öffnet der Monitor unter der gewünschten Port-Nummer einen Empfangskanal und hört auf eingehende Daten. Dabei wird davon ausgegangen, dass die empfangenen Daten zu einem PCL-Datenstrom gehören. Die Daten werden als PCL-Datei im Spool-Verzeichnis abgelegt. Eine ebenfalls dort abgelegte Indexdatei enthält die Textbestandteile der PCL-Datei und gestattet somit eine einfache Auswertung der empfangenen Daten durch ein externes Skript.

In dieser Betriebsart muss ein Skript natürlich nicht nur die PCL-Datei sondern auch die dazugehörige Index-Datei löschen. Im oben abgebildeten Skript ist dies bereits berücksichtigt.

Hinweise