nicht immer: Der ursprüngliche Auftrag könnte noch laufen. Erst ein geklärter Zustand erlaubt eine endgültige Meldung. Wie der Server diese Auskunft bereitstellt, setzt die Entwicklungs-KI passend zur bestehenden Datenhaltung um.
Zweimal gesendet, einmal reserviert
Ein zweiter Versuch entsteht schon durch einen Doppelklick. Oder eine Netzwerkbibliothek wiederholt eine Anfrage, ohne zu fragen. Leihregal soll dafür sorgen, dass mehrere Übertragungen desselben Auftrags im Ergebnis nur eine Reservierung anlegen.
Dazu unterscheidet die Anwendung den begonnenen Vorgang von seinen einzelnen Übertragungsversuchen. Eine Wiederholung gehört weiterhin zu diesem Vorgang. Eine später bewusst neu erstellte Reservierung ist ein anderer Vorgang, auch mit denselben Geräten. Diese Eigenschaft heißt Idempotenz: Eine Wiederholung desselben Auftrags erzeugt nicht noch einmal dieselbe Wirkung. Die Anwendung muss die Zuordnung speichern und beim Verarbeiten durchsetzen. Ein ausgegrauter Button hilft gegen Doppelklicks, ersetzt diese Prüfung auf dem Server aber nicht.
Dafür bekommt jeder Vorgang beim ersten Klick eine eindeutige Nummer, die bei jeder Wiederholung mitreist. Kennt der Server die Nummer schon, meldet er das gespeicherte Ergebnis, statt neu zu reservieren. Der Zahlungsdienst Stripe nennt solche Nummern Idempotenzschlüssel und hat sie für genau dieses Problem eingeführt. Ein Entwickler des Unternehmens beschrieb 2017 das Grundproblem ohne jede