2 Randbedingungen
2.1 Technische Randbedingungen
| Randbedingung | Erläuterung |
|---|---|
| Java 21 | LTS-Version; Pflicht für alle Framework-Module und consuming Applications |
| Spring Boot 3.5 | Basis-Framework; alle Auto-Konfigurationen setzen Spring Boot 3.x voraus |
| Maven | Build-Tool; Framework wird als Maven-BOM + einzelne JARs via Artifactory distribuiert |
| PostgreSQL oder SQL Server | Zwei unterstützte Datenbanktypen; PostgreSQL empfohlen, SQL Server für Kunden mit Microsoft-Vorgaben |
| Flyway | Datenbank-Migrationen; Framework liefert eigene Flyway-Skripte; Applikationen ergänzen eigene |
| Kubernetes (On-Premise) | Deployment-Plattform aller produktiven Installationen. Ausnahme: Das
optionale Modul e-gov-ai-rule-generation kommuniziert mit
Azure OpenAI (Cloud-Egress erforderlich); Behörden, die dieses Modul
einsetzen, benötigen eine entsprechende Netzwerk-Freigabe (→
ADR-007) |
| Docker | Container-Laufzeitumgebung; lokale Entwicklung via docker-compose (PostgreSQL, SQL Server) |
| Azure AD + F5 | Vorgelagertes Identity-System; Framework erhält userId
via EGOV_TOKEN-Cookie, führt selbst keine Authentication
durch |
2.2 Organisatorische Randbedingungen
| Randbedingung | Erläuterung |
|---|---|
| Entwicklung durch ti&m AG | Das Framework ist ein internes ti&m-Produkt; Issues und Releases werden intern gesteuert |
| Hosting durch Kundenwahl | Jede Behörde wählt ihren eigenen Hosting-Provider; das Framework muss auf beliebigen On-Premise-Kubernetes-Clustern betreibbar sein. Das optionale KI-Modul setzt zusätzlich Azure-OpenAI-Konnektivität voraus und ist daher nur für Behörden mit entsprechender Cloud-Freigabe geeignet (→ ADR-007) |
| Semantic Versioning | Releases folgen SemVer via Conventional Commits; CHANGELOG wird automatisch generiert |
| ArgoCD für Deployments | Applikationen werden über GitOps-Workflows (ArgoCD) auf Kubernetes ausgerollt |
| Mehrere aktive Produktivsysteme | Bei Kunden der ti&m; Breaking Changes erfordern koordinierte Migrationen |
2.3 Konventionen
| Konvention | Erläuterung |
|---|---|
| Conventional Commits | Commit-Messages nach feat:, fix:,
chore:-Schema; steuert automatische Versionierung |
| Deutsch als Dokumentationssprache | Fachliche Konzepte und Kommentare auf Deutsch; Code auf Englisch |
egov.* Konfigurations-Präfix |
Alle Framework-Properties gruppieren sich unter dem Namespace
egov. in application.yml |
SNAKE_CASE oder
CAMEL_CASE |
Datenbankspaltennamen-Konvention ist pro Deployment konfigurierbar;
Default: CAMEL_CASE |
| OpenAPI via SpringDoc | Alle REST-Endpunkte werden automatisch über
/swagger-ui.html dokumentiert |