Lastverteilungs-Dienst für Dialog-Anmeldungen

1                     Themenübersicht

Der Lastverteilungs-Dienst für Dialog-Anmeldungen ermöglicht Benutzern die Anmeldung über eine einzige URL, während die dadurch entstehenden Sessions auf mehrere verfügbare ERP-System-Application-Server verteilt werden.

Dieses Dokument beschreibt die Einrichtung und Verwendung des Lastverteilungs-Dienstes.

2                     Begriffsbestimmung

Benutzer

Die Bezeichnung „Benutzer“ trifft zu auf eine Person, die ein Comarch-ERP-Enterprise-System benutzt, und ein System, das mit einem Comarch-ERP-Enterprise-System kommuniziert. Mit der Anlage eines Benutzers in einem beliebigen Comarch-ERP-Enterprise-System wird ihm ein Zugang zum System ermöglicht. Dieser Zugang erfolgt z. B. aufgrund eines Zertifikates, welches die Echtheit eines Benutzers überprüft. Die Benutzerdaten werden in der Konfigurations-Datenbank gespeichert und sind für alle Comarch-ERP-Enterprise-Systeme gültig, die mit dieser Konfigurations-Datenbank arbeiten. Nachdem ein Benutzer erfasst wurde, ist ihm eine Berechtigungsrolle zuzuweisen, über die er Berechtigungen erhält.

Hintergrund-Anwendung

Eine Hintergrund-Anwendung ist eine Anwendung, die ohne Interaktion mit einem Benutzer ausgeführt wird. In Comarch ERP Enterprise kann eine Hintergrund-Anwendung entweder durch einen Verarbeitungsauftrag, durch einen CORBA-Aufruf oder durch eine andere Anwendung geöffnet werden.

Lastverteilung (Load-Balancing)

Ein Verfahren, das für die gleichmäßige Ausnutzung von Ressourcen in einem System benutzt wird. Dabei werden die zu bewältigenden Aufgaben auf gleichartige Ressourcen verteilt. Die Verteilung findet in der Regel ohne Wissen oder Beeinflussen durch den Benutzer statt.

ERP-System-Property

ERP-Property, die in der Datei „system.properties“ verwendet werden kann.

ERP-System

Ein ERP-System umfasst alle Daten der Konfigurations-Datenbank eines Systems, wie z. B. der ERP-System-Application-Server, die Benutzer, die Datenbanken etc..

Session

Eine Session ist ein Speicherbereich, der bei der Anmeldung der Benutzer und damit beim Start eines Systemdienstes reserviert wird. Die Instanzen, die innerhalb eine Session entstehen, sind von Objekten in anderen Sessions isoliert. Hierdurch wird ein Mehrbenutzerbetrieb ermöglicht. Soll ein Stück Programmlogik innerhalb einer Session ausgeführt werden, so wird ein Thread reserviert und diesem die Session für die Dauer der Ausführung als Arbeitsbereich zugeordnet.

ERP-System-Application-Server (SAS)

Ein ERP-System-Application-Server (SAS) verarbeitet über verschiedene Kommunikationskanäle gestellte Anfragen. Zur Laufzeit wird ein ERP-System-Application-Server durch einen Java-Virtual-Machine-Prozess realisiert, welcher die System-Engine ausführt. Die Definition der zum Start notwendigen Parameter (Name, Datenbankverbindungen, Basis-URL) erfolgt in der Systemkonfigurations-Datenbank.

3                     Lastverteilungs-Dienst

Der „Lastverteilungs-Dienst für Dialog-Anmeldungen“ ist eine Hintergrund-Anwendung. Sie verteilt Dialog-Anmeldungen auf mehrere ERP-System-Application-Server. Hierzu müssen die Benutzer für die Anmeldung die Basis-URL des Lastverteilungs-Dienstes verwenden. Der Lastverteilungs-Dienst muss auf einem oder mehreren ausgewählten ERP-System-Application-Server gestartet werden. Der Lastverteilungs-Dienst wird wie folgt konfiguriert.

3.1        Parameter der Hintergrund-Anwendung

Die Hintergrund-Anwendung hat folgende Parameter:

Parameter Erläuterung
Basis-URL URL, unter der der Lastverteilungs-Dienst erreichbar ist. Diese URL verwenden Benutzer, um sich unter Verwendung des Lastverteilungs-Dienstes an das ERP-System anzumelden. Als Protokoll muss http verwendet werden. Der Hostname darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Darüber hinaus ist für das Feld die Verwendung von IP-V4-Adressen der Form „125.126.127.128“ zulässig.
Ziel-Server für Lastverteilung In diesem Feld werden die ERP-System-Application-Server angezeigt, auf die die Dialog-Anmeldungen verteilt werden sollen.

Die zur Verteilung verfügbaren ERP-System-Application-Server werden über die System Property com.cisag.sys.services.loadbalancer.LoadBalancerAssignableServers angegeben. Es müssen die Namen der Application-Server durch Kommata getrennt aufgezählt werden. Die Application-Server müssen dem ERP-System angehören, auf dem der Lastverteilungs-Dienst gestartet wurde. Groß-/Kleinschreibung wird nicht beachtet. Diese Property sollte in der Datei system.properties gesetzt werden, falls es gewünscht ist, dass mehrere Lastverteilungs-Dienste dieselben Application Server zur Verteilung verwenden. Die Property kann auch in der Datei server.properties gesetzt werden, um auf verschiedenen Application Servern unterschiedliche Konfigurationen des Lastverteilungs-Dienstes zu verwenden. Nähere Informationen zum Setzen der Properties finden Sie im Dokument „ERP-Properties

3.2        Hintergrund-Einstellungen

Die Hintergrund-Anwendung sollte mit der Startart „Bei Neustart des Application-Servers“ gestartet werden. Sie muss einem ERP-System-Application-Server fest zugeordnet werden, d.h. es muss entweder eine nicht verteilte Verarbeitungs-Warteschlange verwendet werden (empfohlen), oder bei einer verteilten Verarbeitungs-Warteschlange ein Application-Server angegeben werden.

Der ERP-System-Application-Server auf dem der Lastverteilungs-Dienst gestartet wird, muss über die Basis-URL erreichbar sein. Wenn im DNS mehrere ERP-System-Application-Server eingetragen wurden, sollte der Lastverteilungs-Dienst auf jedem dieser ERP-System-Application-Server gestartet werden.

In einem ERP-System können mehrere Lastverteilungs-Dienste für Dialog-Anmeldungen gestartet werden, sofern diese auf getrennten ERP-System-Application-Servern laufen. Die Lastverteilung kann somit auch für unterschiedliche Basis-URLs erfolgen.

4                     Funktionsweise der Lastverteilung

Der Lastverteilungs-Dienst berechnet anhand der Informationen über den Status der Ziel-Server für die Lastverteilung, welcher der ERP-System-Application-Server für die Dialog-Anmeldungen verwendet werden kann. Der Status der ERP-System-Application-Server wird in regelmäßigen Abständen abgefragt. Wenn ein Lastverteilungs-Dienst gestartet wurde, können Anmeldungen an die angegebene URL gerichtet werden. Falls ein Benutzer diese URL angibt, wird er auf einen der konfigurierten Application-Server weitergeleitet.

Durch den Lastverteilungs-Dienst werden folgende Informationen über den Status der für die Lastverteilung konfigurierten ERP-System-Application-Server berücksichtigt:

  • Ob der Application-Server läuft.
  • Ob die Informationen über den Zustand in einer vorgegebenen Zeit zur Verfügung gestellt wurden.
  • Die Anzahl der Dialog-Sessions auf einem Application-Server.
  • Ob die Basis-URL, unter welcher der Web-Server erreichbar ist, dem ERP-System-Application-Servers zugeordnet ist. ERP-System-Application-Server ohne eingetragene URL werden ignoriert.
  • Die Speicherwarnstufe des ERP-System-Application-Servers.
  • Der Zeitpunkt des verzögerten Durchstartens bzw. verzögerten Herunterfahrens eines ERP-System-Application-Servers.

Diese Informationen werden regelmäßig (alle 30 Sekunden) abgefragt. Je nach Status des ERP-System-Application-Servers wird dieser einer der folgenden drei Gruppen zugeordnet:

  • Uneingeschränkt verfügbare Application-Server
  • Eingeschränkt verfügbare Application-Server
  • Nicht verfügbare Application-Server

 

Ein Application-Server gilt als nicht verfügbar,

  • wenn der Ziel-Server für die Lastverteilung nicht läuft,
  • oder die Speicherwarnstufe einen anderen Status als „In Ordnung“ hat,
  • oder die Basis-URL für den Web-Server nicht angegeben ist.

 

Ein Application-Server gilt als eingeschränkt verfügbar,

  • wenn die Informationen über den Zustand des ERP-System-Application-Servers nicht in vorgegebener Zeit zur Verfügung gestellt wurden
  • oder er innerhalb eines bestimmten Zeitraumes durchgestartet oder heruntergefahren wird.

 

Ansonsten gilt er als uneingeschränkt verfügbar. Die Zuordnung wird dynamisch berechnet.

 

Hinweis: Durch die Property
com.cisag.sys.services.loadbalancer.LoadBalancerMinUptime kann die minimale restliche Betriebsdauer festgelegen werden. Wenn die restliche Betriebsdauer unterschritten wird, gilt der Application-Server als eingeschränkt verfügbar. Als Vorgabe dient eine Dauer von 15 Minuten.

Das folgende Szenario veranschaulicht den möglichen Ablauf.

Beispiel 1

Nehmen wir an, dass die folgenden Namen der Application-Server in der Property com.cisag.sys.services.loadbalancer.LoadBalancerAssignableServers angegeben wurden: DIALOG1, DIALOG2, DIALOG3, DIALOG4. Die durch die Property com.cisag.sys.services.loadbalancer.LoadBalancerMinUptime gesetzte restliche Betriebsdauer beträgt 30 Minuten.

Wenn nun das gesamte ERP-System um 11:00 Uhr 10 Minuten später durchgestartet werden muss, werden alle Application-Server von DIALOG1 bis DIALOG4 als Application-Server mit beschränkter Verwendung gelten, da die Verzögerung 10 Minuten beträgt und kleiner ist als die restliche Betriebsdauer. Für die Benutzer, die sich an das ERP-System interaktiv anmelden, wird es jedoch keinen Unterschied geben.

Beispiel 2

Es gilt die gleiche Ausgangssituation wie in Beispiel 1. Wenn nun um 11 Uhr das gesamte ERP-System mit Verzögerung um 23:55 Uhr herunterfahren wird, werden alle vier Application-Server bis 23:40 Uhr als uneingeschränkt verfügbare Application-Server gelten. Zwischen 23:40 Uhr und 23:55 Uhr gelten sie als eingeschränkt verfügbar.

Beispiel 3

Es gilt die gleiche Ausgangssituation wie in Beispiel 1.

Wenn nun der Application-Server DIALOG1 mit der Verzögerung 10 Minuten durchgestartet werden muss, wird er als eingeschränkt verfügbar eingestuft. Die Dialog-Anmeldungen werden erst an die Application-Server DIALOG2 bis DIALOG4 weitergeleitet. Erst dann, wenn es auf dem DIALOG2 bis DIALOG4 die gleiche Anzahl der Dialog-Anmeldungen gibt, wird die nächste Dialog-Anmeldung des Benutzers an den DIALOG1 weiter geleitet.

Nehmen wir an, dass seine Speicherwarnstufe den Status „Warnung“ hat. In dem Fall wird er aus der Verteilung ausgeschlossen. Es werden keine Weiterleitungen für die Dialog-Anmeldungen an DIALOG1 durchgeführt. Wenn nach der nächsten Status-Abfrage des DIALOG1 die Speicherwarnstufe „In Ordnung“ ist, wird er wiederum als eingeschränkt verfügbar eingestuft.

Wurde der Application-Server DIALOG1 bereits neu gestartet, wird er wieder als uneingeschränkt verfügbarer Application-Server betrachtet.

5                     Besonderheiten

5.1               Internet-Explorer-Einstellungen

Im Internet Explorer müssen die Web-Server der Application Server und der Lastverteilungs-Dienst derselben (vertrauenswürdigen) Zone zugeordnet sein. Da der Loadbalancer HTTP verwendet, muss als Beispiel „http://*.xyz.companyname.com“ in die Zone aufgenommen werden.

Insbesondere für Microsoft Windows Vista und Internet Explorer 7 ist es sinnvoll, die Zone „Vertrauenswürdige Sites“ zu verwenden.

5.2               HTA-Modus

Um Benutzern, die den HTA-Modus verwenden möchten, auch die Verwendung des Lastverteilungs-Dienstes zu ermöglichen, gehen Sie wie folgt vor:

Erstellen Sie sich eine Verknüpfung für den HTA-Modus, wie im Dokument Bedienungsleitfaden beschrieben.

Öffnen Sie diese Verknüpfung dann in einem Texteditor. Diese Datei enthält eine Basis-URL eines ERP-System-Application-Servers. Ersetzten Sie diese URL durch die Basis-URL des Lastverteilungs-Dienstes, wobei Sie den hinteren Bestandteil der URL (ab „/comarch-erp.hta“) beibehalten.

Z.B. ersetzen Sie
https://<sas-url>/comarch-erp.hta?_hta=1 durch
http://<load-balancer-url>/comarch-erp.hta?_hta=1

Nach der Änderung kann die HTA-Verknüpfung wie im Bedienungsleitfaden beschrieben verwendet werden. Jede Anmeldung über diese HTA-Verknüpfung wird durch den Lastverteilungs-Dienst verteilt.

5.3               Erreichbarkeit der ERP-System-Application-Server

Die Web-Server der für die Lastverteilung konfigurierten ERP-System-Application-Server müssen durch die Clients im Netzwerk erreichbar sein. Es reicht nicht aus, nur den Lastverteilungs-Dienst selbst zugreifbar zu machen.

5.4               Authentifizierung

Bei einer Anmeldung über den Lastverteilungs-Dienst erfolgt die Authentifizierung des Benutzers erst nach der Weiterleitung auf dem Ziel-Server. Der Lastverteilungs-Dienst führt selbst keine Authentifizierung durch.

5.5               Ändern der Ziel-Server für Lastverteilung

Falls die Menge der Ziel-Server für die Lastverteilung geändert werden sollte, müssen die neuen Werte für die Property com.cisag.sys.services.loadbalancer.LoadBalancerAssignableServers sowohl in der Datei system.properties angepasst werden, als auch durch die Angabe des Kommandos „set“ auf der ToolShell des Application-Servers erfolgen. Auf dem Application-Server arbeitet die Verarbeitung-Warteschlange den Verarbeitungsauftrag ab, mit dem der Lastverteilungs-Dienst gestartet wurde.

Nach einer Änderung sollten die Meldungen in der Anwendung „Meldungsprotokolle“ kontrolliert werden.

Wenn die Application-Server nur in der Datei system.properties angepasst wurden, wirken sie sich erst nach dem Neustart des ERP-Systems aus.

5.6               ERP-System-Verknüpfungen

Verknüpfungen, die aus dem ERP-System heraus erzeugt werden, und z.B. per E-Mail versendet werden, enthalten nicht die Adresse des Lastverteilungs-Dienstes, sondern die eines ERP-System-Application-Servers. Beim Öffnen einer solchen Verknüpfung wird die Dialog-Anmeldung nicht durch den Lastverteilungs-Dienst verteilt, da die Benutzer direkt auf die URL eines ERP-System-Application-Servers zugreifen.

5.7               Knowledge Store, ODBC, Web-Services

Andere Zugriffe auf den ERP-System-Webserver als Dialog-Anmeldungen müssen weiterhin direkt an einen ERP-System-Application-Server, und nicht an den Lastverteilungs-Dienst gerichtet werden. Hierzu zählen Zugriffe auf den Knowledge Store (über WebDAV), ODBC und Web-Services.

6                     Vorgehensweise

Die Hintergrund-Anwendung wird mithilfe der Anwendung „Verarbeitungsaufträge“ ausgeführt.

  1. Geben Sie in der Datei properties in der Property com.cisag.sys.services.loadbalancer.LoadBalancerAssignableServers die ERP-System-Application-Server an, auf die die Dialog-Anmeldungen verteilt werden sollen. Starten Sie den ERP-System-Application-Server durch, auf dem Sie die Anwendung „Verarbeitungsaufträge“ öffnen möchten.
  2. Öffnen Sie die Anwendung „Verarbeitungsaufträge“.
  3. Drücken Sie in der Standard-Symbolleiste den Button „Hintergrund-Anwendung ausführen“.
    • Das Dialog-Fenster „Hintergrund-Anwendung ausführen“ öffnet sich.
  4. Wählen Sie im Feld „Hintergrund-Anwendung“ die Hintergrund-Anwendung „Lastverteilungs-Dienst für Dialog-Anmeldungen“ aus.
    • Aktionen und Parameter werden auf dem Karteireiter „Aktion“ angezeigt.
  5. Bestimmen Sie die Werte für die Parameter zur gewählten Aktion.

Wählen Sie die Hintergrundeinstellungen auf den jeweiligen Karteireitern. Beachten Sie die Hinweise im Kapitel Hintergrund-Einstellungen. Achten Sie insbesondere darauf, dass der Verarbeitungsauftrag auf dem richtigen ERP-System-Application-Server ausgeführt wird.

  1. Bestätigen Sie die Eingaben, indem Sie eine der Ausführungen über die zugehörigen Buttons „Im Hintergrund“ wählen.
    • Der Verarbeitungsauftrag wird abgearbeitet und der Verteilungs-Dienst-Server wird gestartet.

Bei der Angabe der Basis-URL des Lastverteilungs-Dienstes in der Adresse-Leiste des Internet Explorers wird die Anmeldung an einen der zur Verfügung stehenden ERP-System-Application-Server weitergeleitet.

Czy ten artykuł był pomocny?