Applikations-Pool

Einleitung

Mit Hilfe von Applikationspools haben Sie die Möglichkeit, Verarbeitungen zu automatisieren und applikationspooltaugliche OXAS-Programme, F-Scripts, etc. zu eigenen Abläufen zusammenzufassen. Dabei ist es u.a. auch möglich, Verarbeitungen in Intervallen immer wieder ausführen und zu einem bestimmten Zeitpunkt beenden zu lassen. Ausserdem können Sie über Bedingungen auch steuern, dass gewisse Applikationspool-Schritte (Verarbeitungen) nur dann gestartet werden, wenn die entsprechenden Bedingungen erfüllt sind.
Wichtig
Wichtig
Wird mit dem OpaccERP CloudClient gearbeitet, dann ist ein interaktives Starten von Applikationspools (z.B. über BC 98260) nur möglich, wenn asynchrone Applikationspools eingerichtet sind.

Asynchrone Applikationspools

Wichtig
Wichtig
  • Es ist so, dass der asynchrone Start von Applikationspools auch dann funktioniert, wenn auf dem APS-Pool-Server kein OXASFrontend installiert ist.
  • Die Verwendung von PublicWsBaseUrl, wie beim OpaccERP-CloudClient, ist somit nicht nötig.
  • Es ist auch kein Einsatz eines LoadBalancers nötig um die Anfragen automatisch auf mehrere APS-Pool-Instanzen zu verteilen.
Das Einrichten erfolgt in drei Schritten.

1. Einrichten der APS-Pool-Instanzen

Benötigte APS-Pool-Cluster/Instanzen in OpaccOneInstallation.xml eintragen.
  • Das WebService-Plugin mit WebSockets wird zwingend benötigt!
  • Die Verwendung von PublicWsBaseUrl, wie beim OpaccERP-CloudClient, ist nicht notwendig.
  • Wir empfehlen die folgenden Einstellungen um ungewollte Zugriffe auf die Instanz zu verhindern:
    • Kein TCP-Plugin
    • OrderedAccessRule \ DeniedClientIpAdressRule = 0.0.0.0/0.0.0.0
  • Zuweisen von CohortId-Pattern pro Instanz. Ab v16.20.07.204 sind mehrere Einträge von AllowedClientCohortPattern möglich.
    Beispiele:
    Instanz Pool3A
    <AllowedClientCohortPattern>Pool3</AllowedClientCohortPattern>
    <AllowedClientCohortPattern>Pool3A</AllowedClientCohortPattern>
    
    Instanz Pool3B
    <AllowedClientCohortPattern>Pool3</AllowedClientCohortPattern>
    <AllowedClientCohortPattern>Pool3B</AllowedClientCohortPattern>
Dienste auf den Servern (Primary/Scaleout) einrichten und starten.
Die Installation des OxasFrontend auf den Scaleout-Servern, ist für APS-Pool-Instanzen nicht nötig.

2. Konfiguration im OpaccOXAS Studio

BC 98220: UserId/CohortId Default-Einstellung für alle AppPools hinterlegen.
BC 98265: UserId/CohortId pro AppPool hinterlegen (wenn hier nichts hinterlegt ist, greift die Default-Einstellung aus BC 98220).
Mögliche CohortId-Pattern für das obige Beispiel:
  • Pool3 - Verarbeitung wird auf Pool3A oder auf Pool3B gestartet. Die Auswahl ist zufällig.
  • Pool3A - Verarbeitung wird auf Pool3A gestartet.
  • Pool3B - Verarbeitung wird auf Pool3B gestartet.
Notiz
Notiz
CohortId-Pattern sind case-sensitive.
CohortId-Pattern mit Wildcards (z.B. Pool3*) funktionieren nicht

3. Applikationspool starten

Es gibt drei Möglichkeiten einen Applikationspool asynchron zu starten:
  • Applikationspool via CloudClient direkt aus BC 98260 starten.
    Dafür ist kein spezielles Vorgehen nötig. Der Applikationspool wird in diesem Fall automatisch asynchron gestartet, sofern die Konfiguration im OpaccOXAS Studio korrekt vorgenommen und die APS-Pool-Instanzen korrekt eingerichtet wurden.
  • Applikationspool via Batch mit ooapppool.bat starten. Dabei sicherstellen, dass das Argument -AsyncProcessing:"on" gesetzt ist (siehe auch Applikationspool starten).
  • Applikationspool via Service Biz.AppPool_Process starten. Dabei sicherstellen, dass das Argument Asynchrone Abarbeitung = 1 gesetzt ist.
    Beispiel:
    Biz.AppPool_Process
    4900
    
    1