Commerce Connectの抽象的なサービスレイヤー

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Commerce Connectコア フレームワークには、さまざまな外部コマース システムと連携する、汎用的で拡張可能な抽象サービス レイヤーが多数含まれています。

Commerce Connectサービス レイヤー:

  • ウェブショップソリューションとバックエンドの電子商取引システム間で重要な電子商取引情報を運びます。

  • 外部コマースシステムのビジネスロジックをカプセル化し、抽象化を提供します。

  • 訪問者の行動を追跡し、フォローアップします。新しい目標、ページイベント、マーケティングオートメーションキャンペーン、レポートを提供します。

Commerce Connectを使用してeコマース ソリューションを構築する場合は、外部コマース システムのAPIに直接アクセスするのではなく、Commerce Connectサービス レイヤーのAPIを使用する必要があります。これには、次のような理由があります。

  • 顧客エンゲージメントは、サービスレイヤーに組み込まれています。サービス レイヤー APIを使用しない場合、個人用設定、レポート、およびマーケティング自動化の組み込みコマース シナリオはトリガーまたはデプロイされません。

  • 一部の外部コマース システムは、Commerce Connectがサポートするすべてのシナリオをサポートしているわけではありません。したがって、Commerce Connect APIを使用して、Commerce Connectに組み込まれているフォールバック機能を活用する必要があります。

  • 1つの外部コマース システムの固有の機能に対応するためにAPIのカスタマイズと拡張を行った場合、その機能は必ずしも別のコマース システムでサポートされているとは限りません。標準のCommerce Connect APIを使用すると、最小限の労力で外部コマース システムを置き換えることができます。

  • Connectパイプラインを使用して複数の外部システムが統合されている場合は、各外部システムを個別に呼び出すのではなく、Connect APIを1つのエントリ ポイントとして呼び出すだけで済みます。

メモ

外部コマース システムAPIを直接呼び出すのは、必要な機能が存在しないか、Commerce Connectの範囲外である場合にのみしてください。

イベント

サービス レイヤーは、電子商取引のシナリオで発生するイベントを処理します。イベントは、サービス メソッドと対応するSitecoreパイプラインによって表され、フロントエンド イベントとバックエンド イベントに分割できます。

次に、Webサイト上のアクションによってトリガーされるフロントエンド イベントの例を示します。

  • 顧客アカウントを作成する

  • ウィッシュリストを更新する

  • ショッピングカートを更新する

  • 注文する

コマースシステムのアクションによってトリガーされるバックエンドイベントの例を次に示します。

  • 製品情報の更新

  • 注文ステータスの更新

  • 商品価格を更新する

Commerce Connectサービス レイヤー パイプライン

Commerce Connectには、Sitecoreとやり取りするパイプライン プロセッサが含まれています。Commerce Connectコネクタは、Commerce Connectパイプラインを変更または上書きします。

パイプラインの例

次に示すのは、ショッピング カートに製品を追加し、特定の外部コマース システム用に変更されたパイプラインの例です。

<Sitecore.Commerce.Cart.AddProductToShoppingCart>
  <processor type="CommerceSystem.Cart.ValidateProduct" />
  <processor type="CommerceSystem.Cart.CheckInventory" />
  <processor type="CommerceSystem.Cart.PutHoldOnProduct" />
  <processor type="Sitecore.Commerce.Cart.RecordPageEvent" />
</Sitecore.Commerce.Cart.AddProductToShoppingCart>

このパイプラインでは、次のようになります。

  • 太字のプロセッサはSitecoreに固有であり、デフォルトのパイプライン定義の一部としてCommerce Connectによって提供されます。開発者はプロセッサを変更または削除できますが、パイプラインを削除したり、名前を変更したりすることはできません。

  • その他のプロセッサは、Sitecoreと統合された外部コマース システムに固有です。これらは、外部コマース システムへのコネクタを構成するものの一部であり、コネクタの一部である別の構成ファイルからConnectパイプラインにマージされます。

外部コマースシステムのサービスレイヤーのカスタマイズ

各サービスレイヤーは、API、各API呼び出しの1つ以上のパイプライン、および拡張可能なドメインモデルで構成されます。

  • 各サービスレイヤーには、カスタマイズできるデフォルトのAPIがあります。各サービスレイヤーメソッドは、RequestオブジェクトとResultオブジェクトを取り、どちらかまたは両方を外部コマースシステムのニーズに合わせてカスタマイズできます。拡張Requestオブジェクトを作成するには、デフォルトのRequestクラスを継承し、それを構成で置き換えます。同様に、デフォルトのResultクラスを継承し、それを構成に置き換えることで、拡張Resultオブジェクトを作成できます。

  • 各サービス層メソッドは、1つ以上のパイプラインを呼び出すことができるパイプラインを実行します。各パイプラインは、パイプライン内のプロセッサを注入、取り外し、または交換することでカスタマイズできます。

  • すべてのドメイン モデル オブジェクトと入れ子になったドメイン モデル オブジェクトは、カスタム プロパティを使用して継承および拡張できます。拡張ドメイン モデル オブジェクトまたは拡張ネストされたドメイン モデル オブジェクトを作成するには、既定のクラスを継承し、構成で置き換えます。

    すべてのサービスメソッドは、カスタマイズされたドメインモデルオブジェクトで使用される場合でも、既存の定義された署名を保持します。

実装の詳細

各サービスレイヤーには、ドメインモデル、パイプライン、ファクトリ、リポジトリ、およびサービスレイヤー API実装を構成するエンティティを定義する独自の設定ファイルが含まれています。

  • Sitecore Factoryはドメイン モデル オブジェクトのインスタンス化に使用されるため、個々のエンティティをカスタマイズ、設定、インスタンス化できます。

  • リポジトリ デザイン パターンは、Sitecoreに対してデータを読み書きするプロセッサで使用されます。これは、必要に応じてリポジトリを簡単に置き換えたりカスタマイズしたりできることを意味します。

  • Commerce Connectの既定のパイプライン構成には、外部コマース システムのプロセッサが想定される場所にプレースホルダー プロセッサが含まれています。一部のサービス レイヤーには、代わりにコメントが含まれています。プレースホルダー プロセッサは空で、コードは実行されません。

  • 外部コマース システム コネクタは、コマース システムと対話するプロセッサと、Commerce Connect構成ファイルにパッチを適用する構成ファイルで構成され、パイプライン内のプレースホルダー プロセッサを置き換えます。

この記事を改善するための提案がある場合は、 お知らせください!