変更要約: PL-400 第3章を新規作成(ドメイン: プラットフォーム拡張の前半=プラグイン)。Dataverse プラグイン(実行パイプラインのステージ pre-validation/pre-operation/post-operation・同期/非同期・実行コンテキスト IPluginExecutionContext・Pre/Post Image・Organization service CRUD・sandbox/性能・Plug-in Registration Tool)、カスタム API とビジネスイベント(custom API message bound/unbound・Dataverse business events・プラグイン実装)。
3.2カスタム API とビジネスイベント
custom API メッセージ(bound/unbound)、Dataverse business events、登録と公開、プラグインからの呼び出しを理解します。
繰り返し使うサーバー操作は custom API として 独自メッセージ にまとめ、複数のクライアント/プラグインから再利用します。
3.2.1custom API と bound/unbound
custom API は 再利用可能な独自の操作(メッセージ) を Dataverse に定義し、入力/出力パラメーターを宣言してプラグインで実装します。特定テーブルに紐づく bound(そのテーブルのレコードに対する操作)と、テーブルに依存しない unbound(グローバルな操作)を選べます。外部 REST API を取り込む カスタムコネクタとは別物(custom API はサーバー内の独自操作)です。
3.2.2Dataverse business events
Dataverse business events は業務上の出来事(例: 注文確定)を イベントとして発行し、購読側がそれに反応できる仕組みです。CRUD のテーブル操作イベントと違い、ビジネス意味のあるイベント を定義/公開できます。custom API と組み合わせて拡張的なロジックを構成します。
決め手:「再利用可能なサーバー内独自操作」=custom API。「特定テーブルに紐づく」=bound、「テーブル非依存のグローバル」=unbound。「業務上の出来事をイベント発行」=Dataverse business events。custom API(独自メッセージ)とカスタムコネクタ(外部API取込)は別物。
混同に注意:
①custom API(サーバー内の独自メッセージ)とカスタムコネクタ(外部API取込)を取り違えない。
②bound(テーブル紐付け)とunbound(グローバル)を区別。
③business events(業務イベント)とCRUDテーブルイベントは別。
④custom APIの実装はプラグイン。
3.2.3この節のまとめ
- custom API=再利用可能な独自メッセージ・bound(テーブル)/unbound(グローバル)
- Dataverse business eventsで業務上の出来事をイベント発行
- custom APIはプラグインで実装・カスタムコネクタとは別物
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Dataverse 上で再利用可能な独自の操作(メッセージ)を定義し、複数のクライアントやプラグインから呼べるようにしたい。最適なのはどれですか?
Q2. 特定のテーブルのレコードに対して実行する custom API を定義したい。種別はどれですか?
Q3. 特定のテーブルに依存しないグローバルな custom API を定義したい。種別はどれですか?
Q4. 「注文確定」のような業務上の出来事をイベントとして発行し、購読側が反応できるようにしたい。最適なのはどれですか?
Q5. custom API とカスタムコネクタの違いとして正しいのはどれですか?

