Vertec Webserver mit II-Server / ISAPI Schnittstelle

Vertec wird vor allem in Windows Umgebungen verwendet. Der am weitesten verbreitete Web Server in diesem Umfeld ist der Microsoft Internet Information Server (IIS).

Vertec stellt für die Classic Weboberfläche und andere Webservices (z.B. iPhone App) einen eigenen HTTP Server (VertecServer.exe) zur Verfügung. Vielfach besteht jedoch die Anforderung, dass die Vertec Weboberfläche in eine unter IIS laufende Website integriert wird. Auch wenn die Classic Weboberfläche mittels HTTPS Zugriff gesichert werden soll, ist der Betrieb via einen anderen Webserver (IIS oder Apache) notwendig.

Die Verbindung von IIS zum Vertec Webserver wird durch die ISAPI Extension vertecisapi.dll hergestellt. Diese DLL wird durch Angabe einer entsprechenden URL aufgerufen und leitet Anfragen an den Vertec Webserver weiter (HTTP Proxy Funktionalität). Die Aufrufe der ISAPI Extension beinhalten dabei den Namen der DLL, zum Beispiel http://myserver/vertec/vertecisapi.dll/Login. Diese Form der URL ist etwas unschön. Um URLs zu ermöglichen, die keinen Hinweis auf die DLL enthalten, ist zusätzlich ein sogenannter ISAPI Filter notwendig. Dieser fängt bestimmte URLs innerhalb des IIS ab und verändert sie so, dass sie die ISAPI Extension aufrufen. Extension und Filter sind beide in der vertecisapi.dll enthalten. Diese ist Bestandteil des Downloads VertecFull.zip.

Die VertecIsapi.dll ist nur als 32-Bit Version verfügbar. Wenn der IIS-Server mit 64-Bit läuft, muss in den Einstellungen des Applications-Pools, unter dem die Vertec-Site läuft, der 32-Bit Kompatibilitätsmodus eingestellt werden.

Wie Sie den Microsoft Internet Information Service (IIS) für Vertec einrichten, entnehmen Sie dem Artikel IIS Webserver für Vertec einrichten.

Konfiguration

Die ISAPI Extension bezieht ihre Einstellungen aus dem Vertec.ini File welches sich im selben Verzeichnis wie die Extension DLL befindet. Normalerweise ist dies das Vertec.ini im Vertec IIS Verzeichnis. Der Vertec Webserver Dienst hingegen bezieht seine Einstellungen aus dem Vertec.ini im Vertec Verzeichnis.

Beispiel einer Konfiguration

  • Die Vertec Weboberfläche soll aus dem Internet unter https://intranet.myfirma.ch/vertec erreichbar sein.
  • Der Vertec Webserver läuft auf einem Rechner, welcher unter der IP 192.168.1.51 erreichbar ist.
  • Auf dem IIS ist ein virtuelles Verzeichnis /vertec eingerichtet. Im zugehörigen Filesystem-Ordner befinden sich die Dateien vertecIsapi.dll und ein Vertec.ini.
  • Der IIS ist so konfiguriert, dass Zugriff auf das /vertec via HTTPS erfolgen kann (SSL eingerichtet)

Sowohl der Vertec-Server als auch die Isapi Extension brauchen ein Vertec.ini für ihre Konfiguration. Dabei achten die beiden Applikationen teilweise auf dieselben (Server Port, Server IP), teilweise auf unterschiedliche Parameter im .ini File.

Die beiden Vertec.ini Dateien können auch kombiniert werden, damit zwei identische Vertec.ini Files verwendet und bei Änderungen einfach kopiert werden können. Die von der jeweiligen Applikation nicht benötigten Parameter werden einfach ignoriert. Diese Variante ist weiter unten aufgeführt.

Variante mit zwei verschiedenen Vertec.ini Dateien

Vertec.ini für VertecServer.exe (Vertec Verzeichnis)

[Webserver]
Server Port=8095
Server IP=192.168.1.51
Protocol Version=https
Root URL=intranet.myfirma.ch/vertec
Apps=/ webserver.webgui.WebGui

Vertec.ini für VertecIsapi.dll (IIS /vertec Verzeichnis)

[Webserver]
Server Port=8095
Server IP=192.168.1.51
Filter Path=/vertec

Kombiniertes Vertec.ini (für VertecServer und VertecIsapi)

Der Nachteil dieser Variante ist, dass der VertecServer so ausschliesslich an die angegeben IP-Nummer gebunden ist und beispielsweise auf "localhost" nicht mehr erreichbar ist.

Wir empfehlen deshalb die Variante mit den unterschiedlichen Vertec.ini. Damit wird auch klarer, was wo notwendig ist.

[Webserver]
Server Port=8095
Server IP=192.168.1.51
Filter Path=/vertec
Protocol Version=https
Root URL=intranet.myfirma.ch/vertec
Apps=/ webserver.webgui.WebGui

Konfigurationsparameter

Server Port
(beide Vertec.ini VertecServer und VertecISAPI) Dieser Wert gibt analog dem Server IP Wert den Port an, auf dem der Vertec Webserver auf Anfragen wartet.
Server IP
(beide Vertec.ini VertecServer und VertecISAPI) Dieser Wert gibt für den Vertec Webserver die IP Nummer an unter der er reagieren soll. Für VertecISAPI ist dies die Adresse wohin die Anfragen weitergeleitet werden.
Filter Path
(nur Vertec.ini für VertecISAPI) Dieser Wert muss den Namen des virtuellen Vertec IIS Verzeichnisses enthalten. Falls dieses direkt unterhalb der Website ist und Vertec heisst, dann ist dieser Wert Filter Path=/Vertec.
Protocol Version
(nur Vertec.ini für WebServer): kann http oder https(für SSL) sein. Default ist http. Wahlweiser Zugriff via http oder https auf die gleiche Instanz von VertecServer wird nicht unterstützt, da die Konfiguration von Protocol Version in Vertec.ini statisch ist und sich nicht nach der aktuell verwendeten URL richtet.
Root URL
(nur Vertec.ini für WebServer) Diese Einstellung muss Servername und URL Pfad enthalten unter der die Vertec Weboberfläche von aussen (also via IIS) aufgerufen werden. Mit Hilfe dieses Wertes werden die Links in den durch Vertec Webserver generierten Webseiten erstellt. Falls der IIS Server unter myserver erreichbar ist und das Virtuell Vertec Verzeichnis Vertec heisst, dann müsste dieser Wert auf
Root URL=myserver/Vertec gesetzt werden.
Apps
(nur Vertec.ini für Webserver): Angabe des Pfads und des Applikationsobjektes. Pfad (/) und Applikation (webserver.webgui.WebGui) sind durch Leerzeichen getrennt. Gross-/Kleinschreibung beachten!

Werden Einstellungen, welche für VertecISAPI relevant sind, verändert, dann muss die VertecISAPI Extension neu geladen werden. Normalerweise läuft diese innerhalb des IIS im DefaultAppPool. Per Rechtclick auf das entsprechende Symbol im Internetdienste Manager kann dieser beendet und wieder gestartet werden.

Werden Einstellungen, welche für den VertecServer relevant sind, geändert, dann muss der Vertec Webserver Dienst über den Dienste Manager beendet und wieder gestartet werden.


14.09.2016 | 14.09.2015