Softwarearchitekturkonzept: ePPM Nexus
Architektur-Spezifikation nach dem internationalen Arc42-Standard für Großkonzerne
Einführung und fachliche Ziele
Problemstellung, Geschäftskontext und Qualitätsanforderungen
In Konzernumgebungen und Großunternehmen erfordert die Führung hunderter zeitgleicher Großvorhaben eine lückenlose Governance bei minimalem bürokratischem Mehraufwand für die Projektleiter. Herkömmliche Enterprise-Tools scheitern oft an überladener Komplexität, langen Latenzzeiten und unklaren Phasenübergängen.
ePPM Nexus standardisiert das Multiprojektmanagement durch eine intuitive, hochperformante Web-Plattform mit drei klaren Phasen und verbindlichen Meilensteinen:
PreSales (G0 & G1)
Projektinitiierung (G0) und formale Angebotseinreichung / Submittal (G1). Steuerung von Auftragswert (TCV) und Presales-Investitionen.
PostSales (G2 bis G6)
Vertragsabschluss (G2) leitet die Umsetzungsphase ein. Architektur (G3), Rollout (G4), Fertigstellung (G5) bis zur Endabnahme (G6).
Closed (Archiviert)
Vollständige Betriebsübergabe an Operations / Service Management, Gewährleistungsphase und Lessons-Learned-Archivierung.
Kern-Qualitätsziele (ISO/IEC 25010)
| Qualitätsziel | Architektonische Maßnahme | Messbares Kriterium |
|---|---|---|
| Datenschutz & DSGVO | 100% On-Premise Ausführung ohne externe Web-APIs oder Cloud-LLM-Pipelines. | 0 Byte externer Datenabfluss |
| Verlässlichkeit (0% Halluzination) | Deterministische regelbasierte Inferenz-Engine für wöchentliche Statusberichte. | 100% faktenbasiert & auditierbar |
| Echtzeit-Performance | Kompakter Async-ASGI-Stack (FastAPI) und DOM-Caching ohne schwere Virtual-DOM-Layers. | Latenz < 50 ms |
| Revisionssicherheit | Automatisierte Gate-Kaskadierung und unveränderbare Wochenbericht-Archive. | Lückenloser Nachweis |
Randbedingungen & rechtliche Vorgaben
Betriebsratskonformität, DSGVO und Infrastrukturvorgaben
In Konzernen unterliegt die Leistungskontrolle von Einzelpersonen strikten Mitbestimmungsrechten (§ 87 Abs. 1 Nr. 6 BetrVG). Das Ressourcenmodul in ePPM Nexus erfasst daher ausschließlich rollenbasierte FTE-Kontingente (z. B. "50% FTE Rolle Lead Architect in Periode 2026-Q4") ohne minutengenaue Zeiterfassung oder personenbezogene Überwachung.
Das gesamte System läuft vollständig isoliert in abgeschirmten Sicherheitsnetzwerken (Air-Gapped DMZ). Es werden zu keinem Zeitpunkt externe Bibliotheken, Schriften oder Cloud-APIs aus dem öffentlichen Internet nachgeladen.
Kontextabgrenzung & Schnittstellen
Einbettung in die bestehende IT- und Unternehmenslandschaft
Das folgende Diagramm visualisiert die Systemgrenze von ePPM Nexus und die Kommunikationskanäle zu Anwendern, Controlling-Tools und Konzernsystemen:
Lösungsstrategie & Architekturentscheidungen (ADR)
Verbindliche Architecture Decision Records mit Begründung und Konsequenzen
Kontext: Das Backend benötigt höchste Lese- und Schreib-Performance bei minimalem Speicherbedarf und automatischer Validierung aller Eingabeparameter.
Entscheidung: Einsatz von FastAPI auf Basis von Starlette und Pydantic anstelle schwergewichtiger Frameworks (Django, Java Spring Boot).
Konsequenz: Durchsatz von $> 10.000$ Requests/Sekunde, automatische interaktive OpenAPI-Dokumentation (`/docs`), geringster Speicherbedarf ($< 60\,\text{MB}$).
Kontext: Das System soll ohne aufwendige Datenbank-Cluster auf Einzelsystemen und in Containern laufen, aber bei Bedarf nahtlos auf Enterprise-PostgreSQL umschaltbar sein.
Entscheidung: Verwendung von SQLite mit aktiviertem Write-Ahead-Logging (`PRAGMA journal_mode=WAL`), vollständig gekapselt über SQLAlchemy ORM.
Konsequenz: Null Konfigurationsaufwand für lokale Instanzen; paralleles Lesen ohne Schreibblockaden. Die Umschaltung auf PostgreSQL erfordert ausschließlich das Ändern der `DATABASE_URL`.
Kontext: Node.js-Buildketten (Webpack, Vite) führen in Konzern-Pipelines häufig zu Sicherheitswarnungen (CVEs in Unter-Abhängigkeiten) und Wartungsbrüchen.
Entscheidung: Das Frontend wird als native ES6+ Single-Page Application ohne vorgelagerten Node.js-Buildprozess implementiert.
Konsequenz: Ladezeiten im Millisekundenbereich, null Build-Abhängigkeiten, extreme Langzeitstabilität über viele Jahre hinweg.
Kontext: Externe Cloud-LLMs bergen das Risiko von Halluzinationen (erfundene Meilensteine), Datenschutzrisiken (Übertragung von Finanzzahlen) und hohe API-Kosten.
Entscheidung: Für wöchentliche Statusberichte und KPI-Synthesen kommt ein regelbasiertes deterministisches Expertensystem zum Einsatz.
Konsequenz: 100% verlässliche Zahlen, 0 € laufende Kosten, Antwortzeit < 10 ms, volle Revisionssicherheit für Wirtschaftsprüfer.
Kontext: Die Authentifizierung muss nahtlos mit Enterprise-IAM-Systemen (Azure AD, Keycloak, OAuth2-Proxy) harmonieren, ohne die Anwendungslogik an einen spezifischen Provider zu koppeln.
Entscheidung: Autorisierung erfolgt über standardisierte HTTP-Header (X-User-Role, X-Project-Manager), die vom Reverse Proxy vertrauensvoll injiziert werden.
Konsequenz: Perfekte Entkopplung von IdP und Fachlogik; rollenbasierte Datenfilterung (PL sieht nur eigene Projekte, PMO hat Vollzugriff) direkt im Backend.
Kontext: Großunternehmen verlangen simultane Zweisprachigkeit (DE/EN) für internationale Steuerungsgremien. Cloud-Übersetzer (DeepL, Google Translate) verletzen DSGVO und Vertraulichkeitsauflagen für vertrauliche Projektdaten.
Entscheidung: Realisierung einer internen, lexikonbasierten Übersetzungs-Engine (app/translator.py) mit bidirektionaler Phrasen- und Begriffs-Transformation.
Konsequenz: 100% Offline-Fähigkeit, Ausführung in < 1 ms im Hauptspeicher, 0 € Schnittstellenkosten, absolut null Datenabfluss nach extern.
Bausteinsicht (Building Block View)
Hierarchische Zerlegung des Systems in Schichten und Module
hub Gesamtarchitektur-Blueprint: ePPM Nexus (Alle Schichten & Features)
Arc42 V2.5 High-ResolutionSchichtenarchitektur & Modulstruktur
Kernkomponenten im Codebase
app/main.py
Zentraler App-Router, Dependency Injection für DB-Sessions, REST-Endpunkte, Gate-Kaskadierungslogik und Druckvorlagen.
app/models.py & schemas.py
Relationales Datenmodell (6 Tabellen) und strikte Pydantic Validierungsschemas für Ein- und Ausgaben mit dynamischer Übersetzung.
app/translator.py
Deterministische Zero-Cloud Translation Engine mit bidirektionalem Fachlexikon für Phasen, Gates, Risiken, Changes und PSR-Berichte.
app/excel_helper.py
Hochrobuste Im- und Export-Pipeline mit Zellstilen, Zahlenformatierungen, Excel-Vorlagen und Spalten-Alias-Normalisierung.
app/templates/index.html
Reaktive Single-Page Application mit zweisprachiger DE/EN Engine, responsivem Mobile Header, Spaltenfiltern und Cockpit-Tabs.
app/templates/*_print.html
Druckoptimierte CSS Paged Media Templates (1-Pager PSR und Portfolio-Wochenbericht) mit bilingualer Textsynthese.
Laufzeitsicht (Runtime Scenarios)
Dynamisches Verhalten bei zentralen Anwendungsfällen
A Ablauf: EDRA Gate-Integrität & automatische Kaskadierung (G0 → G6)
Ein zentrales Architekturmerkmal ist die strikte chronologische Sequenzlogik (G0 → G6). Wenn ein Anwender beispielsweise Gate 3 (Solution Design) als erreicht markiert, prüft das System serverseitig in enforce_gate_sequence_and_phases() den Status der Vorgänger und synchronisiert die Phase:
Wird hingegen ein Gate geleert (z. B. G2 auf offen zurückgesetzt), werden alle nachfolgenden Gates (G3 bis G6) atomar zurückgesetzt und die Phase auf PreSales de-eskaliert. Dadurch ist ein inkonsistenter Datenbestand mathematisch ausgeschlossen.
B Ablauf: Zero-Cloud Bilingual Translation Engine (Option A)
Die Übersetzung erfolgt vollständig deterministisch und im Hauptspeicher ohne Latenz oder Cloud-APIs:
C Ablauf: Mehrstufiger Change Request Genehmigungsworkflow
Änderungen an Budget, Terminplan oder Scope durchlaufen eine Schwellenwert-basierte Freigabekaskade:
- Stufe 1 (Operativ): Budget-Auswirkung ≤ 50.000 € und Terminverschiebung ≤ 4 Wochen erfordern die Freigabe durch das PMO.
- Stufe 2 (Executive): Größere Änderungen (> 50.000 € oder > 4 Wochen) eskalieren automatisch an das Executive Board / Steering Committee zur finalen Freigabe.
Verteilungssicht & Deployment
Containerisierung, Reverse Proxy und Hochverfügbarkeit
ePPM Nexus wird als leichtgewichtiger OCI-Container (Docker / Podman) bereitgestellt:
Unprivilegierter Container auf Python:3.11-slim Basis mit persistent gemountetem Volume für die Datenbankdatei.
Nginx, Envoy oder Corporate F5 Load Balancer mit TLS 1.3 Terminierung und automatischer Header-Injektion.
Dank SQLite WAL-Modus kann die Datenbank im laufenden Betrieb ohne Locking als konsistente Datei gesichert werden.
Querschnittliche Konzepte & Security
Rollen, Sicherheit, Theme Engine und Accessibility
Rollen- und Berechtigungskonzept (RBAC Matrix)
| Rolle | Projekte anlegen / löschen | Gates & Status pflegen | Wöchentlicher PSR | Change Requests | Ressourcen & FTE |
|---|---|---|---|---|---|
| PMO (Governance) | Vollzugriff | Vollzugriff | Vollzugriff | Freigabe Stufe 1 & 2 | Vollzugriff |
| Projektleiter (PL) | – | Eigene Vorhaben | Eigene Vorhaben | Nur Beantragen | – |
| Executive / Board | Nur Lesen | Nur Lesen | Nur Lesen | Freigabe Stufe 2 | Nur Lesen |
| Ressourcen-Manager | – | Nur Lesen | Nur Lesen | – | Vollzugriff (BR-konform) |
Architektur-Bewertung & Zukunftsfähigkeit
Risikoanalyse und strategische Integrations-Roadmap
Geplante Meilensteine der Integrations-Roadmap
FastAPI Core, Reactive SPA, EDRA Gate Systematik, Deterministisches KI-Expertensystem, Excel-Engine.
PostgreSQL / MSSQL Cluster-Treiber, OIDC / SAML2 Single-Sign-On Adapter für Azure Active Directory.
SAP FI/CO Budget-Synchronisation, Jira / Azure DevOps Konnektoren und Microsoft Teams Webhook-Dispatcher.