次の方法で共有


プロセス アーキテクチャ

Dynamics 365 Customer Engagement (on-premises) のプロセス管理システムには、Dynamics 365 Customer Engagement Web サービス、プラグイン、フォーム、およびその他のコンポーネントが含まれます。

プロセス アーキテクチャの図

以下の図は、Dynamics 365 Customer Engagement (on-premises) の上位システム アーキテクチャを示しており、プロセスに特有のシステムの部分が強調表示されています。

プロセス アーキテクチャ。

この図は、内部コンポーネント、外部コンポーネント、インフラストラクチャ、およびデータを含む Dynamics 365 Customer Engagement (on-premises) のプロセス アーキテクチャを示しています。

内部コンポーネント。 Dynamics 365 Customer Engagement (on-premises) のプロセス プログラミング モデルをサポートする内部コンポーネントは、Web サービス、共有プラットフォーム、およびビジネス ロジックを含みます。 共有プラットフォームは、Dynamics 365 Customer Engagement (on-premises) の共通コンポーネントで構成されています。これらのコンポーネントによって、登録サービス、メタデータ キャッシュ サービス、およびデータ アクセス サービスが提供されます。 ビジネス ロジックには、Dynamics 365 Customer Engagement (on-premises) ビジネス エンティティのビジネス ロジックの実装が含まれています。

外部コンポーネント。 外部コンポーネントは次のとおりです。

  • Windows Workflow Foundation のオブジェクト モデル。ワークフロー プロセス定義を XAML 形式で作成および解析する際に使用される一連のクラスが含まれています。

  • Windows Workflow Foundation の実行。ワークフロー プロセスを実行する際に使用される一連のクラスが含まれています。

プロセス インフラストラクチャ。 Dynamics 365 Customer Engagement (on-premises) プロセス インフラストラクチャは、次のコンポーネントから構成されています。

  • プロセス エンティティ モデルは Windows Workflow Foundation のオブジェクト モデルを使用する一連のクラスを含み、Dynamics 365 Customer Engagement (on-premises) のワークフロー活動を公開します。

  • プロセス ビジネス ロジック。プロセス固有のエンティティのビジネス ロジックを実装します。

  • プロセスの実行。ワークフローのホスティングや保持などのワークフロー実行サービスを提供します。

プロセス データ。 Dynamics 365 Customer Engagement (on-premises) プロセス プログラミング モデルは以下のデータによってサポートされています。

  • 業務データ。Dynamics 365 Customer Engagement (on-premises) エンティティに関連する情報が含まれています。

  • プロセス構成データ。ワークフロー プロセス定義、コンパイル済みのワークフロー プロセス、およびワークフロー プロセスの設定が含まれています。

  • プロセスの実行時データ。ワークフロー プロセスを実行したり、保持や通知などのワークフロー プロセス機能を実装する際に必要です。

プロセスおよび統合イベント モデル

Dynamics 365 Customer Engagement (on-premises) では、プラグイン (コールアウト) とプロセスの両方で使用される統合イベント モデルが使用されます。 このイベント処理サブシステムでは、パイプライン実行モデルが導入されているため、プロセスとプラグインの実行をより柔軟に行うことができます。

このモデルを使用することにより、プロセスとプラグインは、登録、メッセージの種類、およびあらかじめ定義された構成可能なパラメーターに基づいて実行されます。 コア プラットフォーム操作が実行シーケンスに追加され、信頼性と拡張性の高い実行モデルを形成することができます。

プロセスのライフ サイクル

プロセスのライフ サイクルは、ワークフロー作成から実行までの状態の遷移を表します。 プロセスの状態は、準備完了、中止、ロック、および完了のいずれかになります。 プロセスの有効期間中に発生するイベントにより、その状態が別の状態に遷移します。

ワークフロー

ワークフローのライフ サイクルを次に示します。

  1. ワークフローを作成すると、下書き状態になります。 実行する前にワークフローをアクティブ化する必要があります。 アクティブ化されたワークフローは、特定の Dynamics 365 Customer Engagement (on-premises) イベントをサブスクライブします。 これらのイベントがプラットフォームで発生すると、ワークフロー依存関係のスナップショットと入力パラメーターが作成され、新しい非同期操作が非同期サービス キュー マネージャに追加されます。 非同期操作は、ワークフロー実行ジョブを表します。これは、キュー内で実行されるまで準備完了状態で待機します。

  2. 非同期操作が処理されると、この操作に関連付けられているワークフロー インスタンスが Windows Workflow Foundation ランタイム エンジンによって作成され、その状態が準備完了からロックに遷移します。

  3. 非同期操作は、状態が遷移するたびに、ワークフロー インスタンスの状態の進捗状況を使用して更新されます。 非同期操作がブロックされると、Windows Workflow Foundation ランタイム エンジンによってワークフロー インスタンスの状態が中止に変更され、メモリから削除されます。 中止状態の条件が満たされると、ワークフロー インスタンスは再びメモリに読み込まれます。

  4. ワークフローの実行は、ワークフロー インスタンスを準備完了状態にしてから、ロック状態にすることによって再開されます。 単純なシナリオの場合、すべてのワークフロー活動が正常に完了すると、ワークフロー インスタンスは完了状態になります。

ユーザーは、非同期操作の状態を変更することができます。 たとえば、中止状態にある非同期操作を明示的に再開することができます。

ダイアログ

ダイアログのライフ サイクルを次に示します。

  1. ダイアログを作成すると、下書き状態になります。 実行する前にダイアログをアクティブ化する必要があります。 ダイアログは、主エンティティのフォームとグリッドから、またはダイアログの URL を使用して直接、実行できます。 詳細については、「URL によるダイアログの起動」を参照してください。

  2. ダイアログを実行するたびに、ダイアログに対するプロセス セッション インスタンスが作成されます。 ダイアログの実行が進むにしたがって、プロセス セッション エンティティは、ダイアログの実行中に実行されたアクションによって更新されます。

  3. ダイアログの実行が正常に完了すると、対応するプロセス セッション レコードが完了状態で作成されます。 ダイアログを完了する前にキャンセルすると、対応するプロセス セッション レコードが未完了状態で作成されます。

プロセスと非同期サービス: ワークフローのみ

非同期サービスにより、一括インポート、電子メール広告、ワークフロー プロセスなどの多様な長時間の操作を実行、監視、および管理することができます。 Dynamics 365 Customer Engagement (on-premises) のパフォーマンス、スケーラビリティ、および信頼性を向上させるため、これらの操作は非同期的に実行されます。 つまり、要求された操作はすぐに処理されずにキューに登録され、Dynamics 365 Customer Engagement (on-premises) によって適宜処理されます。

Dynamics 365 Customer Engagement (on-premises) プラットフォーム パイプラインでイベントが発生すると、そのイベントに関連付けられたすべてのワークフローが非同期サービスによって実行されます。 ワークフロー イベント ハンドラーが非同期キューに追加され、イベント実行順序のとおりに処理されます。

Note

非同期システム ジョブ (ワークフロー) が数回連続して失敗した場合、Customer Engagement は、非常に長い時間間隔でその特定のジョブの実行の延期を開始して、Customer Engagement 管理者が問題を調査して解決できるようにします。 ジョブが成功し始めたなら、通常の実行を再開します。

プロセスの保持とシャットダウン: ワークフローのみ

ワークフローは、完了までに数時間、数週間、または数か月かかる長時間の業務処理に使用することができます。 つまり、ワークフローを長時間アイドル状態にして、ユーザーまたは他のシステムからの入力に備えることができます。

Dynamics 365 Customer Engagement (on-premises) のパフォーマンス、スケーラビリティ、および信頼性を向上させるため、ワークフローなどの長時間の処理では非同期サービスが使用されます。

Windows Workflow Foundation ランタイム エンジンのホストとして非同期サービスを使用する場合、長期間続くワークフロー活動の間に累積するすべてのオブジェクトを常にキャッシュに保存したりアクティブにしておいたりすることはできません。 ワークフローの実行時に再起動やシャットダウンなどの特定の条件が発生した場合、ワークフロー ランタイム エンジンは永続性サービスを使用して、ワークフロー インスタンスの状態をディスクに保存します。 他の条件が発生した場合も、保持サービスが起動されます。たとえば、ワークフローがアイドル状態になり、一部の外部イベントが発生するのを待っている場合などです。 これらのアイドル状態のワークフロー インスタンスを保持することにより、メモリが節約され、スケーラビリティが大幅に向上します。 非同期サービスを実行しているサーバーがシャットダウンするか、実行中にワークフローがクラッシュした場合は、サーバーの再起動後に、最後に保持された時点からワークフローを再開することができます。 ワークフローがアイドル状態でなくなると、ワークフロー インスタンスの状態が、最後に保持された時点の状態でメモリに復元されます。

詳細:ワークフローの永続性

参照

非同期サービス
イベント フレームワーク
Dynamics 365 Customer Engagement (on-premises) のプロセス