Leistung
APIs und Backends mit Laravel
Ein Backend, das mehrere Frontends bedient, braucht klare Verträge und darf nicht am Sessionspeicher hängen. Darauf legen wir es von Anfang an aus.
Ein Backend, mehrere Frontends
Sobald eine Anwendung mehr als einen Zugang hat, verschiebt sich der Schwerpunkt. Weboberfläche, App, vielleicht noch ein Partnersystem. Die Fachlogik gehört dann an genau eine Stelle, und alle Zugänge fragen dieselbe Schnittstelle. Sonst wächst mit jedem Kanal ein eigener Satz Sonderfälle heran, und was über einen Datensatz stimmt, hängt davon ab, wer gerade fragt.
Laravel bringt die Bausteine für diesen Aufbau schon mit. Die Ausgabe formt eine Resource, die Prüfung sitzt im Request, langlaufende Arbeit landet in Jobs, angemeldet wird per Token. So haben wir zum Beispiel das Backend hinter den Fischführer-Apps gebaut.
Warum zustandslos
Ein Backend ohne Sitzungsdaten im Prozess kann beliebig oft parallel laufen. Fällt eine Instanz aus, übernimmt die nächste, und niemand merkt etwas davon. Wächst die Last, kommen Instanzen dazu. Das ist übrigens keine Größenfrage. Auch eine kleine Anwendung hat etwas davon, weil ein Neustart nach dem Deployment dann niemanden mehr aus der Sitzung wirft.
Bezahlt wird das mit Disziplin. Alles, was zwischen zwei Aufrufen überleben muss, gehört in die Datenbank oder in einen gemeinsamen Zwischenspeicher. Nicht in den Arbeitsspeicher des Prozesses, auch nicht „erst mal für den Test“. Wer das durchhält, spart sich den Umbau später.
Schnittstellen-Entwicklung: ERP, Warenwirtschaft, Fremdsysteme
Am häufigsten geht es in unseren Projekten gar nicht um eine neue App, sondern um die Verbindung zu etwas, das es längst gibt. Ein ERP, eine Warenwirtschaft, ein Zahlungsdienstleister.
Eine ERP-Schnittstelle ist dabei selten ein technisches Problem. Die Frage, die Zeit kostet, ist fachlich: Welches System führt einen Datensatz, und was passiert, wenn beide Seiten ihn gleichzeitig ändern? Wird das nicht vorher entschieden, entstehen zwei Wahrheiten, und man merkt es erst an der Inventur. Wir legen die Führung deshalb ausdrücklich fest, Feld für Feld wenn es sein muss, bevor die erste Zeile Übertragungscode entsteht. Dabei arbeiten wir nach einer schlichten Regel. Das fremde System ist unzuverlässig, bis das Gegenteil bewiesen ist. Jeder Aufruf bekommt ein Zeitlimit, jede Übertragung einen Wiederholungsweg, jeder Fehlschlag eine Spur, die man drei Wochen später noch lesen kann. Wie das aussieht, zeigt das Reiseportal unter den Referenzen, das täglich über 150.000 Unterkünfte abgleicht.
Mehr dazu, wie wir bestehende Systeme übernehmen, steht unter Migration und Upgrade.

Im Detail
Was zu einer belastbaren API gehört
Stateless von Anfang an
Kein Zustand im Serverprozess. So lässt sich das Backend mehrfach ausrollen und hinter einen Loadbalancer stellen, ohne dass Sitzungen verloren gehen.
Klarer Vertrag
Feste Formate für Anfragen und Antworten, versioniert. Wer die API benutzt, muss sich darauf verlassen können, dass sich unter ihm nichts ändert.
Authentifizierung
Tokens für Maschinen, Sitzungen für Browser-Frontends aus derselben Domain. Welcher Weg passt, entscheidet der Anwendungsfall.
Warteschlangen
Mailversand, Exporte, Aufrufe fremder Systeme. Was dauert, wandert in einen Job. Die Antwort bleibt schnell, egal wie viel im Hintergrund läuft.
Fehler und Grenzen
Aussagekräftige Fehlercodes, begrenzte Aufrufrate, vernünftige Zeitlimits. Eine API, die unter Last einfach hängt, ist schlimmer als eine, die klar ablehnt.
Dokumentation
Eine Beschreibung, mit der ein fremdes Team anbinden kann, ohne nachzufragen. Automatisch erzeugt aus dem Code, damit sie nicht veraltet.
Weitere Leistungen
Passt vielleicht auch
Laravel-Entwicklung
Individuelle Anwendungen von der Konzeption bis zum Betrieb.
Migration & Upgrade
Versionssprünge, Legacy-Ablösung, Umzug auf Laravel.
Wartung & Support
Updates, Monitoring und feste Ansprechpartner für laufende Anwendungen.
Beratung & Code-Audit
Zweitmeinung zu Architektur, Codequalität und Sicherheit.
FAQ
Fragen zu Schnittstellen
REST oder GraphQL?
Können Sie unser bestehendes Frontend anbinden?
Wie halten Sie die API stabil, wenn sich etwas ändert?
Was ist mit sehr hoher Last?
Sie brauchen ein Backend für mehrere Kanäle?
Sagen Sie uns, welche Clients darauf zugreifen sollen. Daraus ergibt sich der Zuschnitt der Schnittstelle.