ビジネス プロセスを拡張するためのプラグインの使用
プラグインは、Microsoft Dataverse データ操作の処理中に発生した特定のイベントに応答して実行されるカスタム イベント ハンドラーです。 プラグインは、アップロードして Dataverse に登録できる .NET Framework アセンブリにコンパイルされたカスタム クラスとして実装されます。 アセンブリ内の 1 つ以上のプラグイン クラスは、Dataverse イベント フレームワーク内の特定のイベント (ステップ) に登録できます。 データ処理操作中にターゲット イベントが発生すると、登録されたプラグイン クラス内のコードが実行され、プラットフォームのデフォルトのデータ処理動作を拡張または変更する手段が提供されます。
ヒント
可能な限り、ビジネスロジックを定義するいくつかの宣言型オプションの 1 つを適用することを最初に検討する必要があります。 詳細: Dataverse でビジネス ロジックを適用する
宣言型プロセスが要件を満たさない場合、プラグインを使用します。
プラグインに関する詳細
イベント フレームワーク (パイプライン) ステップに登録されるアセンブリ内のすべてのクラスは、IPlugin インターフェースを実装する必要があります。 このインターフェイスは、Execute と呼ばれる単一のメソッドを公開しています。 コンパイル済みクラスが登録されているイベントが発生すると、処理中のデータ操作に関するコンテキスト データがプラグインの Execute
メソッドに渡されます。 Execute
メソッド内では、カスタム コードで次のことができます:
- 現在のデータ処理パイプライン操作をキャンセルし、オプションでユーザーにエラーを表示する
- 現在のパイプライン操作で処理されているビジネス データに変更を加える
- 他のデータ操作を呼び出す
- 外部システムに接続する
- 同じパイプラインに登録されている別の「下流」プラグインに情報を渡す
- その他...
プラグインは同期または非同期で実行するよう登録できます。 同期プラグインは、プラグインのコードが完了するまで、データの操作を待機させます。 この遅延はエンドユーザーが認識するシステムのパフォーマンスに影響を与えるため、同期プラグインは必ず迅速に実行し、完了させます。 非同期プラグインの実行はキューに入れられ、後でデータ操作が完了した後に実行されます。
プラグインを使用する場合
カスタム ビジネス ロジックの適用に関する選択肢として、カスタム ワークフロー活動とプラグインが頻繁に比較されます。 ワークフロー活動とプラグインの機能には重複が多くみられます。プラグインはワークフロー活動が実行できる操作をすべて実行できますが、その逆は成り立ちません。 これは、ワークフローで実行できない操作には必ずプラグインを使うべきという意味ではありません。 プラグインを使用せずに要件を満たせる、別の機能があります。
ワークフローではカスタム ワークフロー活動を使用でき、これにより複数のワークフローで使用できるコードで再使用可能な条件およびアクションを作成できます。
計算フィールドおよびロールアップ フィールドは、以前はワークフローを使用しなければ実行できなかった機能を提供します。
ユーザー定義アクションは、ワークフローに似た種類のプロセスで、他のワークフローまたは Web サービス エンドポイントから呼び出せる再利用可能なメッセージを作成できます。
Azure Service Bus 統合と Webhooks を使用して、多くのさまざまなリソースを使用してロジックを適用できる外部システムにデータを格納できます。
Power Automate は、以前はプラグインを使用して実行されていた多くの機能を提供します。
これらの各オプションを評価し、要件に適合する最適な方法を理解する必要があります。
プラグインを使用する利点
プラグインを使用する主な利点は次のとおりです:
- プラグインは高性能です。 適切に作成されたプラグインは、カスタム ビジネス ロジックを適用する最も効率の良い方法を提供します。
- プラグインは強力です。 多くの開発者は、自分のスキルや知識を使用してロジックを定義し、Dataverse Web サービスまたは外部サービスをコード内で直接使用するために機能を使用することを好みます。 経験豊かなプラグイン開発者は、非常に高い生産性を発揮できます。
- すぐに使えるビジネス ソリューションが存在しない場合、プラグインは、Dataverse の機能を拡張します。
プラグインの欠点
- プラグイン コードの作成および管理を行う場合、ソフトウェア開発者には特別なスキルが求められます。 中小企業は、必要なスキルを持つ開発者にアクセスできない場合があります。 ビジネス プロセスは急速に変化する可能性があり、開発者なしで変更できる選択肢があれば、システムはより素早く適合できます。
- プラグインは悪用される可能性があります。 不適切に作成されたプラグインは、データ処理パイプラインの知覚されるパフォーマンスや、最終的にはエンドユーザーの操作環境に、重大な影響を与える可能性があります。 プラグインの強力な力は、制限を加え、システム全体に与える影響を考慮した上で適用する必要があります。
- プラグインはわずかな時間 (ハード リミット) で作業を完了する必要があります。
次のステップ
次のチュートリアルとハウツー トピックは、プラグインの詳しい使用方法を説明しています
チュートリアル
このトピックは、いくつかの簡単なプラグインを作成、登録、デバッグする基本的なプロセスについて説明しています。
ハウツー トピック
これらのトピックでは、プラグイン開発に共通する追加の詳細を提供します。
上記のプラグインの概念を読んで理解したら、これらの追加のプラグイン関連の機能とテクノロジを検討してください。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。