API 統合 ‒ フロントエンドのバックエンド - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

API 統合 ‒ フロントエンドのバックエンド

フロントエンドのバックエンド (BFF) パターンは、通常、マイクロサービス環境で使用されます。マイクロフロントエンドのコンテキストでは、BFF はマイクロフロントエンドに属するサーバー側のサービスです。すべてのマイクロフロントエンドに BFF が必要なわけではありません。ただし、BFF を使用している場合は、同じ境界コンテキスト内で実行する必要があり、他の境界コンテキスト間で共有することはできません。

従来のサービスとは異なり、BFF はドメインモデルに従っていません。代わりに、マイクロフロントエンドがクライアントに到達する前にデータを前処理するための API レイヤーです。これが役立つ領域は次のとおりです。

  • プライベート APIsに対する認可

  • さまざまなソースからのデータの集約

  • データの変換によるネットワーク負荷の軽減とクライアントによるデータの消費の容易化

そのため、BFF はドメインサービス層ではなくマイクロフロントエンドによって所有されます。BFFsは、以下を使用してデプロイできます。

  • AWS AppSync GraphQL APIs

  • AWS Lambda 関数のセット

  • Amazon ECS、Amazon EKS、または AWS で実行されているコンテナとして AppRunner

次の図は、BFF パターンがないと、マイクロフロントエンドが個々のマイクロサービス API エンドポイントに接続してデータを取得および集計する必要があることを示しています。

最初にトランザクションを取得し、次に分離されたマイクロサービスから価格を取得するダッシュボードアプリ。

代わりに、次の図の BFF パターンを使用すると、マイクロフロントエンドは独自のバックエンドと通信し、集約データを取得できます。

トランザクションビューは、価格情報を含む集計データを BFF から取得します。

チームは、モバイル、ウェブ、または特定のビューなど、さまざまなチャネルの BFFsを開発できます。これには、チャットを減らすことでバックエンドインタラクションを最適化する要件があります。