次の方法で共有


プロセス アーキテクチャ

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

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

次の図は、Dynamics 365 Customer Engagement (オンプレミス) のシステム アーキテクチャの概要を示し、プロセスに固有のシステムの部分を示しています。

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

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

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

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

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

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

プロセス インフラストラクチャ。 Dynamics 365 Customer Engagement (オンプレミス) プロセス インフラストラクチャは、次のコンポーネントで構成されます。

  • プロセス エンティティ モデル。Windows Workflow Foundation オブジェクト モデルを使用し、Dynamics 365 Customer Engagement (オンプレミス) ワークフロー アクティビティを公開する一連のクラスが含まれています。

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

  • ワークフローのホストや永続化などのワークフロー実行サービスを提供するプロセス実行。

データの処理。 Dynamics 365 Customer Engagement (オンプレミス) プロセス プログラミング モデルは、次のデータでサポートされています。

  • Dynamics 365 Customer Engagement (オンプレミス) エンティティに関連付けられている情報を含むビジネス データ。

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

  • プロセス ランタイム データ。ワークフロー プロセスを実行し、永続化や通知などのワークフロー プロセス機能を実装するために必要です。

プロセスと統合イベント モデル

Dynamics 365 Customer Engagement (オンプレミス) では、プラグイン (コールアウト) とプロセスの両方で使用される統合イベント モデルが使用されます。 このイベント処理サブシステムは、パイプライン実行モデルを導入することで、プロセスとプラグインの実行に柔軟性を高めます。

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

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

プロセスのライフ サイクルは、作成から実行までの状態遷移を記述します。 プロセスは、準備完了、中断済み、ロック済み、完了のいずれかの状態にすることができます。 プロセスの有効期間中に発生するイベントにより、ある状態から別の状態に遷移します。

Workflows

ワークフローのライフ サイクルは次のとおりです。

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

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

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

  4. ワークフローインスタンスを準備完了状態にしてからロック状態にすることで、ワークフローの実行が再開されます。 単純なシナリオでは、すべてのワークフロー アクティビティが正常に完了すると、ワークフロー インスタンスは完了状態に移行します。

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

Dialogs

ダイアログのライフ サイクルは次のとおりです。

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

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

  3. ダイアログの実行が正常に完了すると、対応するプロセス セッション レコードが完了状態で作成されます。 完了せずにダイアログを取り消した場合、対応するプロセス セッション レコードが不完全状態で作成されます。

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

非同期サービスを使用すると、一括インポート、一括メール、ワークフロー プロセスなど、実行時間の長いさまざまな操作を実行、監視、管理できます。 Dynamics 365 Customer Engagement (オンプレミス) のパフォーマンス、スケーラビリティ、信頼性を向上させるために、これらの操作は非同期的に実行されます。 つまり、要求された操作は即座に処理されず、キューに追加され、Dynamics 365 Customer Engagement (オンプレミス) によって適切なタイミングで処理されます。

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

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

プロセスの永続化とシャットダウン: ワークフローの場合のみ

ワークフローは、実行時間の長いビジネス操作で、完了までに数時間、数週間、または数か月かかる場合があります。 ユーザーまたは他のシステムからの入力を待機している間、実質的にアイドル状態になる可能性があります。

Dynamics 365 Customer Engagement (オンプレミス) のパフォーマンス、スケーラビリティ、信頼性を向上させるために、ワークフローなどの実行時間の長い操作では非同期サービスが使用されます。

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

詳細情報: ワークフローの永続化

こちらも参照ください

非同期サービス
Event Framework
Dynamics 365 Customer Engagement (オンプレミス) のプロセス