Die neue HTML UI der B2B (NUI) ersetzt die alte Flash UI. Mit ihr beginnt die B2B in Microservices zu zerfallen. Das bedeutet Sie können entscheiden, welche UI Komponenten Sie benötigen und installieren. Die NUI kann zusätzlich zur bestehenden B2B installiert werden, alte Knoten müssen nicht angepasst werden.
Applikationen
Bisher bestand die Landschaft von Anwendungen, welche wir zum Beispiel als “Produktion B2B” bezeichnen aus einer einzelnen Anwendung meist auf einem Cluster von Tomcat Instanzen.
Konkret haben wir mehrere Tomcat Instanzen, auf denen jeweils das Webarchiv b2bbp-engine.war
ausgerollt oder deployt wird.
Damit ist auf jeder Tomcat Instanz die vollständige B2B by Practice inkl. aller Endpunkte (Servlets, REST-Endpunkte, …) und der Oberfläche verfügbar.
Dieses Szenario ändert sich nun. Die Aufgaben werden sich auf verschiedene Microfrontends & Microservices verteilen.
Beispiele für diese Services sind:
- die bekannte B2B Tomcat-Webanwendung (b2bbp-engine)
- das neue Microfrontend B2B-UI für den Message Monitor und andere UIs
- der FSS als Microservice
Wir erwarten, dass auch zukünftig weitere Microservices entstehen.
Eine Systemstufe oder -landschaft besteht also zukünftig aus mehreren Services bzw. Microservices. Um zum Beispiel bei der Authentifizierung möglichst wenig Mehraufwand zu erzeugen, sollten sich alle Anwendungen auf die für den Endbenutzer gleiche Art und Weise authentifizieren. Dieser Login wird von Keycloak durchgeführt.
Damit Sie entscheiden können, welche UIs & Services Sie installieren möchten, folgt eine Übersicht aller beteiligten Komponenten:
Keycloak
Alle neuen Applikationen werden über Keycloak abgesichert. Damit benötigen alle neuen & teilweise auch alten Applikationen Zugriff zu Keycloak.
Keycloak benötigt eine eigene Datenbank.
Für eine möglichst einfache Umstellung empfehlen wir zunächst einen Parallelbetrieb in folgender Form:
- die bisherigen B2B (FSS) Knoten werden nicht modifiziert und kommunizieren nicht mit Keycloak. Sie dienen nur noch backendseitiger Nachrichtenverarbeitung ohne UI.
- für die NUI werden ein neuer B2B (FSS) Knoten installiert. Dieser wird auf Keycloak umgestellt. Die Applikationen der NUI kommunizieren ausschließlich mit diesem Knoten.
Es ist möglich, bestehende User aus der B2B nach Keycloak zu migrieren, oder alternativ ein bestehendes LDAP direkt an Keycloak anzubinden.
SSO
Dadurch, dass sich alle Applikationen am Authentifizierungs-Server Keycloak einloggen,
ist automatisch für die jeweilige Landschaft ein Single-Sign-On
(SSO) gewährleistet.
Einmal an einem Service innerhalb der Landschaft (konkret: gleicher Keycloak Realm) angemeldet,
kann jeder andere Service in der gleichen Landschaft ohne erneuten Login aufgerufen werden.
B2B Tomcat
Die bisherigen Tomcats können weiterlaufen und übernehmen die Backend-seitige Nachrichtenverarbeitung.
Es wird ferner mind. 1 Tomcat mit B2B für die NUI benötigt. Er wird von der B2B-Functional-UI und von der B2B-Admin-UI genutzt. Dieser Knoten muss auf Keycloak umgestellt werden. Falls Sie einen dedizierten Knoten für die alte UI haben, wäre es denkbar, diesen zum Einsatz für die neue UI umzurüsten. Alternativ können Sie auch einen neuen Knoten installieren.
Wie immer greifen alle Knoten auf die gemeinsame Datenbank, den gemeinsamen Index, und das gemeinsame Logverzeichnis zu.
B2B-UI
Auch B2B-Functional-UI genannt.
Diese enthält:
- Dashboard mit News & Statistiken
- MessageMonitor
- Arbeitsvorräte
- MpidEditor
- Systemweiche
- Manueller Versand
Dieses Modul kommuniziert mit einer B2B im Tomcat.
B2B-Admin-UI
Diese enthält:
- Customizing Administration
- Kommunikationsbeziehungen (AS2)
- Lock Tabelle
- Queue Tabelle
- Systemfehler
Dieses Modul kommuniziert mit einer B2B im Tomcat.
B2B-RevisionInfo UI & Backend
Mit der RevisionInfo bietet die B2B die Möglichkeit, die Anpassungen an verschiedenen Konfigurationen (z.B. Customizing) zu dokumentieren.
Das Feature wurde entkoppelt und benötigt nun keinen Tomcat mehr. Stattdessen gliedert es sich in eine B2B-RevisionInfo-UI & einen B2B-RevisionInfo-Service. Der Service greift auf die bestehende Datenbank zu.
Um mittelfristig die RevisionInfo aus dem Tomcat herauszulösen, kann die B2B im Tomcat mit dem RevisionInfo-Service kommunizieren, wenn der Tomcat auf Keycloak umgestellt wurde. Ansonsten nutzt der Tomcat die alte integrierte RevisionInfo Logik.
B2B-UserMessages UI & Backend
Auch SystemMessages und Notification genannt.
Mit den UserMessages kann ein Admin Nachrichten an UI-User schicken.
Das Feature wurde entkoppelt und benötigt nun keinen Tomcat mehr. Stattdessen gliedert es sich in eine B2B-UserMessages-UI & einen B2B-UserMessages-Service. Der Service greift auf die bestehende Datenbank zu.
Alle andern UIs greifen auf den B2B-UserMessages-Service zu.
B2B-IndexManagement UI & Backend
Mit Hilfe des IndexManagements kann ein Admin lesend auf B2B-Searchlayer-Indexe zugreifen.
Das Feature wurde entkoppelt und benötigt nun keinen Tomcat mehr. Stattdessen gliedert es sich in eine B2B-IndexManagement-UI & einen B2B-IndexManagement-Service. Der Service greift auf die bestehenden Indexe auf dem Dateisystem zu.
B2B-Portal-UI
Die Portal-UI dient als Startpunkt. Von hier können alle anderen UIs aufgerufen werden.
Die Portal-UI greift auf alle UIs zu und alle UIs greifen auf die Portal-UI zu. Die Portal-UI benötigt keinen Zugriff zum Tomcat.
FSS UI & Backend
Die neue FSS-UI enthält:
- Zertifikatsverwaltung
- Regelwerk
Die FSS-UI greift auf ein bestehendes FSS Backend zu. Weder UI noch Backend benötigen Zugriff zum Tomcat.
Cluster Betrieb
Um die Ausfallsicherheit zu erhöhen, können die NUI Applikationen auch als Cluster betrieben werden. Dies empfiehlt sich insbesondere für Keycloak.
Prinzipiell ist es möglich alle Applikationen mehrfach parallel auszuführen. Dann sollten Loadbalancer verwendet werden, um mehrere Instanzen hinter einer einzigen Adresse zu bündeln.
Geteilte Ressourcen
Datenbank
NUI & alte B2B greifen auf die gleiche Datenbank zu.
Index
NUI & alte B2B greifen auf die gleichen Indexe zu. Diese können z.B. über das Filesystem gemountet werden.
Versionsnummern
Wir empfehlen immer zusammengehörende Versionsnummern einer Release-Veröffentlichung zu nutzen, da diese von uns zusammenhängend getestet wurden. Die aktuellen Versionen werden in den Release Notes sowie in der Kompatibilitätsübersicht aufgelistet.
Installation
Unsere Installationsanleitung teilt sich in zwei Varianten:
Die Installation der FSS-UI ist teilt sich ebenfall in zwei Varianten[hier]:
Abhängig von ihrer Organisations- und Unternehmensstruktur fallen diese Aufgaben gewöhnlich unterschiedlichen Bereichen zu. Typischerweise sind Installationen Aufgaben einer IT-Abteilung. Die Konfiguration der verschiedenen Produkte, sowie Wartung (z.B. Deployments), sind häufig Aufgaben einer administrativen Abteilung.
Wir als Next Level Integration
unterstützen gerne vor allem mit Dokumentation und Empfehlungen.
Nach Möglichkeit unterstützen wir ebenso bei der Konfiguration der verschiedenen Komponenten, versuchen aber alle relevanten Punkte in der Dokumentation darzustellen.