ti&m e-gov-framework

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