Notif / Datenaktualisierung

Produktlinien: Standard, Expert
Module: Leistung & CRM
Erstellt: 02.11.2006, Änderung:
Hinweis hinzugefügt, dass der Notif immer auf der Standard-Datenbank läuft.
Mehr ansehen

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 Vertec Version 5.2. die Notif Technologie zur Verfügung, die eine automatische Abgleichung der Daten aller Sessions und Apps ermöglicht. Notif ist eine Abkürzung für "update notifications" und bedeutet "Benachrichtigung bei Datenänderungen".

Notif teilt jedem Client mit, wenn ein anderer Client Daten in der Datenbank verändert hat. Der 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 installiert haben. Jede Vertec Session und jede App, welche 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.Desktop.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.

Konfiguration

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

Folgende Konfigurationswerte sind verfügbar:

[Notif]
 Host=SERVER1
 Port=8091
 PollInterval=30000
HostNetzwerkadresse des Notif Servers. Bsp. Host=SERVER1. Hier kann auch eine IP-Adresse angegeben werden.
PortTCP Port des Notif Servers. Standardwert: Port=8091
PollIntervalZeitintervall 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.

Der Notif läuft immer auf der Standard-Datenbank. Wird Vertec via /DB mit einer anderen Datenbank gestartet, läuft der Notif nicht.

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. bei Server 2008), muss der Notif-Port explizit freigeschaltet werden. Dazu sollte der Port und zusätzlich VertecServer.exe freigeschaltet werden.

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...) zeigt den Status des Notif Systems. Ausser den Konfigurationswerten des [Notif]-Abschnittes in Vertec.ini werden folgende Diagnosewerte angezeigt:

ActiveIst entweder 1, falls Notif auf dem Client aktiviert ist, oder 0 andernfalls.
ErrorCountZeigt 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.
LastErrorZeigt den Fehlertext des letzten aufgetretenen Fehlers an. Normalerweise leer.
WaitCountAktuelle 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.