Es war im Jahr 2018, als ich für einen mittelständischen Logistiker arbeitete. Wir hatten gerade ein neues Lagersystem eingeführt, das über eine veraltete SOAP-Schnittstelle mit dem Webshop kommunizierte. Eines Dienstags, pünktlich zum Saisonstart, brach die Verbindung ab. Der Grund? Ein simpler Timeout-Fehler, der durch eine zu große XML-Datei verursacht wurde. «— Warum nutzen wir keine Streams?», fragte ich den Chefentwickler. Er zuckte nur mit den Schultern. In dieser Nacht habe ich gelernt, dass eine API nicht nur funktionieren muss, sondern robust gegen Ausnahmezustände sein muss.
Wir verbrachten zwölf Stunden damit, die Daten manuell nachzupflegen. Das war der Moment, in dem wir uns entschieden, die gesamte Infrastruktur auf eine Microservices-Architektur mit RESTful APIs und JSON-Payloads umzustellen. Wir implementierten ein ordentliches Error-Handling und Retries mit exponentiellem Backoff. Das bedeutet: Wenn eine Anfrage fehlschlägt, wartet das System kurz und versucht es erneut, anstatt sofort aufzugeben.
"Eine Schnittstelle ist kein statisches Rohr, durch das Daten fließen. Sie ist ein lebender Vertrag zwischen zwei Systemen, der ständig überwacht und gepflegt werden muss."
Seit diesem Vorfall predige ich jedem Kunden: Spart nicht an der Dokumentation und dem Monitoring. Wir nutzen heute Tools, die uns sofort alarmieren, wenn die Latenz einer API über 200 Millisekunden steigt. Denn in der Welt der Automatisierung bedeutet Zeit direkt Geld. Wer heute noch Daten per Hand von A nach B kopiert, verbrennt Ressourcen, die er für die strategische Entwicklung seiner zukünftigen Systeme nutzen könnte.
Ein weiterer wichtiger Punkt ist die Versionierung. Ich habe Projekte scheitern sehen, weil ein Update am Server alle Clients lahmgelegt hat. Heute nutzen wir strikte Versionierung in der URL (z.B. /v1/, /v2/). So können alte Systeme weiterlaufen, während neue Funktionen für moderne Clients ausgerollt werden. Das ist keine Raketenwissenschaft, aber es erfordert Disziplin und eine klare Strategie bei der lokalen Infrastrukturplanung.