Notif / Datenaktualisierung

Vertec funktioniert in einer Mehrbenutzer Umgebung als Client / Server Anwendung mit zentralem Datenbankserver.

Wenn verschiedene Benutzer an denselben Datenobjekten arbeiten, ist es wichtig, dass diese jeweils über den aktuellen Zustand der Daten verfügen.

Um dies zu gewährleisten, steht ab der Vertec Version 5.2. die Notif Technologie zur Verfügung, die eine automatische Aktualisierung der Daten auf allen Vertec Clients ermöglicht. Notif ist eine Abkürzung für "update notifications" und bedeutet "Benachrichtigung bei Datenänderungen".

Das Ziel von Notif ist es, jedem Vertec Client Programm mitzuteilen, wenn ein anderer Client Daten in der Datenbank verändert hat. Der Vertec Client hat dann die Möglichkeit, den aktuellsten Stand der Daten neu aus der Datenbank zu laden.

Eine Vertec Installation, welche Notif verwendet, muss den Vertec Service (Web/XML Server) installiert haben. Jedes Vertec Programm, welches gestartet wird, verbindet sich mit dem Vertec Server und sendet diesem alle vorgenommenen Änderungen. Gleichzeitig erhält Vertec vom Server Informationen über die von anderen Clients geänderten Daten und kann so deren Anzeige aktualisieren. Die Netzwerkbelastung durch Notif ist gering, da nur Angaben zur Identifikation der geänderten Daten übertragen werden und nicht die Daten selbst. Diese werden von den einzelnen Clients bei Bedarf direkt aus der Datenbank geladen.

Wichtig ist, dass alle verwendeten Vertec.exe und VertecServer.exe die exakt gleiche Version haben, da der Notif-Mechanismus die einzelnen Objekte über eine Nummer identifiziert, welche zwischen zwei Versionen ändern kann.

Notif gleicht auch den WebServer ab. Wenn man im VertecWeb über den aktuellsten Stand verfügen will, muss man aber den Browser mit F5 aktualisieren, damit die Oberfläche aktualisiert wird. Im normalen Vertec wird die Oberfläche durch den Notif automatisch aktualisiert.

Bei neuen Installationen von Vertec wird Notif standardmässig installiert.

Konfiguration

Der Vertec Server sowie Vertec Clients verwenden beide die Angaben aus dem Notif Abschnitt im Vertec.ini.

Folgende Konfigurationswerte sind verfügbar:

[Notif]
Host=192.168.1.100
Port=8091
PollInterval=30000

Host Netzwerkadresse des Notif Servers. Bsp. Host=192.168.1.100
Port TCP Port des Notif Servers. Standardwert: Port=8091
PollInterval Zeitintervall für Clientanfragen an den Notif Server in Millisekunden. Standardwert: PollInterval=30000 (entspricht 30 Sekunden). Werte unter 1000 sind nicht sinnvoll und können zu Problemen führen. Auch Werte zwischen zwischen 1000 und 10000 sollten nur für spezielle Tests gewählt werden. Für den laufenden Betrieb sollten Werte ab 10000 gewählt werden.

Falls der Notif Abschnitt im Vertec.ini nicht existiert (oder umbenannt ist), ist Notif ausgeschaltet.

Freigabe von Ports beim Einsatz von Firewalls

Wenn Vertec auf einem Server installiert ist, der auch für das interne Netz eine Firewall hat (so z.B. der Fall bei XP, Server 2003 sowie Server 2008), muss der Notif- und allenfalls der XML-Port explizit freigeschaltet werden, damit das läuft. Dazu sollte man den Port und zusätzlich VertecServer.exe freischalten.

Die Information, was auf welchen Ports läuft, finden Sie im Vertec.ini Konfigurationsfile.

Fehlersuche

Da der Notif Mechanismus unsichtbar im Hintergrund funktioniert, ist nicht unmittelbar ersichtlich, ob Konfigurations- oder Netzwerkfehler auftreten.

Die Vertec System Info Anzeige (im Vertec Menü Einstellungen > System Info...) hat deshalb einige neue Angaben, welche den Status des Notif Systems zeigen.

Ausser den Konfigurationswerten des Notif Abschnittes in Vertec.ini werden folgende Diagnosewerte angezeigt:

Active Ist entweder 1, falls Notif auf dem Client aktiviert ist, oder 0 andernfalls.
ErrorCount Zeigt die Anzahl der aufgetretenen Fehler im Notif System seit dem Start des Vertec Clients an. Falls dieser Wert nicht 0 ist, liegt ein Problem vor.
LastError Zeigt den Fehlertext des letzten aufgetretenen Fehlers an. Normalerweise leer.
WaitCount Aktuelle Anzahl Wartezyklen (siehe unten). Normalerweise 0.

Falls auf einem Client 5 Notif Fehler auftreten, so wird Notif auf diesem Client temporär deaktiviert und Notif geht in einen Wartezustand über. Vorgängig wird folgende Fehlermeldung angezeigt:

Verbindungsaufbau zum Notif-Server fehlgeschlagen. 
Daten, die von anderen Vertec Benutzern bearbeitet werden, werden nicht aktualisiert.

Nach 20 Abfrageintervallen (siehe Wert PollInterval) wird der Fehlerzähler zurückgesetzt und Notif wieder aktiviert. Die aktuelle Anzahl der Wartezyklen zeigt der Wert WaitCount.

Falls eine solche Fehlermeldung angezeigt wird, wenden Sie sich bitte an Ihren Systembetreuer.

ACHTUNG: Notif unterstützt nur die Standard Datenbank Konfiguration (Abschnitt Database im Vertec.ini). Falls Vertec zum Beispiel mit der DemoDB Konfiguration gestartet wird, ist Notif deaktiviert. Diese Einschränkung ist notwendig, um sicherzustellen, dass Notif nur zwischen Clients mit derselben Datenbank vermittelt.

Socket Error #11001

Wenn immer wieder Fehlermeldungen erscheinen, dass Notif nicht laufe, und Vertec zum Teil sehr langsam läuft, kann es sein, dass im Systeminfo beim Notif der Fehler "Socket Error #11001" erscheint.

Grund dafür ist ein falscher Hostname im Vertec.ini. Der Rechner, auf dem der Notif läuft, heisst anders. Wenn man den Namen korrigiert, läuft der Notif korrekt und Vertec ist auch wieder normal schnell.

VertecServer ohne Notif Server starten

Der Notif-Server und die Notif Clients verwenden dieselbe Section im Vertec.ini File. Die Notif-Server Komponente in VertecServer.exe startet immer, wenn sie eine Notif-Section mit Port im Vertec.ini findet. Auf diese Weise ist es nicht möglich, eine zweite VertecServer Instanz zu betreiben (z.B. als XML Server), welche als Client auf einen Notif-Server zugreift, ohne dass diese Instanz selbst versucht, einen Notif-Server zu starten.

Dafür gibt es ab Vertec 6.1 einen Parameter /nonotifserver, welcher es erlaubt, eine VertecServer Instanz ohne Notif Server zu starten, die nur Notif Client ist.

So richten Sie einen zweiten Dienst ohne Notif ein

  1. Kopieren Sie folgende Dateien und Ordner in ein separates Verzeichnis:
    • VertecServer.exe
    • VertecLib.dll
    • Vertec.mld (und allenfalls userlng.txt und userdict.txt, siehe Übersetzungen)
    • ssh.vertec-mobile.com.key
    • Vertec.ini  (Es müssen mindestens die Sections [Database], [Webserver] und [Notif] vorhanden sein)
    • Ordner Webgui
    • Ordner Python
  2. Installieren Sie einen zweiten Dienst, wie im Artikel Mehrere Vertec Instanzen beschrieben.
  3. Damit der Parameter /nonotifserver auch mit dem neu installierten Dienst verwendet werden kann, muss er in der Registry wie folgt eingetragen werden:
    • Navigieren Sie zu HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Servicename.
    • Erweitern Sie die Pfadangaben um den Parameter /nonotifserver.
  4. Starten Sie anschliessend den Dienst neu und überprüfen Sie, dass in den Eigenschaften des Dienstes der Parameter im Pfadnamen angezeigt wird.

02.11.2006 | 25.11.2016: VertecServer ohne Notif Server starten hinzugefügt.
Produktlinien: Standard, Expert
Module: Leistung & CRM
Apps: Alle