Architektur-Übersicht
Mission Statement
Die Corona-Warn-App ist eine App, die hilft, Infektionsketten des SARS-CoV-2 (COVID-19-Auslöser) in Deutschland nachzuverfolgen und zu unterbrechen. Die App basiert auf Technologien mit einem dezentralisierten Ansatz und informiert Personen, wenn sie mit einer infizierten Person in Kontakt standen. Transparenz ist von entscheidender Bedeutung, um die Bevölkerung zu schützen und die Akzeptanz zu erhöhen.
Randbedingungen
Rahmenbedingungen sind Vorgaben, die unsere Lösung einschränken und Optionen ausschließen. Man unterscheidet in technologische und organisatorische Rahmenbedingungen.
| Technologisch | Organisatorisch |
|---|---|
Betrieb in der Cloud |
Große Medienaufmerksamkeit, gewisse Skepsis am Mehrwert innerhalb der Bevölkerung |
Native mobile Clients |
Konsortium aus zwei Auftragnehmern (SAP und Deutsche Telekom) |
Einsatz der Exposure Notification Framework |
Enger Zeitrahmen |
Hoher politischer Druck, viele Parteien involviert (Ministerien, Behörden, RKI) |
Architekturziele
Die Architekturziele sind die wichtigsten geforderten Qualitätsmerkmale für ein Softwaresystem. Typischerweise werden im Rahmen eines Architekturüberblicks die Top-3 bis Top-5 genannt.
| Ziel | Beschreibung |
|---|---|
Sicherheit |
Der Schutz der personenbezogenen Daten hat oberste Priorität, vertrauliche Daten werden dezentral gespeichert. |
Zuverlässigkeit |
Die Anwendung ist jederzeit verfügbar und sie funktioniert auch bei Lastspitzen oder Angriffen auf die Server-Infrastruktur. |
Effizienz |
Dutzende von Millionen Benutzer können die Anwendung einsetzen. |
Benutzbarkeit |
Die Endanwendung ist intuitiv bedienbar und wird von den Anwendern akzeptiert. |
Betreibbarkeit |
Die Installation der Endanwendung kann auch von Laien durchgeführt werden. |
Lösungsansätze
Den Architektur-/Qualitätszielen werden mit zugeordneten high-level Lösungsansätze in Beziehung zueinander dargestellt.
| Ziel | Passende Lösungsansätze |
|---|---|
Sicherheit |
Speicherung der Daten lokal Verschlüsselung aller Bewegungsdaten Senden der Daten nur nach Aufforderung |
Zuverlässigkeit |
Microservices Docker, Kubernetes, Public Cloud |
Effizienz |
Dezentraler Ansatz Mobile Apps Wenig Datenverkehr |
Benutzbarkeit |
Transparenz in der Entwicklung, Verwendung von Opensource Sehr einfache Bedienführung |
Betreibbarkeit |
Apps über den App-Store Public Cloud Infrastruktur für die Server |
Kontextsicht
Das ist eine Abgrenzung des Systems und Visualisierung der Benutzer und Fremdsysteme, mit denen es interagiert. Typischerweise wird es durch eine Grafik abgebildet, ergänzt um kurze Beschreibungen. Das System selbst ist dabei eine Blackbox.
PlantUML
Draw.io
PowerPoint