Kapitel II · Bereich 07 von 12

Kommunikation & APIs

Die Frage an unseren ShopMuss der Checkout warten, bis die Rechnung als PDF fertig ist?

Hier erfährst du, wie Systemteile Daten austauschen und zuverlässig zusammenarbeiten.

Drei Fragen an jede Zusammenarbeit

  1. Was wird zugesagt, und wer kommt herein?

    Vertrag & Zugang

    Lager sagt Reservierung R-77 für B-1042 zu; das Feld expiresAt kommt kompatibel hinzu.

  2. Wartet der Aufrufer auf die Antwort?

    Zeitkopplung

    Bestellung fragt Lager direkt; Rechnung nimmt den Auftrag an, BestellungBezahlt geht an Versand und Analyse.

  3. Was passiert bei Wiederholung und Fehlern?

    Verlässlichkeit

    pay-B-1042 verhindert doppelte Belastung; die Outbox hält BestellungBestaetigt, bis der Kanal wieder erreichbar ist.

So hängen die Bausteine zusammen

API-Verträge legen Zusagen fest. Synchrone und asynchrone Kommunikation nutzen sie, Queues und Pub/Sub verteilen Nachrichten. Idempotenz sichert Wiederholungen, Outbox die Veröffentlichung, Orchestrierung führt Abläufe. Gateway steuert den Zugang, Versionierung die Weiterentwicklung.

KonzeptAPI-VerträgeAPI-Verträge legen Daten, Bedeutung und beobachtbares Schnittstellenverhalten verbindlich fest.MusterSynchrone Kommunikationnutzt API-Verträge für Antwort, Fehler und ZeitverhaltenMusterAsynchrone Kommunikationnutzt API-Verträge für Nachrichtenstruktur, Bedeutung und ZuständeKonzeptIdempotenzhält die fachliche Wirkung bei Wiederholungen desselben Auftrags stabilEntscheidungsraumQueues, Pub/Sub & Streamsverteilen Nachrichten, deren Form und Bedeutung der Vertrag festlegtMechanikAPI-Versionierungführt Verträge mit klaren Kompatibilitäts- und Migrationsregeln weiterMusterTransactional Outboxveröffentlicht Ereignisse, deren Form und Bedeutung der Vertrag festlegtEntscheidungsraumOrchestrierung & Choreografiesteuert Abläufe über Schnittstellen, deren Zusagen der Vertrag festlegtMusterfamilieGateway, Mesh & Discoveryleitet externe Anfragen nach den Zusagen des Vertrags weiter
Zusammenhänge: Synchrone Kommunikation nutzt API-Verträge für Antwort, Fehler und Zeitverhalten; Asynchrone Kommunikation nutzt API-Verträge für Nachrichtenstruktur, Bedeutung und Zustände; Idempotenz hält die fachliche Wirkung bei Wiederholungen desselben Auftrags stabil; Queues, Pub/Sub & Streams verteilen Nachrichten, deren Form und Bedeutung der Vertrag festlegt; API-Versionierung führt Verträge mit klaren Kompatibilitäts- und Migrationsregeln weiter; Transactional Outbox veröffentlicht Ereignisse, deren Form und Bedeutung der Vertrag festlegt; Orchestrierung & Choreografie steuert Abläufe über Schnittstellen, deren Zusagen der Vertrag festlegt; Gateway, Mesh & Discovery leitet externe Anfragen nach den Zusagen des Vertrags weiter.

Dein Lernpfad durch den Bereich

Hier klärst du im Shop, ob der Checkout auf die Rechnung warten muss, was Aufrufer zugesagt bekommen und wie Wiederholungen und Änderungen verlässlich bleiben. Jeder Baustein zeigt sein Thema an unserem Shop.

  1. Das lernst duDu kannst Pflichtfelder, Ergebniszustände und Fehler einer Lagerreservierung als Vertrag benennen.

    Im ShopBestellung reserviert über den Vertrag des Lagermoduls zwei Tassen für B-1042. Die Reservierung besitzt eine stabile Kennung und ein Ablaufdatum.

    API-Verträge öffnen
  2. Das lernst duDu kannst im Checkout markieren, bei welchen Aufrufen der Bestellablauf unmittelbar auf eine Antwort wartet.

    Im ShopIm modularen Monolithen fragt Bestellung Lager und Zahlung direkt an. Das Zahlungsmodul ruft den externen Zahlungsanbieter über das Netzwerk auf.

    Synchrone Kommunikation öffnen
  3. Das lernst duDu kannst Annahme, spätere Verarbeitung und sichtbaren Status eines Rechnungsauftrags trennen.

    Im ShopNach bestätigter Bestellung nimmt Rechnung einen Auftrag an und erstellt den Beleg später. Der Checkout muss nicht auf das fertige PDF warten.

    Asynchrone Kommunikation öffnen
  4. Das lernst duDu kannst Queue, Pub/Sub und Stream für drei konkrete Shop-Aufgaben passend zuordnen.

    Im ShopDer Shop verarbeitet Rechnungsaufträge, verteilt BestellungBezahlt an Versand und Analyse und bewahrt Bestellstatusänderungen für spätere Auswertung auf.

    Queues, Pub/Sub & Streams öffnen
  5. Idempotenz

    Verlässlichkeit

    Das lernst duDu kannst vorhersagen, wann wiederholte Zahlungsaufrufe dieselbe oder eine neue fachliche Wirkung auslösen.

    Im ShopDas Zahlungsmodul sendet B-1042 mit dem Schlüssel pay-B-1042 an den externen Anbieter. Die erste Antwort geht verloren.

    Idempotenz öffnen
  6. Transactional Outbox

    Verlässlichkeit

    Das lernst duDu kannst zeigen, wie Bestellung und Veröffentlichungsauftrag gemeinsam gespeichert und später getrennt versendet werden.

    Im ShopVariante mit dauerhaftem Nachrichtenkanal: Bestellung bestätigt B-1042 und speichert zugleich BestellungBestaetigt in ihrer Outbox. Der Nachrichtenkanal ist kurzzeitig nicht erreichbar.

    Transactional Outbox öffnen
  7. Das lernst duDu kannst für Reservierung und Zahlung unterscheiden, wo Ablaufwissen bei Orchestrierung und Choreografie liegt.

    Im ShopVariante: Lager und Zahlung sind unabhängige Dienste. Das Team vergleicht eine Bestellorchestrierung mit einer ereignisgetriebenen Choreografie; der Zahlungsanbieter bleibt extern.

    Orchestrierung & Choreografie öffnen
  8. Das lernst duDu kannst externe Shop-Routen über ein API-Gateway den zuständigen internen Zielen zuordnen.

    Im ShopVariante: Katalog und Versand wurden aus belegten Betriebsgründen als Dienste getrennt. Browser und Kundenservice greifen ausschließlich über das API-Gateway auf Shop-Routen zu.

    Gateway, Mesh & Discovery öffnen
  9. Das lernst duDu kannst eine kompatible API-Erweiterung von einer brechenden Bedeutungsänderung unterscheiden.

    Im ShopDas Lagermodul erweitert die Reservierungsantwort um expiresAt. Später soll das bisherige Feld available von einer Zahl zu einer fachlichen Verfügbarkeitsstufe wechseln.

    API-Versionierung öffnen
Danach im Lernweg · Bereich 08Verteilte Systeme