WERBAS//KSR NET – Fusion API, WERBAS Gateway und REST API: Überblick und Abgrenzung (ab Version 11.0.0)

Einleitung

Mit Version 11.0.0 wurde die Fusion API als neue einheitliche Schnittstelle eingeführt. Dieser Artikel erklärt, was die Fusion API ist, wie sie sich vom bisherigen WERBAS Gateway und der klassischen REST API unterscheidet, welche Kommunikationswege nebeneinander existieren und was im Mehr-BO-Server-Betrieb beachtet werden muss.

Begriffe im Überblick

Die folgenden Begriffe sind für das Verständnis der Architektur zentral.

WERBAS Gateway

Das WERBAS Gateway ist eine Schnittstelle des BO-Servers, die für interne Funktionen genutzt wird, zum Beispiel den Abruf von Server-Traces oder die Registrierung für die REST API. Die Kommunikation läuft über eine Message Queue auf Basis von RabbitMQ.

Fusion API

Die Fusion API ist die neue einheitliche Schnittstelle eines BO-Servers ab Version 11.0.0. Sie stellt sowohl bisherige Gateway-Funktionen als auch Funktionen der REST API über einen gemeinsamen Rahmen bereit. Das Gateway existiert damit nicht mehr als eigenständiger Kommunikationskanal, sondern als Kategorie innerhalb der Fusion API mit vergleichbaren Funktionen.

Zweiteilung der Fusion API

Der Begriff Fusion API bezeichnet zwei technisch unterschiedliche Komponenten, die sauber getrennt betrachtet werden müssen.

Zweiteilung der Fusion API

Teil

Technik

Rolle

Server-Bind

HTTP über Kestrel auf Port 8321

Eingehender Endpunkt je BO-Instanz

Fusion-Client RabbitMQ-RPC Transportweg für Client-Anfragen an den kundenspezifischen BO-Server

Wesentliche Abgrenzung

Der Port 8321 ist nicht der eigentliche Weg, über den externe Client-Requests in den kundenspezifischen BO-Server gelangen. Diese Kommunikation läuft über den Message-Broker per RabbitMQ im RPC-Muster.

Erreichbarkeit

Sowohl das alte WERBAS Gateway als auch die MQ-Funktionalität der Fusion API sind über eine Message Queue erreichbar. Solange ein BO-Server mit dem Internet verbunden ist, ist er über diesen Weg ansprechbar. Bei der Fusion API gilt dies, sofern die MQ-Funktionalität nicht deaktiviert wurde.

Die drei Kommunikationswege im Überblick

Ab Version 11.0.0 existieren drei Kommunikationswege nebeneinander, die unterschiedliche Rollen erfüllen.

Kommunikationswege ab Version 11.0.0

Weg

Transport

Rolle

Status ab Version 11.0.0

Fusion API

RabbitMQ-RPC plus HTTP-Bind auf Port 8321

Neue einheitliche Client-Schnittstelle

Neu ab 11.0.0

WERBAS Gateway (MQ)

RabbitMQ für ältere Gateway- und Reporting-Methoden

Bisheriger MQ- und Gateway-Weg

Weiterhin vorhanden, parallel

Klassische REST API HTTPS über Port 8085 REST-Endpunkte für Cloud und WERBAS.blue Weiterhin vorhanden, parallel

Tooling – Welches Werkzeug nutzt welchen Weg

Die folgende Übersicht zeigt, welche Werkzeuge auf welchen Kommunikationsweg aufsetzen.

Werkzeuge und Kommunikationswege

Werkzeug

Nutzt welchen Weg

Hinweis

MQ-Manager

Altes WERBAS Gateway

Ab Version 11 ist ein BO-Server hierüber nicht mehr erreichbar

CRM (WERBAS.blue)

Gateway-Funktionen

Nicht alle Funktionen verfügbar; teilweise berechtigungsabhängig

System Insights

Fusion API

Nutzt die Gateway-Endpunkte über die Fusion API

C#-Client (NuGet) Fusion API Kann in eigene Anwendungen integriert werden und alle Funktionen der Fusion API nutzen

Mehr-BO-Server-Betrieb

Im Betrieb mit mehreren BO-Servern müssen die Kommunikationswege gezielt gesteuert werden, um Konflikte bei der Nachrichtenverarbeitung zu vermeiden.

WERBAS Gateway (alt)

Das alte Gateway darf nur an einem einzigen BO-Server aktiviert sein. Sind mehrere Instanzen gleichzeitig aktiv, entsteht unerwartetes Verhalten bei der Verarbeitung der Nachrichten in der Queue. Die Steuerung erfolgt über das Deaktivieren der REST API an allen Sekundär-Instanzen, wodurch auch das Gateway deaktiviert wird.

Fusion API

Die MQ-Funktionalität der Fusion API darf aktuell ebenfalls nur an einem BO-Server aktiv sein. Ein zweiter BO-Server wird technisch daran gehindert, auf Nachrichten in derselben Queue zu hören. Dennoch können unterschiedliche Startreihenfolgen der Server zu unerwünschtem Verhalten führen. Die Konfiguration muss daher bewusst gesteuert werden.

 

Artikel ID: 3951930

War dieser Artikel hilfreich?