Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Was gehört mindestens in einen Architekturüberb...

Was gehört mindestens in einen Architekturüberblick? (OOP 2024)

Folien zum Impuls auf der Snack-Bühne der OOP-Konferenz 2024
Mittwoch, 31.01.2024, 16:40-16:55 Uhr

Abstract
Was gehört mindestens in einen Architekturüberblick?

Ein prägnanter Architekturüberblick führt Außenstehende in die Lösung ein, macht zentrale Entwurfsideen nachvollziehbar, schließt die Architektur auf und führt bei Bedarf zu Details.

Hier erfahrt ihr, was mindestens in einen guten Architekturüberblick hineingehört. Illustriert mit Beispielen prominenter Softwaresysteme.

Weitere Infos
https://www.embarc.de/architekturueberblicke-sws-oop2024-szoerner/

Avatar for Stefan Zörner

Stefan Zörner

January 31, 2024
Tweet

More Decks by Stefan Zörner

Other Decks in Technology

Transcript

  1. 0 Was gehört in einen Architekturüberblick? Was gehört mindestens in

    einen Architekturüberblick? Mittwoch, 31.01.2024, 16:40-16:55 Uhr
  2. 1 Was gehört in einen Architekturüberblick? embarc.de Stefan Zörner ▪

    Softwarearchitekt bei embarc in Hamburg ▪ Vorher Bayer AG, Mummert + Partner, IBM, oose, ... Schwerpunkte ▪ Softwarearchitektur (Entwurf, Bewertung, Dokumentation) ▪ Cloud-Technologien
  3. 2 Was gehört in einen Architekturüberblick? embarc.de Abstract Was gehört

    mindestens in einen Architekturüberblick? Ein prägnanter Architekturüberblick führt Außenstehende in die Lösung ein, macht zentrale Entwurfsideen nachvollziehbar, schließt die Architektur auf und führt bei Bedarf zu Details. Hier erfahrt ihr, was mindestens in einen guten Architekturüberblick hineingehört. Illustriert mit Beispielen prominenter Softwaresysteme.
  4. 3 Was gehört in einen Architekturüberblick? embarc.de ▪ führt Außenstehende

    in die Softwarearchitektur ein ▪ macht die zentralen Lösungsansätze nachvollziehbar ▪ schließt die Architektur auf und führt bei Bedarf zu Details. Was macht ein Architekturüberblick? Ein guter Architekturüberblick für ein Softwaresystem
  5. 4 Was gehört in einen Architekturüberblick? embarc.de ▪ führt Außenstehende

    in die Softwarearchitektur ein ▪ macht die zentralen Lösungsansätze nachvollziehbar ▪ schließt die Architektur auf und führt bei Bedarf zu Details. Was macht ein Architekturüberblick? Ein guter Architekturüberblick für ein Softwaresystem
  6. 5 Was gehört in einen Architekturüberblick? embarc.de Was ist Softwarearchitektur?

    Softwarearchitektur := wichtige Entscheidungen wichtig = - fundamental (betrifft viele) - im weiteren Verlauf nur schwer zu ändern - entscheidend für den Erfolg Eures Softwaresystems
  7. 6 Was gehört in einen Architekturüberblick? embarc.de Themen für Entscheidungen

    Zerlegung Welcher Architekturstil? Wie zerfällt die Anwendung? Teilsysteme, Module, Komponentenbildung, Abhängigkeiten ... Technologie-Stack Was setzen wir ein? Programmiersprache(n) Bibliotheken, Frameworks, Middleware, Querschnittsthemen .... Zielumgebung Wo läuft die Software? Beim Endanwender, im eigenen Rechenzentrum, Cloud, Verteilung, Virtualisierung ... Vorgehen Wie arbeiten wir? Planen, Entwickeln, Testen, Bauen, Dokumentieren, Ausliefern, Nachjustieren, ...
  8. 8 Was gehört in einen Architekturüberblick? embarc.de Wäre arc42 was?

    arc42 ist ein etablierter Gliederungsvorschlag für Architekturbeschreibungen .
  9. 9 Was gehört in einen Architekturüberblick? embarc.de Foto Bierdeckel Das

    arc42-Template in voller Ausbaustufe taugt nicht als Mindestumfang für einen Architekturüberblick. Unsere Software auf den Punkt (?)
  10. 11 Was gehört in einen Architekturüberblick? embarc.de Mission Statement: Threema

    Was ist Threema? ▪ Threema ist ein mobiler Instant-Messenger, bei dem der Schutz der Privatsphäre ganz oben auf der Agenda steht. ▪ Die Software erlaubt seinen Nutzer:innen den sicheren, zuverlässigen und bequemen Austausch von Nachrichten und Medien ohne die Angabe persönlicher Informationen wie Rufnummer oder E-Mail-Adresse. ▪ Die Identität eines Kommunikationspartners lässt sich — bei vorherigem Kontakt — auch ohne Verwendung des Adressbuchs zweifelsfrei feststellen. ▪ Auch für Unternehmen bietet Threema eine attraktive und zugleich gesetzeskonforme Lösung zum Schutz der Kommunikation innerhalb der Organisation und mit Partnern.
  11. 12 Was gehört in einen Architekturüberblick? embarc.de Kontextabgrenzung G esamtsystem,

    bestehend aus den Apps und dem T hreema-Backend. Threema Nutzer:in Smartphone, T ablet, N otebook ... Applikation via AP I SMS G ateway Mail-Server iO S, Android Mobile O S Mit wem und was interagiert Threema? Die Lösung im Zusammenspiel mit wichtigen anderen Akteuren.
  12. 16 Was gehört in einen Architekturüberblick? embarc.de ▪ führt Außenstehende

    in die Softwarearchitektur ein ▪ macht die zentralen Lösungsansätze nachvollziehbar ▪ schließt die Architektur auf und führt bei Bedarf zu Details. Was macht ein Architekturüberblick? Ein guter Architekturüberblick für ein Softwaresystem
  13. 17 Was gehört in einen Architekturüberblick? embarc.de Einflüsse auf Entscheidungen

    Qualitätsanforderungen Benutzbarkeit, Effizienz, Wartbarkeit, Sicherheit ... ▪ prägen die Lösung ▪ nachher schwierig “einzubauen” Rahmenbedingungen Technisch (z.B. Datenbankprodukt) Organisatorisch (z.B. Team) ▪ schränken die Lösung ein ▪ schließen Optionen aus
  14. 18 Was gehört in einen Architekturüberblick? embarc.de Qualitätsmerkmale Funktionale Eignung

    (Functional Suitability) Sind die berechneten Ergebnisse genau genug / exakt, ist die Funktionalität angemessen? ... Begriffe nach ISO 25010 Zuverlässigkeit (Reliability) Ist das System verfügbar, tolerant gegenüber Fehlern, nach Abstürzen schnell wieder hergestellt? ... Benutzbarkeit (Usability) Ist die Software intuitiv zu bedienen, leicht zu erlernen, attraktiv? … Effizienz (Performance) Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? ... Sicherheit (Security) Ist das System sicher vor Angriffen? Sind Daten und Funktion vor unberechtigtem Zugriff geschützt? ... Portabilität (Portability) Ist die Software leicht auf andere Zielumgebungen (z.B. anderes OS) übertragbar? … Kompatibilität (Compatibility) Ist die Software konform zu Standards, arbeitet sie gut mit anderen zusammen? … Wartbarkeit (Maintainability) Ist die Software leicht zu ändern, erweitern, testen, verstehen? Lassen sich Teile wiederverwenden? ...
  15. 19 Was gehört in einen Architekturüberblick? embarc.de Die Architekturziele von

    Threema Sicherheit Kommunikations- und Nutzerdaten sind geschützt. Benutzbarkeit Einfach zu verwenden. Zuverlässigkeit Zuverlässig und effizient im Betrieb. Kompatibilität Interoperabel über alle Plattformen hinweg. Wartbarkeit Leicht erweiterbar und anpassbar. Quelle: „Architektur-Porträt: Threema“, Stefan Zörner 2023
  16. 20 Was gehört in einen Architekturüberblick? Ziel Beschreibung Kommunikations- und

    Nutzerdaten sind geschützt Personenbezogene Daten und andere vertrauliche Informationen der Nutzer:innen sind unter allen Umständen sicher vor Ausspähung und anderen fremden Zugriffen. Einfach zu verwenden Der Austausch von Informationen im täglichen Gebrauch und Kontaktaufnahmen erfolgen flink und intuitiv. Auch Threema-Neulinge finden sich mühelos zurecht. Zuverlässig und effizient im Betrieb Eine Kommunikation zwischen den Nutzer:innen ist jederzeit möglich, Daten gehen nicht verloren. Auch Lastschwankungen oder Teilausfälle einzelner Komponenten beeinträchtigen sie nicht. Der Betrieb erfolgt ressourcensparsam. Interoperabel über alle Plattformen hinweg Nutzer:innen tauschen Nachrichten auch dann zuverlässig miteinander aus, wenn sie unterschiedliche Smartphone-Hersteller, Software-Versionen oder ähnliches verwenden. Der Wechsel auf ein neues Endgerät erfolgt problemlos. Leicht erweiterbar und anpassbar Neue Features lassen sich durch das Threema-Entwicklungsteam einfach in die bestehende Lösung, inklusive aller Clients, einbauen. Das gilt für Funktionen für Nutzer:innen ebenso wie Technisches „unter der Haube“. Auch Anbindungen durch Dritte sind möglich. Die vorrangigen Qualitätsziele von Threema in der Reihenfolge ihrer Wichtigkeit. Architekturziele
  17. 22 Was gehört in einen Architekturüberblick? embarc.de ▪ führt Außenstehende

    in die Softwarearchitektur ein ▪ macht die zentralen Lösungsansätze nachvollziehbar ▪ schließt die Architektur auf und führt bei Bedarf zu Details. Was macht ein Architekturüberblick? Ein guter Architekturüberblick für ein Softwaresystem
  18. 23 Was gehört in einen Architekturüberblick? embarc.de Lösungsstrategie als Mapping

    Architekturziele und zugeordnete high-level Lösungsansätze. Form: Listen oder Tabelle, [ Ziele | Lösungsansätze ]. Architekturziele Lösungsansätze * Ziel 1 * Ziel 2 * Ziel …. *. Lösungsansatz x *. Lösungsansatz y * … * … * … * …
  19. 24 Was gehört in einen Architekturüberblick? embarc.de Entscheidende Lösungsansätze Zu

    den Qualitätszielen von Threema jeweils ausgewählte Architekturansätze, die der Erreichung zuträglich sind. Kommunikations- und Nutzerdaten sind geschützt ▪ Konsequente Ende-zu-Ende-Verschlüsselung ▪ Erzeugen des persönlichen Schlüsselpaares auf Endgerät ▪ Privater Schlüssel verlässt das Endgerät nie ▪ Zusätzlich schützt "Perfect Forward Secrecy" früher gesendete Nachrichten vor Angriffen bei späterem Schlüsselverlust ▪ Dezentrale Verwaltung von Kontaktlisten und Gruppenchats ▪ Threema-Clients sind Open Source
  20. 25 Was gehört in einen Architekturüberblick? embarc.de Entscheidende Lösungsansätze (Fortsetzung)

    Einfach zu verwenden ▪ Native Apps, verteilt u.a. über die gebräuchlichen Stores ▪ Verifikation des an die Threema-ID gebundenen Schlüsselmaterials über QR-Code ▪ Möglichkeit, komfortabel von einem Desktop zu kommunizieren ▪ Broadcasts für One-to-Many-Kommunikation (Threema Work) Zuverlässig und effizient im Betrieb ▪ Asynchrone Kommunikation, Zwischenspeichern von Nachrichten ▪ Redundante Rechenzentren in der Schweiz ▪ Server-Betrieb für Unternehmen in eigenen Rechenzentren möglich (Threema OnPrem) ▪ Zentrale App-Konfiguration bei Threema Work mit Unterstützung
  21. 26 Was gehört in einen Architekturüberblick? embarc.de Entscheidende Lösungsansätze (Schluss)

    Interoperabel über alle Plattformen hinweg ▪ Plattformunabhängige Kommunikationsprotokolle ▪ Backup der wichtigsten Daten via Threema Safe ▪ Threema-ID lässt sich auf neues Gerät übertragen Leicht erweiterbar und anpassbar ▪ Vertikaler Architekturstil auf der Backend-Seite ▪ Strukturierter Aufbau des Quelltextes ▪ Gateway-Anbindung über offene Schnittstellen, HTTP- basierte Threema Message API ▪ SDKs für Threema Message API, u.a. Java. .NET, Python
  22. 27 Was gehört in einen Architekturüberblick? embarc.de Informelles Überblicksbild Das

    Zusammenspiel von Clients und Backend bei privater Nutzung von Threema
  23. 29 Was gehört in einen Architekturüberblick? embarc.de ▪ führt Außenstehende

    in die Softwarearchitektur ein ▪ macht die zentralen Lösungsansätze nachvollziehbar ▪ schließt die Architektur auf und führt bei Bedarf zu Details. Was macht ein Architekturüberblick? Ein guter Architekturüberblick für ein Softwaresystem
  24. 31 Was gehört in einen Architekturüberblick? Was gehört mindestens in

    einen Architekturüberblick? Mittwoch, 31.01.2024, 16:40-16:55 Uhr
  25. 35 Was gehört in einen Architekturüberblick? embarc.de Artikel-Reihe in IT-Spektrum

    Alle zwei Monate ein neues Porträt seit Ausgabe 04 | 2022 …
  26. 37 Was gehört in einen Architekturüberblick? embarc.de Zeitversetzt auch online

    im embarc-Blog ➔ embarc.de/architektur-portraets/