Status-Webservice
Der Status-Webservice implementiert die Back-End-Dienste, die primär für die Nutzung durch den Statusmonitor vorgesehen sind.
Die Back-End-Dienste können auch von jeder externen Anwendung aufgerufen werden, die Statusinformationen zur xSuite-Interface-Verarbeitung benötigt.
Hinweis
Eine weiterführende Beschreibung der Status-Endpunkte ist in dieser Dokumentation nicht enthalten.
Die Integration einer externen Anwendung muss projektspezifisch abgestimmt und durchgeführt werden.
Für die Nutzung des Statusmonitors muss der Status-Webservice und die Auslieferung statischer Web-Dateien (Eigenschaft WebService.WebRootFolder) aktiviert sein. Wenn die notwendigen Zugriffsrechte gesetzt sind (Eigenschaft StatusService.AllowUser), ist die Anwendung über die folgende URL aufrufbar:
{Basisadresse}/{Basispfad}/Status
In dem Unterobjekt StatusService.LiveInfo sind Konfigurationseigenschaften zusammengefasst, die dazu dienen, im Statusmonitor Laufzeitinformationen der aktiven Worker-Instanzen in Echtzeit zu betrachten. Dazu zählen die laufenden Protokollausgaben der Worker und Informationen zu dem aktuellen Zustand der Worker. Wenn mehrere aktive Programminstanzen vorhanden sind, werden die Ausgaben aller Instanzen zentral in der Instanz gesammelt, die den Status-Webservice ausführt. Der Datentransfer erfolgt direkt über das Netzwerk in Form von UDP-Paketen.
Die Live-Informationen, die per UDP übermittelt werden, können genutzt werden, um auf der Startseite weitere laufende Programminstanzen anzuzeigen. Auf diese Weise können Informationen von Programminstanzen angezeigt werden, die auf einem anderen Server ausgeführt werden und nicht auf Basis der lokal laufenden Prozesse identifiziert werden können. Eine solche Konstellation liegt z.B. vor, wenn xSuite Interface in der xSuite Cloud über mehrere Docker-Container läuft, die sich wie separate Server darstellen.
Eigenschaft | Beschreibung |
|---|---|
StatusService.Activate | Wahrheitswert, ob der Status-Webservice aktiviert ist Standardwert: |
StatusService.Tenant[] | optionale Angabe der Namen der Mandanten, die in einer Instanz des Statusmonitors angezeigt werden Standardmäßig werden implizit alle Mandanten herangezogen, die gemäß der Konfiguration Diese Konfigurationseigenschaft muss zwingend gesetzt werden, wenn der betreffenden Programminstanz keine Worker zugeordnet sind, weil diese Instanz z. B. ausschließlich für den Betrieb des Status-Webservices zuständig ist, und wenn gleichzeitig mit anderen Mandanten als nur mit dem Standardmandanten "Default" gearbeitet wird. |
StatusService.AllowUser[] | Definition von Benutzerrechten zum Aufruf des Status-Webservices Jeder Eintrag setzt sich aus den folgenden Einzelparametern zusammen:
Die Rechte (
Wenn in einem Eintrag keine einschränkenden Rechte definiert sind, erhält der Benutzer implizit alle Rechte. Wenn gar keine Benutzerrechte definiert sind, erhält jeder Benutzer vollen Zugriff. Sobald aber Rechte definiert sind, erhalten nur noch explizit dort aufgeführte Benutzer Zugriff. Wenn in einem Eintrag der Parameter |
StatusService.AllowGroup[] | Definition von Rechten für Benutzergruppen zum Aufruf des Status-Webservices Diese Eigenschaft ist nur relevant, wenn die Windows-Authentifizierung aktiviert ist, da ausschließlich Gruppen aus einem Windows Active Directory unterstützt werden. Der Gruppenname muss als erster Parameter in der Syntax |
StatusService.LiveInfo.UdpAddress(*) | Adresse des UDP-Dienstes zum Empfang der Live-Informationen Syntax: Diese Konfigurationseigenschaft ist für die empfangende und für die sendenden Programminstanzen relevant. Aus Sicht des Empfängers ist Eine Programminstanz dient als Empfänger, wenn eine UDP-Adresse konfiguriert und gleichzeitig der Status-Webservice aktiviert ist (Eigenschaft |
StatusService.LiveInfo.StatusServiceUrl | URL des Status-Webservice für die Verschlüsselung der UDP-Daten Syntax: UDP unterstützt als Protokoll keine direkte Verschlüsselung der Daten. Die Verschlüsselung erfolgt auf Anwendungsebene. Jeder Sender erzeugt dazu minütlich einen neuen Schlüssel für eine symmetrische AES-Verschlüsselung. Der Sender übermittelt den Schlüssel vorab an den Empfänger für die Entschlüsselung. Die Schlüsselübertragung erfolgt an den Status-Webservice des Empfängers, die per TLS abgesichert sein sollte. In der Eigenschaft In der empfängerseitigen Konfiguration ist diese Eigenschaft nicht relevant. Wenn diese Eigenschaft beim Sender nicht gesetzt ist, findet keine Schlüsselübertragung und somit ein unverschlüsselter UDP-Datenversand statt. |
StatusService.LiveInfo.ProcessName | optionaler Anzeigename für die aktuelle Programminstanz in der Live-Informationsansicht des Statusmonitors Im Standard wird ein generisch erzeugter Name verwendet. Für die Worker-Instanzen eines Prozesses kann ebenfalls ein sprechender Name definiert werden. Dazu dient die Eigenschaft |
StatusService.LiveInfo.ViewWorkers | Wahrheitswert, ob im Statusmonitor Informationen zum aktuellen Zustand der einzelnen Worker-Instanzen angezeigt wird Wenn das Programm konfigurationstechnisch in mehrere Programminstanzen getrennt ist, muss diese Eigenschaft in allen Instanzen den Wert Standardwert: |