Start / Cheat Sheets

Cheat Sheet

Webarchitektur: Bausteine — Cheat Sheet

Stand: · Architektur und Technologien für moderne Web-Anwendungen

SoftwarearchitekturWebarchitekturRESTDatenarchitektur

Der Spickzettel zum Seminar Architektur und Technologien für moderne Web-Anwendungen, erster Teil: die Bausteine einer Anwendung — Treiber und Qualitätsziele, Webplattform, Rendering, Backend-Struktur, Schnittstellen und Daten. Systemzuschnitt, Betrieb, Sicherheit und Dokumentation stehen auf dem zweiten Blatt, Systemzuschnitt und Betrieb.

Das Blatt ersetzt keine Entwurfsarbeit. Es hilft beim Erinnern, wenn die Entscheidung ansteht und der Name des Rasters gerade fehlt.

Ebenen und Entscheidungstypen

Wer über „Architektur” spricht, meint eine von drei Ebenen. Solange sie durcheinandergehen, wird keine davon entschieden.

EbeneGegenstandTypische Frage
SoftwarearchitekturStruktur einer AnwendungWelche Module, welche Abhängigkeiten?
SystemarchitekturZusammenspiel der SystemeWelcher Dienst kennt welchen?
InfrastrukturLaufzeit und BetriebWorauf läuft das, wie kommt es dorthin?

Die zweite Sortierung entscheidet, wo Aufwand hingehört: Reversibles schnell entscheiden und notfalls korrigieren, schwer Reversibles mit Alternativen und schriftlichem Beleg.

ReversibelSchwer reversibel
Wahl einer BibliothekSchnitt der Fachdomäne
Format einer AntwortDatenhoheit je Dienst
Anordnung im FrontendSynchron oder ereignisgetrieben
BetriebsparameterVerteilung auf eigene Dienste

Modul: Moderne Webarchitekturen im Überblick

Architekturtreiber und Qualitätsattribute

Ein Architekturtreiber ist eine Anforderung, die den Bauplan verändert. Prüffrage: Was sähe ohne sie anders aus?

AnforderungStrukturwirkung
Ein Vorgang lässt sich stornierenkeine — neue Funktion in bestehender Struktur
Lastspitze mit tausendfachem Zugriffja — Skalierung, Entkopplung, Warteschlangen
Zahlungsdaten bleiben im Hauseja — Schnitt, Datenhoheit, Betriebsmodell
Zwei Teams liefern unabhängigja — Modulgrenzen oder eigene Dienste

Jedes Qualitätsattribut hat einen konkreten Hebel im Entwurf. Ohne diesen Hebel ist es ein Adjektiv.

AttributWas es im Entwurf verändert
ÄnderbarkeitModulgrenzen, Abhängigkeitsregeln, Testbarkeit
SkalierbarkeitZustandslosigkeit, Entkopplung, Datenpartitionierung
VerfügbarkeitRedundanz, Rückfallebenen, Wiederherstellungsziele
SicherheitVertrauensgrenzen, Identität, Datenhaltung
BeobachtbarkeitInstrumentierung, Korrelation, Telemetriepfade
BarrierefreiheitAuslieferungsform, Semantik, Rendering-Entscheidung
KostenBetriebsmodell, Skalierungsverhalten, Managed Services

Als Prüfraster über eine Entscheidung taugen die fünf Säulen des Well-Architected Framework: Zuverlässigkeit, Sicherheit, Kostenoptimierung, operative Exzellenz, Effizienz. Sie sind eine Checkliste, keine Rangfolge — und das Framework nennt zu jeder Säule ausdrücklich Abwägungen.

Modul: Anforderungen und Architekturtreiber

Web Platform Baseline

Baseline beantwortet, ob eine Browserfunktion einsatzreif ist — gemessen an vier Kern-Browsern: Chrome für Desktop und Android, Edge, Firefox für Desktop und Android, Safari für macOS und iOS.

StufeBedeutung
Limited availabilityNoch nicht in allen Kern-Browsern unterstützt
Newly availableIn allen Kern-Browsern verfügbar, damit interoperabel
Widely available30 Monate nach Newly available — ohne Vorbehalt einsetzbar

Jahresversionen wie Baseline 2026 bündeln, was im jeweiligen Jahr Newly available geworden ist. Für interne Anwendungen mit gepflegter Browserflotte genügt die mittlere Stufe; für öffentliche Auftritte ist die obere die sichere Wahl.

Modul: Webplattform und Laufzeitarchitektur

HTTP-Versionen und Übertragungskanäle

Die Semantik — Methoden, Statuscodes, Header, Caching — steht in RFC 9110 und gilt für alle Versionen. Verschieden ist nur die Übertragung: RFC 9112 für HTTP/1.1, RFC 9113 für HTTP/2, RFC 9114 für HTTP/3.

MerkmalHTTP/1.1HTTP/2HTTP/3
FormatTextbinärbinär
TransportTCPTCPQUIC über UDP
Multiplexingmehrere Verbindungeneine Verbindungeine Verbindung
Header-Kompressionneinjaja
Head-of-Line-Blockadejaauf TCP-Ebenenein

Die Wahl des Kanals ist eine Architekturentscheidung, keine Konfiguration.

KanalEinsatzfeld
Request-ResponseRegelfall, überall zwischenspeicherbar
Server-Sent EventsServer schickt fortlaufend, Client hört zu
WebSocketsbeide Seiten sprechen, Verbindung bleibt offen
WebTransportmehrere Ströme, auch ungeordnet, über QUIC

Modul: Webplattform und Laufzeitarchitektur

Rendering-Formen und Frontend-Zuschnitte

Vier Grundformen, danach nur noch Mischungen. Die Maße dahinter sind immer dieselben: Zeit bis zur ersten Antwort, bis zum ersten Inhalt, Reaktion auf Eingaben.

FormStärkePreis
Serverseitigschnelle erste Darstellung, wenig Skripthöhere Antwortzeit des Servers
Clientseitigflexible Datenaktualisierungspäte erste Darstellung, große Bündel
Statischgleichbleibend schnell, am Rand ablegbarschwierig bei vielen oder persönlichen Seiten
Inkrementell statischstatisch mit Nachliefern einzelner Seitenzusätzliche Regeln für Gültigkeit

Gegen das unheimliche Tal der Hydration — die Seite sieht fertig aus, reagiert aber nicht — helfen Streaming, progressive Hydration und Islands Architecture. Am wirksamsten bleibt weniger Interaktivität.

ZuschnittTrägt, wenn
Multi-Page ApplicationInhalte im Vordergrund stehen, Interaktion punktuell bleibt
Single Page Applicationdie Anwendung wie ein Arbeitswerkzeug benutzt wird
Progressive Web ApplicationInstallation, Offline-Fähigkeit oder Benachrichtigungen zählen
Backend for Frontendmehrere Oberflächen sehr verschiedene Zuschnitte brauchen
Microfrontendsmehrere Teams unabhängig ausliefern müssen und dürfen

Modulare Frontends innerhalb eines Deployments sind der unterschätzte Mittelweg: Grenzen ohne Verteilungskosten.

Modul: Frontend- und Rendering-Architekturen

Schichten, Ports und Plattformwahl

Schichten trennen Zuständigkeiten, Tiers trennen Maschinen — logische Trennung erzwingt keine physische.

VarianteRegelFolge
geschlossennur die nächsttiefere Schichtwenige Abhängigkeiten, viel Durchreichen
offenjede tiefere Schichtweniger Leerlauf, mehr Kopplung

Ports and Adapters dreht die Abhängigkeitsrichtung um: Ein Port beschreibt ein zweckgerichtetes Gespräch, ein Adapter übersetzt es in Technik. Treibende Adapter beginnen das Gespräch (Oberfläche, Schnittstelle, Testrahmen), getriebene werden angesprochen (Datenbank, Nachrichtensystem, Fremddienst).

Kriterium der PlattformwahlLeitfrage
Kompetenz im HausWer betreibt und erweitert das in drei Jahren?
Reifegrad und ÖkosystemGibt es tragfähige Bibliotheken für unsere Fachthemen?
Langfristige WartbarkeitWie lange werden Versionen gepflegt, wie verlaufen Umstiege?
BetriebsanforderungenPasst das Laufzeitverhalten zum geplanten Hosting?
StartverhaltenWie reagiert die Plattform auf schnelles Hoch- und Herunterfahren?
EinstellungsmarktFinden wir Leute — und halten wir sie?

Keines dieser Kriterien ist technisch entscheidbar; alle sind an der eigenen Organisation zu beantworten.

Modul: Backend- und Anwendungsarchitekturen

REST-Reifegrad und Integrationsstile

StufeWas hinzukommtWoran man sie erkennt
0HTTP als Tunnelein einziger Endpunkt, alles per POST
1Ressourceneigene Adressen statt einer Sammelstelle
2Verben und StatuscodesGET liest, POST erzeugt, 409 meldet Konflikt
3Hypermedia-Steuerung (HATEOAS)Antworten tragen Links auf mögliche nächste Schritte

Die meisten Schnittstellen stehen auf Stufe 2. Bewusst dort zu bleiben ist legitim; unbewusst auf Stufe 1 zu stehen ist das Problem.

Gehört ins GatewayGehört nicht hinein
Authentifizierung und Token-PrüfungFachliche Entscheidungen
Aufrufbegrenzung und KontingenteDatenzusammenführung mit Fachregeln
Weiterleitung und ProtokollumsetzungZustand eines Vorgangs
Einheitliche ProtokollierungSonderfälle einzelner Aufrufer

Auf der asynchronen Seite entscheidet die Begriffswahl über den Schnitt. Ein AsyncAPI-Dokument wird dabei aus Sicht einer Anwendung geschrieben: action: send heißt, dass diese Anwendung sendet.

BegriffBedeutung
Eventetwas ist geschehen, Empfänger unbekannt
Commandetwas soll geschehen, Empfänger bekannt
Queueeine Nachricht, ein Verarbeiter
Event Streameine Nachricht, viele Leser, eigene Leseposition

Modul: APIs und Integrationsarchitekturen

Speichermodelle und verteilte Daten

Die Auswahl beginnt beim Zugriffsmuster, nicht beim Produkt.

BedarfModell
Strenge Transaktionen über mehrere Entitätenrelational
Sich wandelnde Aggregate, JSON-nahe ZugriffeDokument
Sehr schnelle Zugriffe über einen SchlüsselKey-Value
Breite, dünn besetzte, schreibintensive TelemetrieColumn-Family
Tiefe BeziehungspfadeGraph
Volltextrelevanz und FilterungSuchindex
Ähnlichkeit über BedeutungVektorsuche
Zeitfenster über MesswerteZeitreihen
Große BinärdatenObjektspeicher

Wie weit die Atomarität reicht, ist die stillste Modellentscheidung — sie legt die Transaktionsgrenze fest.

ModellAtomaritätSchema
relationalmehrere Zeilenbeim Schreiben festgelegt
Dokumentein Dokumentbeim Lesen gedeutet
Column-FamilyZeile oder FamilieFamilien fest, Spalten frei
Key-Valueein Schlüsselundurchsichtiger Wert

Sobald Daten mehreren Diensten gehören, braucht es Muster für das, was in einer Datenbank die Transaktion erledigt hat.

MusterNutzenPreis
SagaAblauf über mehrere Dienste, kein 2PCkeine Isolation, Kompensation nötig
Transactional OutboxSchreiben und Melden werden zuverlässig einszusätzlicher Prozess, Verzögerung
CQRSeigene Lesemodelle, skalierbar und passgenaumehr Teile, verzögerte Sichten
Event Sourcinglückenloser Verlauf, Zustand zu jedem Zeitpunktschwer abfragbar, erzwingt CQRS

Das CAP-Theorem greift nur bei einer Netzwerkpartition — dann steht die Wahl zwischen Konsistenz und Verfügbarkeit, nicht dauerhaft.

Modul: Datenarchitekturen und Zustandsmanagement

Typische Fallen

  • Qualitätsziele als Adjektive. „Schnell und sicher” kann niemand verletzen und entscheidet deshalb nichts. Auslöser, Umgebung und messbare Antwort nennen.
  • Alles ist hoch priorisiert. Eine Priorisierung, die nichts zurückstellt, ist keine.
  • Serverseitig gerendert und trotzdem das ganze Bündel geladen. Dann zahlt man die Kosten beider Welten.
  • Auf dem Entwicklungsrechner gemessen. Der Unterschied zwischen Rendering-Formen zeigt sich erst auf einem alten Mobilgerät.
  • Ordner heißen nach Schichten, Abhängigkeiten halten sich nicht daran. Die Regel gehört in den Bauprozess, nicht ins Wiki.
  • Die Beschreibung wird aus dem Code erzeugt und nie gelesen. Contract-first heißt, die Beschreibung steht vor der Implementierung.
  • Der Empfänger ist nicht idempotent. „Mindestens einmal” ist der Regelfall — Duplikate sind Normalbetrieb, keine Störung.
  • Sitzungszustand liegt im Prozess. Damit ist die Zustandslosigkeit aufgegeben und horizontales Skalieren blockiert.
  • Der Partitionsschlüssel wird gewählt, bevor die Abfragen bekannt sind. Später lässt er sich kaum noch ändern.
  • Mehrere Dienste teilen sich eine Datenbank. Dann sind es keine mehreren Dienste, sondern ein System mit verteilter Auslieferung.

Dieses Thema als Schulung für Ihr Team

Dieser Beitrag erklärt das Thema. Damit Ihr Team es danach auch anwendet, gibt es Architektur und Technologien für moderne Web-Anwendungen als Schulung — an Ihrem eigenen Code, mit den Fragen, die ein Text nicht beantwortet. Sie wählen die Module, wir bauen daraus ein Programm.

2 Tage·ab 900 EUR netto pro Tag (bis 3 Teilnehmende) ·Termin nach Vereinbarung

Als Team-Schulung anfragenZum Seminar Architektur und Technologien für moderne Web-Anwendungen →