TDM Consult GmbHBusiness Flies
Zum Inhalt springen

Next Architektur ​

Die Next-Architektur beschreibt das technische Zielbild für die modernisierte Business-Flies-Anwendung. Analog zur ETE-Plattform wird das System in drei klar getrennte Hauptkomponenten gegliedert:

  1. ein eigenständiges Frontend,
  2. ein eigenständiges Backend,
  3. eine relationale Datenbank.

Die Komponenten werden als getrennte Workloads in einem Kubernetes-Cluster betrieben. Sie besitzen eigene Laufzeit-, Konfigurations- und Skalierungsgrenzen, bilden fachlich aber weiterhin eine gemeinsame Anwendung.

Zielbild ​

KomponenteVorgesehene TechnologieVerantwortung
FrontendVue 3 und TypeScriptBenutzeroberfläche und Visualisierung im Browser
BackendJava 21+, Spring Boot und Spring SecurityFachlogik, REST-API, Autorisierung und Persistenzzugriff
DatenbankRelationale Datenbank mit FlywayFachliche Daten, Schema und versionierte Migrationen
IdentitätsdienstKeycloak mit OpenID ConnectAnmeldung, Single Sign-on und zentrale Identitäten
PlattformKubernetesDeployment, Konfiguration, Vernetzung und Betrieb

Zusammenspiel ​

  1. Der Browser lädt das Vue-Frontend über einen HTTPS-Endpunkt des Clusters.
  2. Die Anmeldung erfolgt über Keycloak mit OpenID Connect.
  3. Das Frontend sendet fachliche Anfragen mit einem Zugriffstoken an die Backend-API.
  4. Spring Security validiert das Token und prüft die erforderlichen Rollen und Berechtigungen.
  5. Das Backend führt die Fachlogik aus und greift auf die relationale Datenbank zu.
  6. Flyway bringt das Datenbankschema kontrolliert auf den zum Backend-Release passenden Stand.
  7. Das Backend liefert strukturierte JSON-Antworten an das Frontend zurück.

Direkte Zugriffe des Frontends auf die Datenbank sind nicht vorgesehen. Das Backend bildet die einzige fachliche Schnittstelle zwischen Benutzeroberfläche und Persistenz.

Wesentliche Architekturziele ​

  • Frontend und Backend sind technisch getrennt und unabhängig baubar.
  • Fachlogik und Autorisierungsentscheidungen liegen im Backend, nicht im Browser.
  • Die Backend-Schnittstellen sind explizit dokumentiert und versionierbar.
  • Konfiguration und Secrets werden zur Laufzeit durch Kubernetes bereitgestellt.
  • Container-Images sind unveränderlich und enthalten keine umgebungsspezifischen Zugangsdaten.
  • Das Datenbankschema wird ausschließlich durch versionierte Flyway-Migrationen weiterentwickelt.
  • Keycloak ersetzt die bisherige datenbankbasierte Tomcat-Authentifizierung.
  • Logs, Metriken und Health Endpoints sind in die Betriebsplattform integrierbar.
  • Frontend, Backend und Datenbank können getrennt gesichert, aktualisiert und überwacht werden.

Abgrenzung zur Legacy-Architektur ​

LegacyNext
Gemeinsames WAR mit serverseitiger JSF-OberflächeGetrenntes Vue-Frontend und Spring-Boot-Backend
Externer Tomcat 7 mit Java 8Eigenständiger Backend-Container mit Java 21+
JSF, RichFaces und DojoVue 3 und TypeScript
CDI mit Weld und JAX-RS mit JerseySpring Dependency Injection und definierte HTTP-API
Tomcat DataSourceRealmKeycloak und Spring Security
Historischer Schema-BootstrapFlyway-Migrationen
Containerkonfiguration in TomcatKubernetes ConfigMaps, Secrets und deklarative Ressourcen
Manuell zusammengestelltes WARReproduzierbare Maven- und Frontend-Builds

Kapitel ​

Planungsstand ​

Die Seite beschreibt das angestrebte Zielbild. Einzelheiten wie Datenbankversion, Komponentenbibliothek, konkrete API-Verträge, Kubernetes-Paketierung und Skalierungsparameter werden im Verlauf der Migration festgelegt und anschließend in dieser Dokumentation präzisiert.