Intégration d'API ‒ Backend pour frontend - AWS Directives prescriptives

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Intégration d'API ‒ Backend pour frontend

Le modèle Backends for Frontends (BFF) est généralement utilisé dans les environnements de microservices. Dans le contexte des micro-frontends, un BFF est un service côté serveur qui appartient à un micro-frontend. Tous les micro-frontends n'ont pas besoin d'un BFF. Toutefois, si vous utilisez un BFF, il doit s'exécuter dans le même contexte délimité et ne pas être partagé entre d'autres contextes délimités.

Contrairement à un service traditionnel, un BFF ne suit pas de modèle de domaine. Il s'agit plutôt d'une couche d'API permettant au micro-frontend de prétraiter les données avant qu'elles n'atteignent le client. Cela peut s'avérer utile dans les domaines suivants :

  • Autorisation vers des API privées

  • Agrégation de données provenant de différentes sources

  • Transformation des données pour réduire la charge du réseau et faciliter la consommation de données par le client

En tant que tel, un BFF appartient au micro-frontend, et non au niveau de service du domaine. Les BFF peuvent être déployés en utilisant les méthodes suivantes :

  • API AWS AppSync GraphQL

  • Un ensemble de fonctions AWS Lambda

  • En tant que conteneur exécuté sur Amazon ECS, Amazon EKS ou AWS AppRunner

Le schéma suivant montre que sans le modèle BFF, les micro-frontends doivent se connecter à des points de terminaison d'API de microservice individuels pour récupérer et agréger des données.

Application de tableau de bord qui récupère d'abord les transactions, puis les prix à partir de microservices découplés.

Au lieu de cela, avec le modèle BFF du schéma suivant, les micro-frontends peuvent communiquer avec leur propre backend et récupérer des données agrégées.

La vue des transactions récupère les données agrégées, y compris les informations sur les prix, auprès du BFF.

Les équipes peuvent développer des meilleurs amis pour différents canaux tels que le mobile, le Web ou des vues spécifiques, en veillant à optimiser les interactions entre les backend en réduisant le nombre de bavardages.