Warum brechen Abläufe über mehrere Systeme ab?
Solange ein Vorgang in einem einzigen System abläuft, sorgt dessen Datenbank dafür, dass er ganz oder gar nicht geschieht. Sobald mehrere Systeme beteiligt sind, fehlt diese Sicherheit: Jedes System bestätigt nur seinen eigenen Schritt.
Dazwischen kann vieles passieren: Ein System antwortet nicht, das Netzwerk bricht ab, ein Server wird neu gestartet, eine Freigabe lässt Tage auf sich warten. Der Vorgang bleibt dann halb erledigt liegen – im einen System schon gebucht, im anderen noch nicht.
Mit der Zeit wachsen typische Behelfe:
- zeitgesteuerte Jobs, die nachts Listen abarbeiten und nach einem Fehler am nächsten Tag von vorn beginnen
- Warteschlangen, deren Nachrichten verloren gehen oder doppelt verarbeitet werden
- Statusfelder in Datenbanken, die von Hand korrigiert werden, wenn etwas hängt
- Tabellen, in denen jemand festhält, was noch offen ist
Was ändert eine dauerhafte Ablaufsteuerung?
Eine dauerhafte Ablaufsteuerung – im Englischen «Durable Execution» – führt den Ablauf als Programm aus und speichert nach jedem Schritt, wo er steht. Fällt ein Server oder ein angebundenes System aus, setzt der Ablauf danach an derselben Stelle fort: ohne Neustart von vorn und ohne doppelte Buchungen.
Wartezeiten werden Teil des Ablaufs. Ein Ablauf kann Tage auf eine Freigabe warten oder eine Frist über Monate überwachen, ohne dass dafür ein Programm ununterbrochen laufen oder jemand eine Liste führen muss.
Temporal ist eine verbreitete Open-Source-Plattform für dieses Prinzip. Die Geschäftslogik schreibt das Entwicklungsteam als gewöhnlichen Code; Temporal kümmert sich um Zustand, Wiederholungen und Zeitsteuerung.
Welche Fragen gehören in die Architektur?
Zuverlässigkeit entsteht nicht durch ein Werkzeug allein, sondern durch Entscheide, die vor der Umsetzung fallen:
| Frage | Worum es geht |
|---|---|
| Was ist ein Schritt? | Jeder Aufruf eines anderen Systems wird ein eigener, wiederholbarer Schritt. |
| Was darf wiederholt werden? | Schritte müssen so gebaut sein, dass eine Wiederholung nichts doppelt auslöst. |
| Was geschieht bei einem endgültigen Fehler? | Bereits erledigte Schritte werden ausgeglichen – etwa eine Reservation storniert, wenn die Zahlung scheitert. |
| Wie lange darf ein Schritt dauern? | Zeitlimits je Schritt und je Ablauf verhindern, dass etwas unbemerkt hängt. |
| Wer greift ein? | Freigaben, Pausen und Abbrüche kommen als Signale von aussen in den laufenden Ablauf. |
| Wie ändern wir den Ablauf später? | Versionierung sorgt dafür, dass laufende Abläufe nach ihrer bisherigen Logik zu Ende laufen. |
Wie wird ein Ablauf nachvollziehbar?
Eine dauerhafte Ablaufsteuerung führt für jeden Ablauf einen Verlauf: welcher Schritt wann gestartet, wiederholt und abgeschlossen wurde. Damit lässt sich jederzeit zeigen, wo ein Vorgang steht und was mit ihm geschehen ist.
Für die Revision oder einen Kunden braucht es meist zusätzlich einen fachlichen Nachweis – etwa ein Protokoll pro Vorgang mit Grund, Freigabe und Ergebnis. Er wird am besten von Anfang an als eigener Schritt im Ablauf vorgesehen.
Wo fängt man an?
Am besten mit einem Ablauf, der heute spürbar Aufwand verursacht: viele Nacharbeiten, verpasste Fristen oder Rückfragen, die niemand schnell beantworten kann. An ihm lässt sich zeigen, was eine dauerhafte Ablaufsteuerung bringt – und ob sie sich für weitere Abläufe lohnt.
- 1den Ablauf aufnehmen: Schritte, Systeme, Fristen, Fehlerfälle und Mengen
- 2Schwachstellen und ihre Kosten abschätzen
- 3Zielbild und Umgang mit Fehlern festlegen
- 4mit einem Ablauf beginnen – alt und neu eine Zeit lang nebeneinander