eコマース アーキテクチャの概要
この記事では、Microsoft Dynamics 365 Commerce のアーキテクチャの概要を表示します。
Dynamics 365 Commerce オンライン拡張ソフトウェア開発キット (SDK) を使用すると、パートナーは Web サイトを簡単に拡張して、追加のビジネス ロジックとユーザー エクスペリエンス (UX) ロジックを含めることができます。 パートナーは、自由に利用できるオープンソース テクノロジを使用して、この拡張を行うことができます。
このアーキテクチャの概要は、次の Commerce のアーキテクチャの図で強調表示された「ウェブストア」 ボックスに焦点を当てます。
ウェブストア コンポーネントベースのアーキテクチャ
このプラットフォームのアーキテクチャは、再利用ベースのアプローチにより、緩く結合された独立したコンポーネントを定義、実装、および構成します。 この方法では、関心の分離に重点が置かれます。
高レベル設計
機能拡張デザインは、Node.js 上に構築され、React を基盤の UX フレームワークとして使用するマイクロサービスとしてアプリケーションを実行することにより、プラットフォームとアプリケーション間の依存関係を回避します。 このプラットフォームは別個のサービスとして実行され、すべてのルーティング、コンテンツ管理システム (CMS) との統合、およびセキュリティを処理します。
要求フロー
Dynamics 365 Commerce プラットフォームを使用するオンライン ストアから顧客がページを要求するときの一般的なアーキテクチャ フローを次に示します。
- このプラットフォームでは要求が取得され、認証、ルーティング、ロケールの検出を行います。
- プラットフォームは、ページ構成データおよびデータ アクションを使用する外部サービスからのデータを含むページ オブジェクトを生成します。
- データ アクションによって、重複を含む複数のサービス コールのバッチ処理、集計、連鎖が可能になります。
- このプラットフォームは、Dynamics 365 Commerce サービス (たとえば、カタログや評価) への接続を提供する一連のコア データ アクションを提供します。
- ページ オブジェクトが生成された後、このプラットフォームはノード エクスプレス サーバーで実行されている React アプリケーションを呼び出します。
- React アプリケーションはビュー モデルを解析し、サーバー側で React ビューを実行し、HTML を生成します。
- React アプリケーションは、コア SDK モジュール、モジュール ライブラリ モジュール、およびカスタム モジュールで構成されます。
- このプラットフォームでは、適切なクッキー、ヘッダーなどと共に HTML が返されます。
- React スクリプトはコンポーネントを初期化し、ブラウザでのクライアント側の実行を引き継ぎ、モジュールを表示します。
- Node.js はツール ページと、このプラットフォームに用意されているその他の開発者向けの生産性ツールをサポートしています。
パートナー アプリケーション
コンパイルされたパートナー パッケージには、SDK とモジュール ライブラリの両方が含まれています。 SDK は拡張できませんが、モジュール ライブラリのモジュールは複製され、完全にカスタマイズできます。 パートナーのカスタマイズ (モジュール、データ アクション、およびテーマ) は、コマンドライン インターフェイス (CLI) コマンドを使用してパッケージ化できます。 その後、Microsoft Dynamics Lifecycle Services (LCS) を使用してパッケージをアップロードできます。 このようにして、カスタマイズがパートナーの E コマース サイトに組み込まれます。