Backend for Frontend (BFF)
Qu'est-ce qu'un Backend for Frontend (BFF) ?
Un Backend for Frontend, abrégé BFF, est une couche côté serveur dédiée à un frontend spécifique, comme une vitrine web, une application mobile ou une borne. Il agrège, transforme et adapte les données des microservices sous-jacents afin que le client consommateur reçoive exactement ce dont il a besoin, dans la forme dont il a besoin.
Définition
Chaque frontend a généralement ses propres exigences en matière de taille de payload, de structure de données, d'authentification et de mise en cache. Plutôt que de forcer chaque microservice à prendre en charge toutes les variantes de client, un BFF se place entre eux et gère l'orchestration. Il appelle plusieurs services en aval, fusionne les réponses, applique des règles métier propres au client et expose un point d'accès unique par cas d'usage.
Pourquoi c'est important
Dans le commerce composable, la vitrine peut s'appuyer sur une douzaine de services spécialisés pour le catalogue, les prix, le stock, les recommandations, le contenu et les données client. Dialoguer avec tous depuis le navigateur est lent, difficile à sécuriser et difficile à faire évoluer. Un BFF donne à l'équipe frontend un contrat propre, retire les secrets du client et laisse chaque frontend évoluer à son propre rythme sans pénaliser les services sous-jacents.
Intégration dans l'architecture
Le pattern BFF s'aligne naturellement avec les frontend management platforms. Le BFF vit proche de la couche de rendu, optimise les payloads pour le canal qu'il sert et isole le client des changements en amont. Tant que le BFF maintient son contrat, les services en aval peuvent être remplacés, mis à niveau ou scindés sans imposer de réécriture du frontend.
Articles liés
Découvrir Composable Headless Frontend · Performance et Core Web Vitals.