Salesforce Commerce API を使用したヘッドレスコマース
Storefront Reference Architecture (SFRA) に代わるコンポーザブルストアフロントは、モジュール式のアプローチを採用しており、個別のスタンドアロンコンポーネントを使用してカスタムのオンラインストアフロントを構築します。フロントエンドとバックエンドのアーキテクチャが分離されているため、ストアフロントとユーザーエクスペリエンスはデータとビジネスロジックから切り離されています。カスタマイズ可能でスケーラブルなソリューションを使用して、独自のブランドアイデンティティとエクスペリエンスを構成できます。
コンポーザブルストアフロントは、次の 2 つの主要コンポーネントで構成されています。
- Progressive Web Application (PWA) Kit: React.js フレームワークで JavaScript を使用してストアフロントを作成するためのオープンソースフレームワークです。これにより、ストアフロントが買い物客にどのように表示されるかを制御できます。
- Managed Runtime (MRT): ヘッドレスデジタルストアフロント向けのサーバーレスで、拡張性、可用性の高いホスティング環境です。Managed Runtime は、PWA フロントエンドをデプロイ、ホスト、管理するためのインフラストラクチャを提供します。
コンポーザブルストアフロントでは、Salesforce Commerce API (SCAPI) を基盤としてストアフロントを構築し、サードパーティの検索アプリケーションやコンテンツ管理システム (CMS) プロバイダーの追加など、他のベンダーを含むソリューションを作成することでビルトイン機能を拡張できます。
以下の画像は、B2C Commerce スタックの例を示しています。PWA Kit と MRT を含むコンポーザブルストアフロントは、SCAPI を使用して B2C Commerce インスタンスと通信する 2 つのヘッドレス実装のうちの 1 つとして示されています。また、B2C Commerce インスタンスと直接通信する SFRA ストアフロントも示されています。B2C Commerce コンポーネントには、Script API と、SCAPI フックおよび SCAPI カスタム API を備えたカートリッジが含まれています。
PWA Kit フレームワークには、ショッパージャーニー全体に対応する完全なストアフロントの作成に役立つツールが含まれています。PWA Kit ストアフロントの例は、デモサイトでご覧いただけます。
作成した PWA Kit アプリは、MRT 上で実行されます。MRT は SCAPI を使用して、商品、カタログ、買い物客の買い物カゴ、プロモーション、在庫、配送、請求など、サイトの機能を操作します。
CDN は MRT に含まれており、追加の構成を必要としません。CDN は迅速かつ効率的な処理を保証するために、最も近いアプリケーションサーバーにリクエストを転送する役割を担います。
CDN には、次の 4 つの主要コンポーネントが含まれています。
- CDN キャッシュ
- キャッシュヒット率を最適化するエッジ関数。同じリクエストが再度行われた場合、レスポンスを再度生成する代わりに、キャッシュからレスポンスを取得できます。これにより、応答時間が短縮され、全体的な買い物客の体験が向上します。
- ストアフロント関連のアセット (静的 Javascript、CSS、スプライトなど)。
- SCAPI、OCAPI、およびその他の外部 API にリクエストを転送するためのプロキシ。
CDN を使用すると、次のことができます。
- B2C Commerce のデフォルト CDN である埋め込み CDN (eCDN) を MRT CDN の上にスタックして、Web アプリケーションファイアウォール (WAF)/ログ/セキュリティ/ルーティングをより詳細に制御できます。
- エッジ関数を使用して、サーバーレスインフラストラクチャ (リクエストプロセッサー) へのリクエストのルーティング方法をカスタマイズできます。
PWA Kit は、MRT でサーバーレス実装としてホストされます。サーバーレスインフラストラクチャは、拡張性、可用性が高く、メンテナンスが少ないうえ、パフォーマンスに優れています。
- MRT は、ホリデーショッピング時の大幅な増加やトラフィックの少ないテスト環境など、あらゆるレベルのストアフロントトラフィックに対応するためにスケールアップまたはスケールダウンします。
- 追加コストなしで 多数の Managed Runtime 環境を使用でき (すぐに使用できる数は 100 個)、UI または API を使用してインスタンスを簡単に起動および停止できます。
- 変更をすばやくロールアウトし、変更履歴ですべての変更を表示できるため、簡単にロールバックできます。
- すべての MRT 環境には同等のリソースが割り当てられているため、本番環境と開発環境は同じように表示されます。
SCAPI の機能は、主に Shopper API と Admin API の 2 つのグループに分かれています。各グループはさらに API ファミリーに分けられ、各ファミリーは関連する機能に焦点を当てています。Shopper API グループは、商品の閲覧、買い物カゴの管理、注文手続きなど、顧客向けの機能用に設計されています。Admin API グループは、商品管理、注文管理、在庫管理、顧客管理など、マーチャント向けの機能を対象としています。
コンポーザブルストアフロントまたはその他のヘッドレスストアフロントを構築する場合、動作をカスタマイズしてカスタムエンドポイントを追加できる SCAPI フックも使用できます。
次の図は、買い物客のブラウザーと MRT 間の通信フロー、ならびに SCAPI、OCAPI、および外部 API との MRT の通信を示しています。
次のコンポーザブルストアフロントと SCAPI のガイドを参照してください: