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

diag 00b005259db550a186d2937b3acc09d3
Figure 1. Kontextüberblick CWA Server

Draw.io

context2.drawio
Figure 2. Beispiel in draw.io

PowerPoint

context
Figure 3. Beispiel als exportiertes Image