Backend-for-Frontend: quand une API simple ne suffit pas

La technologie Backend-for-Frontend simplifie le développement de services avec lesquels de nombreux clients différents travaillent simultanément: ordinateurs, smartphones et tablettes avec tous les systÚmes d'exploitation possibles.





L'approche Backend-for-Frontend (BFF) a Ă©tĂ© dĂ©veloppĂ©e par SoundCloud. Le responsable du dĂ©veloppement de SoundCloud, Phil Calçado, a dĂ©crit  BFF en 2015  comme une Ă©tape naturelle de l'Ă©volution des produits informatiques modernes.





Dans le passĂ©, dans le monde analogique, les systĂšmes d'entreprise n'Ă©taient utilisĂ©s que par les entreprises elles-mĂȘmes. Plus la numĂ©risation et l'omnicanal se dĂ©veloppent, plus l'accent est dĂ©placĂ© de l'infrastructure de l'entreprise vers l'extĂ©rieur. Les clients ont commencĂ© Ă  acheter des produits en ligne et Ă  partir de smartphones, les partenaires commerciaux ont commencĂ© Ă  interagir avec l'entreprise via des plates-formes Web. Il est devenu important pour les entreprises de construire une architecture qui permettrait un tel accĂšs aux ressources de l'entreprise.





Les dĂ©veloppeurs ont commencĂ© Ă  crĂ©er des API afin que les services informatiques tiers puissent se connecter Ă  l'infrastructure. L'inconvĂ©nient de cette technologie est qu'elle offre Ă  tout le monde le mĂȘme ensemble de capacitĂ©s. Si vous avez besoin de limiter le trafic sur les smartphones et d'offrir aux utilisateurs de tablettes leur propre mĂ©thode de saisie des donnĂ©es, des difficultĂ©s peuvent commencer.





La tĂąche de SoundCloud Ă©tait encore plus difficile: l'entreprise devait s'intĂ©grer Ă  des dĂ©veloppeurs tiers afin qu'ils puissent intĂ©grer le lecteur dans leurs sites. Pour ce faire, l'API doit interagir avec n'importe quelle plate-forme prĂȘte Ă  l'emploi, et Ă  chaque mise Ă  jour, l'Ă©quipe doit s'assurer que la rĂ©vision ne rompt pas toutes ces intĂ©grations. En pratique, cela n'est pas rĂ©aliste Ă  rĂ©aliser.





C'est ainsi qu'est né le concept de Backend-for-Frontend - un service léger qui se situe plus prÚs du front-end que du back-end.





Fonctionnalités BFF

Le mot clé est "léger", la liste des fonctionnalités du BFF est bien inférieure à celle de l'API:





  • Travaillez avec des microservices de produits et recevez des donnĂ©es de leur part.





  • Formatez ces donnĂ©es pour qu'elles soient traitĂ©es correctement sur le frontend.





  • Envoyez des donnĂ©es au frontend.





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

Un service BFF doit ĂȘtre lĂ©ger - c'est sa principale diffĂ©rence par rapport Ă  une API. Pas besoin d'Ă©crire une logique mĂ©tier complexe dans le code, de crĂ©er une base de donnĂ©es, etc. La simple communication devrait ĂȘtre une prioritĂ©.





Comme nous l'avons dit, un produit peut avoir plusieurs services BFF pour différents clients. Ils se dupliqueront inévitablement dans une certaine partie, mais vous devez vous assurer que cela ne va pas au-delà du raisonnable, sinon vous dépenserez des ressources supplémentaires pour les soutenir.





Vous devez comprendre que BFF est quelque chose comme un traducteur entre le backend et le frontend. Par consĂ©quent, la sĂ©curitĂ©, la tolĂ©rance aux pannes et la surveillance doivent ĂȘtre intĂ©grĂ©es en plus.








All Articles