ServiceBusInstance

Zu jedem ServiceBusNode gehört mindestens eine ServiceBusInstance. Hier wird u.a. eingetragen, welche bzw. wie viele Prozessorkerne vom ServiceBus verwendet werden (Affinität) und welche Benutzer diese ServiceBusInstance nutzen dürfen. In der Regel wird pro ServiceBusNode nur eine ServiceBusInstance konfiguriert.
Der Bereich ServiceBusInstance kann somit innerhalb von OpaccOneInstallation.xml mehrmals vorkommen und enthält Informationen/Einstellungen, welche spezifisch die jeweilige ServiceBusInstance betreffen.
Innerhalb der ServiceBusInstance wird auch der Betriebsmodus des ServiceBus gesteuert.
Servermode
Im Servermode läuft ein ServiceBus als Dienst auf dem OpaccOXAS-APS. Beim Start von OpaccERP, verbinden sich der Cloud- oder ClassicClient mit dem ServiceBus auf dem OpaccOXAS-APS. Die Verarbeitungen laufen in diesem Fall zentral auf dem OpaccOXAS-APS.
Der Servermode ist der von uns empfohlene Betriebsmodus.
Workstationmode
Im Workstationmode läuft der ServiceBus auf dem jeweiligen PC auf welchem auch OpaccERP läuft. Beim Start von OpaccERP wird zuerst ein ServiceBus gestartet. Anschliessend verbindet sich der ClassicClient mit dem lokalen ServiceBus.
Wir empfehlen, auf den Einsatz des Workstationmode zu verzichten. Ausnahme: Starten von OpaccERP zu Administrationszwecken direkt auf dem OpaccOXAS-APS.

ServiceBusInstance

Element Beschreibung Bemerkung
Label für die Beschreibung der ServiceBusInstance (siehe Beispiel).
Name
Name der ServiceBusInstance.
Description
Beschreibung der ServiceBusInstance.
Comment
Kommentar zur ServiceBusInstance.
Activated
ServiceBusInstance aktiv oder passiv.
Mögliche Werte: true/false
Path
Pfad zu Opacc.ServiceBus.App.exe.
Leer lassen!
Mode
Betriebsmodus der ServiceBusInstance. Server = Servermode, Workstation = Workstationmode. Dieser Eintrag bestimmt somit den Betriebsmodus von OpaccERP.
Mögliche Werte: Server/Workstation
Notiz
Notiz
In der Datei OpaccOneInstallation.xml sollte mindestens ein Server-Mode und zusätzlich ein Workstation-Mode konfiguriert sein. Konfigurieren Sie für diese Betriebsmodi unbedingt eigene Cluster!
ServerModeProcessorAffinity
Prozessor-Affinität (nur wirksam im Server-Mode).
Über die Prozessor-Affinität wird bestimmt, welche Prozessorkerne die ServiceBusInstance nutzen darf.
Die Prozessor-Affinität wird, basierend auf dem Bitset, als Dezimalzahl erfasst.
Beispiel
Es stehen 16 Prozessorkerne zur Verfügung. Davon sollen der ServiceBusInstance die Kerne 2, 3 und 4 zugewiesen werden. Die Prozessorkerne werden von rechts nach links zugewiesen. Der Kern 1 steht also ganz rechts.
Bitset für die Prozessorkerne 2, 3 und 4: 0000 0000 0000 1110
Diese Binäre Zahl wird nun in eine Dezimalzahl umgerechnet: 2 + 4 + 8 = 14
Somit ist bei ServerModeProcessorAffinity 14 einzutragen:
<ServerModeProcessorAffinity>14</ServerModeProcessorAffinity>
ProgressUpdateIntervalInSeconds
Aktiviert bei Bedarf die Start-Index Einträge in den Monitor-Objekten.
Diese Einstellmöglichkeit wird im Normalfall nicht benötigt.
Empfehlung: Kein Eintrag erfassen bzw. vorhandenen Eintrag als Kommentar stehen lassen.
AllowedClientCohortPattern
ClientCohort-Pattern für die Identifikation von Clients, die mit dem CloudClient arbeiten.
Defaultwert: Default.ErpClient
PublicWsBaseUrl
Zugriff auf die ServiceBus-Schnittstelle via "Custom Reverse Proxy". Also über eine beliebige URL.
Defaultwert: Leer
ProgressSetEndAfterNotRespondingIntervalInMinutes
Intervall in welchem die Monitor-Objekte in den Status 28 - Beendet ohne Rückmeldung gesetzt werden, sofern folgende Bedingungen erfüllt sind:
  • Das Monitor-Objekt hat den Status 10 - Keine Rückmeldung.
  • Der Prozess gemäss Rechner-PID (ComputerPID) ist nicht mehr vorhanden.
Die Einstellung ist nur notwendig, wenn man vom Standard abweichen möchte.
Notiz
Notiz
Sofern in der Datei OpaccOneInstallation.xml nichts eingestellt ist, werden die Monitor-Objekte standardmässig in einem Intervall von 60 Minuten überprüft.
OrderedAccessRule
Bestimmt den Zugriff auf die ServiceBusInstance.
Wird kein zutreffender Eintrag gefunden, wechselt das System zum nächsten Cluster. Wird gar kein zutreffender Eintrag gefunden, kann OpaccERP nicht gestartet werden.
Die OrderedAccessRule bestimmt, wer die ServiceBusInstance nutzen darf.
Dabei gibt es drei Arten, wie der Zugriff identifiziert und gesteuert werden kann:
  • Über den Computernamen.
  • Über den Benutzernamen.
  • Über die IP-Adresse.
AllowedClientComputerRule
Erlaubt den Zugriff für den angegebenen Computernamen.
AllowedWindowsUserRule
Erlaubt den Zugriff für den angegebenen Benutzernamen.
AllowedWindowsGroupRule
Erlaubt den Zugriff für die angegebene Windows-Benutzergruppe.
AllowedClientIpAddressRule
Erlaubt den Zugriff für die angegebene IP-Adresse bzw. den IP-Range.
DeniedClientComputerRule
Verweigert den Zugriff für den angegebenen Computernamen.
DeniedWindowsGroupRule
Verweigert den Zugriff für die angegebene Windows-Benutzergruppe.
DeniedWindowsUserRule
Verweigert den Zugriff für den angegebenen Benutzernamen.
DeniedClientIpAddressRule
Verweigert den Zugriff für die angegebene IP-Adresse bzw. den IP-Range.

Beispiel - Server-Mode mit PublicBaseUrl-Eintrag

<ServiceBusInstance label="Servermode BOF-Instanz">
  <Name>Servermode_BOF</Name>
  <Description>Servermode ServiceBus-Instanz.</Description>
  <Comment>Konfiguration für die Servermode ServiceBus-Instanz.</Comment>
  <Activated>true</Activated>
  <Path></Path>
  <Mode>Server</Mode>
  <!-- CPU 2,3,4 (Bitset: 0000 0000 1110) 2+4+8=14 -->
  <ServerModeProcessorAffinity>14</ServerModeProcessorAffinity>
  <!-- CloudClient -->
  <AllowedClientCohortPattern>Default.ErpClient</AllowedClientCohortPattern>
  <PublicWsBaseUrl>https://server.opacc.biz:8843/Opacc/ServiceBus/Interface/Ws</PublicWsBaseUrl>
  <!-- Verweigern/Umleiten der Integration Services (SERVICES und AGENTS) -->
  <OrderedAccessRule>
    <DeniedWindowsUserRule>OpaccServiceIS</DeniedWindowsUserRule>
  </OrderedAccessRule>
  <!-- Verweigern/Umleiten der Pool-Anwendungen -->
  <OrderedAccessRule>
    <DeniedWindowsUserRule>OpaccServicePOOL</DeniedWindowsUserRule>
  </OrderedAccessRule>
  <!-- Für alle anderen: Zugriff erlaubt. -->
  <OrderedAccessRule>
    <AllowedClientIpAddressRule>0.0.0.0/0.0.0.0</AllowedClientIpAddressRule>
  </OrderedAccessRule>
</ServiceBusInstance>

Beispiel - Workstation-Mode

<ServiceBusInstance>
  <Name>Workstation-ServiceBus</Name>
  <Description>Workstation-ServiceBus-Instanz</Description>
  <Comment>Konfiguration für die Workstation-ServiceBus-Instanz</Comment>
  <Activated>true</Activated>
  <Path></Path>
  <Mode>Workstation</Mode>
  <!-- IP-Address Ranges in der Form [Base-Address]/[Mask] zum Beispiel 192.168.0.0/255.255.0.0 -->
  <!-- Wenn nichts konfiguriert ist gilt: Alle Clients erlaubt -->
  <OrderedAccessRule>
    <AllowedClientComputerRule>testsrva</AllowedClientComputerRule>
  </OrderedAccessRule>
  <OrderedAccessRule>
    <AllowedClientComputerRule>testsrvb</AllowedClientComputerRule>
  </OrderedAccessRule>
  <OrderedAccessRule>
    <AllowedWindowsUserRule>ueliamstutz</AllowedWindowsUserRule>
  </OrderedAccessRule>
  <OrderedAccessRule>
    <AllowedWindowsUserRule>romanvonwil</AllowedWindowsUserRule>
  </OrderedAccessRule>
  <OrderedAccessRule>
    <!-- Alle Verweigern, ausser die vorgängig angegebenen Benutzer. -->
    <DeniedClientIpAddressRule>0.0.0.0/0.0.0.0</DeniedClientIpAddressRule>
  </OrderedAccessRule>
</ServiceBusInstance>