製品同期サービス層の理解
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Commerce Connectは独自の 製品データモデル と、1つ以上の外部コマースシステムと製品データを交換するための製品同期サービス層を持っています。Product Synchronizationサービス層は、重要な製品データの双方向同期を管理します。目的は、最も一般的なeコマースシナリオを満たすために必要なデータのみを同期することです。特定の場合、モデルは拡張可能です。サポートされているデフォルトのシナリオはCommerce Connect開発者ガイドに記載されています。
同期は双方向ですが、必要に応じて一方向にだけ強制できます。すべてのサービスメソッドは方向パラメータを持ち、デフォルトでexternal system->8Sitecoreに設定されています。より急進的で柔軟性に欠ける静的なアプローチとしては、パイプラインプロセッサを廃止し、データを一方向に書き込むことです。
製品データの同期は一度に1言語ずつ行われます。すべてのサービスメソッドは言語パラメータを取り、デフォルトで英語(EN)に設定されています。
Commerce Connectの他のサービス層と同様に、製品同期のためのドメインモデルがあります。
- ドメインモデル内のオブジェクトは、製品データの同期時にデータ転送オブジェクト(DTO)として使用され、外部システムとSitecore間で情報を転送します。
- ドメインモデルは、実際のストレージを扱わずに製品データを管理するために使用できます。Sitecoreにアイテムとして、または部分的にインデックスに、部分的に外部システムに保存される場合でもです。例えば、製品インデックスをクエリする際には、製品に関連するデータの一部しか含まれない単一のアイテムに対して、プロダクトドメインモデルのインスタンスを取得することが可能です。Sitecoreの検索およびインデックスに組み込まれたハイドレーション(データ集団)機能がこの目的に利用できます。
サービス層には、製造元、分類、カテゴリなど製品に関連するデータを含む 単一の製品リポジトリ と関連リポジトリからなるアイテムモデルも含まれています。
双方向同期
製品同期サービス層は双方向同期を想定して設計されています。ほとんどのセットアップでは、製品データは外部システムが所有し、一方同期のみをサポートしますが、フレームワークは双方向同期をサポートするように作られています。
Commerce Connectの実装は、Bridge設計パターンに似たパターンを使用します。プロダクトドメインモデルは、外部コマースシステムおよびSitecoreの両方で実装を隠すデータ抽象化として機能します。各エンティティは外部システムとSitecoreの両方から読み出されます。同一のインスタンス間で値の比較が実行され、その結果は外部システムとSitecoreの両方に書き戻されます。これは、各パイプラインが製品、メーカー、部門、分類のいずれかである各種エンティティに対して同じプロセッサパターンを持つことを意味します。
双方向同期は以下の順序で行われます:
- エンティティは外部商取引システムから読み取られます。
- エンティティはSitecoreから読み取られます。
- エンティティを比較し、違いを解決します。デフォルトのロジックは、Sitecoreおよび外部システムでそれぞれアイテムレベルで行われた最新の変更の日付と時刻の単純な比較に基づいています。必要に応じて、より高度なロジックに置き換えることも可能です。
- 結果は外部システムに書き込まれます。
- 結果はSitecoreに書き込まれます。
サービス層メソッドは方向パラメータを取り、外部システムからSitecoreへの同期が一方通行か、逆か両方向の双方向かを示します。
Directionパラメータの値に応じて、以前に挙げたプロセッサの一部はスキップされます。例えば、Directionパラメータがinbound(外部システム-> Sitecore)に設定されている場合、エンティティをSitecoreから読み取ったり外部システムに書き戻したりする必要はありません。
製品同期性能に影響を与えるさまざまな側面があります。
!注製品同期に関する詳細はCommerce Connect統合 トピックをご覧ください。