変更要約: PL-400 第1章を新規作成(ドメイン: 技術設計 + ソリューション構築/ALM)。技術アーキテクチャの設計(ビジネスロジック配置先 business rule/plug-in/Power Automate/client scripting・テーブル種別 standard/virtual/elastic・DLP/セキュリティロール/チーム/業務単位/行共有)、ソリューションコンポーネントの設計(canvas component/PCF コードコンポーネント・カスタムコネクタ・Power Fx/plug-in/custom API・統合)、ALM(managed/unmanaged・ソリューション層・環境変数・Pipelines・Build Tools CI/CD)。
1.2ソリューションコンポーネントの設計
再利用可能なコンポーネント(canvas component / PCF コードコンポーネント / client scripting)、カスタムコネクタ、Dataverse コードコンポーネント(Power Fx / plug-in / custom API)、統合の設計を理解します。
要件を 適切なコンポーネント に分解して設計します。再利用・拡張・統合のそれぞれに最適な手段を選びます。
1.2.1再利用可能なコンポーネント
canvas component(とコンポーネントライブラリ)は canvas アプリ内で再利用する UI 部品。PCF(Power Apps component framework)コードコンポーネント は TypeScript/JS でカスタムの UI コントロールを作り、canvas/model-driven の両方で使えます。client scripting はフォームのイベントに JS を結びつけます。「ノーコード/ローコードの再利用」=canvas component、「コードで作るカスタムコントロール」=PCF、と区別します。
1.2.2Dataverse コードコンポーネントとカスタムコネクタ
Dataverse 側のロジックは Power Fx 関数(ローコードの再利用関数)、plug-in(サーバーサイドイベント)、custom API(再利用可能な独自メッセージ/操作の公開)で設計します。外部 REST API を Power Platform に取り込むには カスタムコネクタ(Open API 定義 + 認証)を設計します。
1.2.3統合の設計
統合は インバウンド(外部→Dataverse)と アウトバウンド(Dataverse→外部/Azure)に分けて設計します。Dataverse イベントを Azure(Service Bus/Event Hub/webhook)へ送る、または外部から Web API で取り込む、といった経路を選びます。同期が必要か、疎結合でよいかで方式を決めます。
決め手:「canvasの再利用UI部品」=canvas component。「コードで作るカスタムUIコントロール(canvas/model両用)」=PCFコードコンポーネント。「再利用可能な独自メッセージ」=custom API。「外部REST APIを取り込む」=カスタムコネクタ。「ローコード再利用関数」=Power Fx関数。統合はインバウンド/アウトバウンドで設計。
混同に注意:
①canvas component(ローコードUI)とPCFコードコンポーネント(コードのカスタムコントロール)を取り違えない。
②custom API(独自メッセージ)とカスタムコネクタ(外部API取込)は別物。
③Power Fx関数とplug-inは実行場所/言語が違う。
④統合の方向(インバウンド/アウトバウンド)を明確に。
1.2.4この節のまとめ
- 再利用=canvas component(ローコード)/PCFコードコンポーネント(コード)・client scripting
- Dataverse=Power Fx関数/plug-in/custom API・外部APIはカスタムコネクタ
- 統合はインバウンド/アウトバウンドで設計(Dataverse↔Azure/外部)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. TypeScript で作るカスタムの UI コントロールを、canvas アプリと model-driven アプリの両方で再利用したい。最適なのはどれですか?
Q2. 外部の REST API を Power Platform の各アプリ/フローから利用できるように取り込みたい。最適なのはどれですか?
Q3. Dataverse 上で再利用可能な独自の操作(メッセージ)を公開し、複数のクライアントから呼べるようにしたい。最適なのはどれですか?
Q4. canvas component と PCF コードコンポーネントの違いとして正しいのはどれですか?
Q5. Dataverse のデータ変更を Azure 側へ疎結合で送る統合を設計したい。方向の分類として正しいのはどれですか?

