Backend-for-Frontend: Wenn eine einfache API nicht ausreicht

Die Backend-for-Frontend-Technologie vereinfacht die Entwicklung von Diensten, mit denen viele verschiedene Clients gleichzeitig arbeiten: Computer, Smartphones und Tablets mit allen möglichen Betriebssystemen.





Der Backend-for-Frontend-Ansatz (BFF) wurde von SoundCloud entwickelt. Der Entwicklungsleiter von SoundCloud, Phil Calçado, beschrieb  BFF bereits 2015  als eine natürliche Evolutionsstufe für moderne IT-Produkte.





In der analogen Welt wurden Unternehmenssysteme in der Vergangenheit nur von den Unternehmen selbst verwendet. Je mehr Digitalisierung und Omnichannel entwickelt wurden, desto mehr verlagerte sich der Fokus von der Unternehmensinfrastruktur nach außen. Kunden begannen, Waren online zu kaufen, und über Smartphones begannen Geschäftspartner, über Webplattformen mit dem Unternehmen zu interagieren. Für Unternehmen wurde es wichtig, eine Architektur zu erstellen, die einen solchen Zugriff auf Unternehmensressourcen ermöglicht.





Entwickler haben damit begonnen, APIs zu erstellen, damit IT-Services von Drittanbietern eine Verbindung zur Infrastruktur herstellen können. Der Nachteil dieser Technologie ist, dass sie jedem die gleichen Fähigkeiten bietet. Wenn Sie den Datenverkehr auf Smartphones begrenzen und Tablet-Benutzern eine eigene Dateneingabemethode anbieten müssen, können Schwierigkeiten auftreten.





Die Aufgabe von SoundCloud war noch schwieriger: Das Unternehmen musste sich in Entwickler von Drittanbietern integrieren, damit diese den Player in ihre Websites einbetten konnten. Zu diesem Zweck muss die API mit jeder sofort einsatzbereiten Plattform interagieren. Bei jedem Update muss das Team sicherstellen, dass die Revision nicht alle diese Integrationen unterbricht. In der Praxis ist dies unrealistisch zu erreichen.





So entstand das Konzept des Backend-for-Frontend - ein leichter Service, der näher am Frontend als am Backend liegt.





BFF-Funktionen

Das Schlüsselwort ist "leichtgewichtig", die Liste der Funktionen der BFF ist viel geringer als die der API:





  • Arbeiten Sie mit Produkt-Microservices und erhalten Sie Daten von diesen.





  • Formatieren Sie diese Daten so, dass sie im Frontend korrekt verarbeitet werden.





  • Daten an das Frontend senden.





BFF: , Android, iOS .. – :





  • API , .





  • , , API.





  • .





BFF – , Netflix  Flickr.  Microsoft  IBM. True Engineering.





BFF

. RabbitMQ, .





API, . , , , . , , BFF, . Rabbit- .





, API. -, Rabbit . BFF Data Provider, . 





, API – BFF , , .  API , – BFF .





, BFF

Ein BFF-Service sollte leichtgewichtig sein - dies ist der Hauptunterschied zu einer API. Sie müssen keine komplexe Geschäftslogik in den Code schreiben, keine Datenbank erstellen usw. Einfache Kommunikation sollte Priorität haben.





Wie bereits erwähnt, kann ein Produkt mehrere BFF-Services für verschiedene Kunden bieten. Sie werden sich in einem Teil zwangsläufig gegenseitig duplizieren, aber Sie müssen sicherstellen, dass dies nicht über das Vernünftige hinausgeht, da Sie sonst zusätzliche Ressourcen ausgeben, um sie zu unterstützen.





Sie müssen verstehen, dass BFF so etwas wie ein Übersetzer zwischen dem Backend und dem Frontend ist. Daher müssen Sicherheit, Fehlertoleranz und Überwachung zusätzlich aufgebaut werden.








All Articles