Für mein Projekt HealthHub habe ich mich bewusst für zwei stabile Enterprise-Technologien entschieden:
- Jakarta EE auf WildFly als Application Server
- Microsoft SQL Server als relationale Datenbank
Diese Kombination verbindet zwei Welten, die sich seit vielen Jahren in Unternehmenssoftware bewährt haben: eine strukturierte Application-Server-Architektur auf der einen Seite und eine leistungsfähige relationale Datenbank auf der anderen.
Application Layer: Jakarta EE und WildFly
Als Laufzeitumgebung verwende ich WildFly, einen vollständigen Jakarta-EE Application Server. Der Server bringt viele Infrastrukturkomponenten bereits mit:
- Datasource-Management und Connection Pooling
- Deployment von Webanwendungen (WAR)
- Sicherheitsmechanismen und Authentifizierung
- Thread- und Ressourcenmanagement
- strukturierte Serverkonfiguration
Der Vorteil eines Application Servers besteht darin, dass viele Infrastrukturaufgaben bereits standardisiert gelöst sind und nicht für jedes Projekt neu implementiert werden müssen.
MVC bewusst selbst umgesetzt
Ein interessanter Unterschied zu vielen modernen Webframeworks ist, dass Jakarta EE kein fertiges MVC-Framework “out of the box” liefert.
Die Plattform stellt stattdessen grundlegende Bausteine bereit – etwa Servlets, JSF, CDI oder JPA – aus denen sich eine Architektur zusammensetzen lässt.
Für HealthHub habe ich mich entschieden, das klassische Model-View-Controller Pattern bewusst selbst aufzubauen:
- Model – Domänenobjekte und Persistenz (JPA / Datenbank)
- View – JSF Seiten
- Controller – Managed Beans und Business Logik
Dieser Ansatz bietet weniger Framework-Magie, erlaubt aber eine sehr transparente Architektur und klare Trennung der Verantwortlichkeiten.
Datenbasis: SQL Server
Auf der Datenbankseite setze ich auf Microsoft SQL Server.
Gerade für Anwendungen mit strukturierten Daten und klaren Geschäftsprozessen bietet eine relationale Datenbank entscheidende Vorteile:
- ACID-konforme Transaktionen
- starke Integritätsregeln
- leistungsfähige SQL-Abfragen
- klare Datenmodellierung
- Integration in Reporting- und BI-Systeme
Für HealthHub bildet SQL Server die Grundlage für Benutzerverwaltung, Veranstaltungsdaten und zukünftige Audit-Informationen.
Containerisierte Infrastruktur
Die gesamte Plattform betreibe ich containerisiert über Docker. Application Server und Datenbank laufen dabei als getrennte Container:
healthhub-app (WildFly / Jakarta EE) healthhub-sql (SQL Server)
Diese Architektur ermöglicht reproduzierbare Deployments und eine klar getrennte Infrastruktur.
Warum Jakarta EE und nicht mehr Java EE?
Frühere Versionen der Plattform waren unter dem Namen Java EE bekannt. Seit der Übergabe der Plattform von Oracle an die Eclipse Foundation im Jahr 2017 wird sie unter dem Namen Jakarta EE weiterentwickelt.
Technisch handelt es sich um die Weiterentwicklung des etablierten Enterprise-Java-Standards. Viele bekannte Technologien bleiben Bestandteil der Plattform:
- Servlets
- JavaServer Faces (JSF)
- JPA für Datenzugriff
- JAX-RS für REST APIs
- CDI für Dependency Injection
Die Plattform wird heute offen in der Eclipse Foundation entwickelt und erhält regelmäßig neue Versionen.
Warum Enterprise Java langfristig stabil ist
Viele moderne Webprojekte setzen auf Node.js. Für bestimmte Szenarien ist das sinnvoll – etwa für kleine APIs oder schnelle Prototypen.
Für langlebige Business-Anwendungen, Portale oder datengetriebene Systeme zeigen Enterprise-Plattformen jedoch häufig Vorteile.
| Kriterium | Jakarta EE (Enterprise Java) | Node.js |
|---|---|---|
| Architektur | Application Server mit integrierter Infrastruktur | Framework + viele Einzelbibliotheken |
| Stabilität | Plattformen laufen oft über viele Jahre | Frameworks wechseln schneller |
| Datenbankintegration | Datasource und Connection Pool im Server integriert | Meist über externe Libraries |
| Transaktionen | Container-Managed Transactions | häufig manuelle Implementierung |
| Deployment | Standardisierte WAR/EAR Deployments | individuelle Deployment-Patterns |
| Security | Infrastruktur im Application Server integriert | oft über mehrere Middleware-Libraries |
| Langfristige Wartbarkeit | strukturierte Plattformarchitektur | stärker projektabhängig |
Das bedeutet nicht, dass Node.js schlechter ist – beide Technologien haben ihre Einsatzgebiete. Für Systeme mit langfristigem Betrieb, klaren Datenstrukturen und hohen Anforderungen an Stabilität halte ich eine Enterprise-Plattform jedoch für sehr überzeugend.
Ausblick
Mit dieser technischen Grundlage kann HealthHub nun Schritt für Schritt erweitert werden:
- Registrierungsportale für Veranstaltungen
- mehrere Veranstalter und Event-Management
- Audit-Logging für sicherheitsrelevante Aktionen
- Health- und Monitoring-Endpunkte
- automatisierte Deployments über CI/CD
Die technische Basis steht – jetzt kann die Plattform weiter wachsen.