TDM Consult GmbHBusiness Flies
Zum Inhalt springen

Legacy Architektur ​

Die Legacy-Architektur bezeichnet den eingefrorenen technischen Stand von Business Flies vor Beginn der Entwicklung von BFlies Next. Sie dient als Referenz für bestehendes Verhalten, Datenstrukturen und Betriebsanforderungen. Das Legacy-System wird nicht mehr funktional weiterentwickelt.

Gesamtbild ​

Business Flies ist eine klassische Java-Webanwendung. Der Browser erhält serverseitig erzeugte JSF-Seiten und umfangreiche JavaScript-Ressourcen. Die Anwendung wird als WAR-Datei gebaut und in einem externen Tomcat 7 mit Java 8 betrieben. Persistente Daten liegen in einer MySQL-Datenbank.

SchichtLegacy-TechnologieAufgabe
BrowseroberflächeJSF/Facelets, RichFaces, Dojo, JavaScript und WebGLDarstellung und Bedienung des dreidimensionalen Wissensraums
HTTP und RESTServlet 3.0, JSF 2.2 und Jersey 2.11Seitenaufrufe, Formulare und REST-Endpunkte
KomponentenmodellCDI mit Weld 2.2Erzeugung und Verknüpfung der Anwendungskomponenten
FachlogikJava-Services und Business ObjectsSuche, Ontologie, Benutzer- und Begriffsverwaltung
PersistenzJPA 2.1 und Hibernate 4.3Objekt-relationaler Zugriff auf MySQL
LaufzeitJava 8 und Apache Tomcat 7Servlet-Container, Authentifizierung und JNDI-Ressourcen
BuildApache ANTJava-Kompilierung, Dojo-Optimierung und WAR-Paketierung
AuslieferungGitLab CI, Buildah und Tomcat-ContainerBuild und Verpackung als Container-Image

Vereinfachter Ablauf ​

  1. Ein Browser ruft eine JSF-Seite oder einen REST-Endpunkt auf.
  2. Tomcat verarbeitet die Anfrage und erzwingt bei geschützten Pfaden die formularbasierte Anmeldung.
  3. JSF-Controller oder Jersey-Ressourcen rufen CDI-verwaltete Services auf.
  4. Die Services verwenden einen per JNDI bereitgestellten Entity Manager beziehungsweise die JPA-/Hibernate-Persistenzschicht.
  5. Hibernate liest und ändert Daten in MySQL.
  6. Die Antwort wird als gerenderte XHTML-Seite oder als JSON an den Browser zurückgegeben.

Kapitel ​

Bedeutung für BFlies Next ​

Die Legacy-Architektur ist kein Zielbild. Sie definiert jedoch den Funktions- und Integrationsumfang, den die neue Plattform zunächst erhalten muss. Insbesondere Datenmodell, Benutzerabläufe, REST-Verhalten und die Erzeugung der produktiven Frontend-Ressourcen müssen bei der Migration berücksichtigt werden.

Die Modernisierung erfolgt bewusst schrittweise. Der erste Meilenstein reproduziert das bisherige WAR mit Maven. Erst danach werden Laufzeit, Authentifizierung, Datenbankmigration, Oberfläche und Deployment modernisiert.