9. Technische Anforderungen
9.1 Grundanforderungen
Die Plattform soll modular aufgebaut werden.
Vorzusehen sind mindestens:
- relationale Datenbank
- REST-API
- Web-Frontend
- SSO-Anbindung
- rollenbasierte Berechtigungen
- Hintergrunddienste bzw. Worker
- Integrationsschicht
- Audit-Logging
- zentralisiertes Fehlerlogging
- Monitoring
- konfigurierbare Normalisierungsregeln
- konfigurierbare Prüfregeln
Die einzelnen Komponenten sollen möglichst unabhängig voneinander erweitert oder ausgetauscht werden können.
9.2 API
Die zentrale API muss versioniert werden.
Beispielsweise:
/api/v1/customers
/api/v1/suppliers
/api/v1/payment-terms
/api/v1/dunning-terms
Die API muss mindestens unterstützen:
- Authentifizierung
- Autorisierung
- GET
- POST
- PUT/PATCH
- Suche
- Filterung
- Pagination
- Versionierung
- strukturierte Fehlercodes
- Logging
- Idempotenz für relevante Schreiboperationen
9.3 Sicherheit und Datenschutz
Die Anwendung verarbeitet personenbezogene und unternehmensbezogene Daten.
Zu berücksichtigen sind insbesondere:
- DSGVO
- Zugriffskontrolle
- Rollen- und Berechtigungskonzept
- Transportverschlüsselung
- sichere Speicherung sensibler Zugangsdaten
- Audit-Logging
- Aufbewahrungsfristen
- Lösch- und Sperrkonzepte
- Backup
- Restore
- Schutz von API-Zugangsdaten
- Protokollierung externer Abfragen
Passwörter, API-Keys und andere Secrets dürfen nicht unverschlüsselt in Konfigurationsdateien oder Datenbanktabellen gespeichert werden.
9.4 Backup und Wiederherstellung
Aufgrund der Wichtigkeit der zentralen Datenbank ist ein umfangreiches Backup- und Wiederherstellungskonzept vorzusehen.
Dieses muss mindestens berücksichtigen:
- regelmäßige Vollsicherungen
- inkrementelle bzw. transaktionsbasierte Sicherungen
- definierte Aufbewahrungsfristen
- regelmäßige Restore-Tests
- dokumentiertes Disaster-Recovery-Verfahren
Da die Plattform langfristig das führende System darstellt, ist ihre Wiederherstellbarkeit als kritische Systemanforderung zu betrachten.