Grundbild Enterprise Java
Warum Enterprise Java mehr ist als eine Sammlung von Frameworks.
Was Enterprise Java bedeutet
Enterprise Java ist die Fähigkeit, fachliche Abläufe, technische Laufzeitumgebungen, Datenhaltung, Integration, Sicherheit, Betrieb und Änderbarkeit gemeinsam zu beherrschen. Ein Senior-Entwickler denkt nicht nur in Klassen, sondern in Verträgen, Grenzen, Lebenszyklen, Fehlerszenarien und betrieblichen Nachweisen.
| Ebene | Typische Bausteine | Worauf du achten musst |
|---|---|---|
| Fachlichkeit | Order, Customer, Invoice, Payment, Contract | Begriffe stabilisieren, Invarianten schützen, Use Cases klar schneiden |
| Anwendung | REST, SOAP, Events, Batch, UI | Input validieren, Fehlerverträge, Idempotenz und Transaktionen definieren |
| Persistenz | JPA/Hibernate, JDBC, Migrationen | Aggregatgrenzen, Fetching, Locking, Konsistenz und Performance |
| Integration | Kafka, JMS, REST Clients, SOAP Clients | Schema-Versionierung, Retry, Timeout, DLQ, Kompatibilität |
| Betrieb | Container, Kubernetes/OpenShift, Observability, Security | Health Checks, Ressourcen, Logs, Traces, Secrets und SLAs |
Fachliche und technische Sicht trennen
Eine typische Fehlerquelle in Enterprise-Projekten ist, dass technische Begriffe die fachlichen Begriffe verdrängen. Dann spricht das Team nur noch über Controller, Repository und Entity, aber nicht mehr über Bestellung, Zahlung, Rechnung, Storno oder Lieferfreigabe. Gute Enterprise-Architektur beginnt mit einem fachlichen Modell und bildet dieses Modell technisch kontrolliert ab.
Fachliche Sicht
Was passiert im Unternehmen? Welche Entscheidung wird getroffen? Welcher Zustand ändert sich?
Technische Sicht
Welche Schnittstelle nimmt die Anfrage an? Welche Transaktion läuft? Welche Daten werden gespeichert?
Betriebliche Sicht
Wie erkennt man Fehler? Wie wird skaliert? Was passiert bei Ausfall von DB, Broker oder Partner-API?
Typischer Enterprise-Request
Ein einzelner HTTP-Request wirkt einfach, enthält aber viele implizite Entscheidungen: Authentifizierung, Autorisierung, DTO-Mapping, Validierung, Transaktionsstart, Domain-Aufruf, Persistenz, Fehlerbehandlung, Logging, Metriken und Trace-Kontext. Für kleine Demos kann man diese Themen ignorieren. In Enterprise-Systemen müssen sie bewusst standardisiert werden.