変更要約: 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.1技術アーキテクチャの設計
ビジネスロジックの配置先(business rule / plug-in / Power Automate / client scripting)、テーブル種別(standard / virtual / elastic)、認証認可とセキュリティ(DLP / セキュリティロール / チーム / 業務単位 / 行共有)を理解します。
優れた Power Platform 開発はまず どこにロジックを置くか の設計から始まります。要件・実行場所・タイミングで適切な拡張ポイントを選びます。
1.1.1ビジネスロジックの配置先
business rule はノーコードでフォームの表示/必須/簡易検証を行い、client scripting(JavaScript) はフォーム上で 即時の UX(動的な表示制御)を担います。plug-in は サーバーサイドで Dataverse のイベント(作成/更新等)に同期/非同期で ビジネスロジックを実行し、データ整合の中核です。Power Automate(クラウドフロー) は クラウドの自動化/統合(承認・通知・他サービス連携)に向きます。out-of-the-box で足りるなら作り込みは避けます。
1.1.2テーブル種別
standard テーブル はデータを Dataverse に格納する通常のテーブル。virtual テーブル は 外部データソースを Dataverse にコピーせず仮想的に表現し(リアルタイムに外部を読む)、elastic テーブル は 大量データ/高スループット/可変スキーマ 向けの NoSQL 系(Cosmos DB ベース)のテーブルです。要件(格納/外部参照/大規模)で選びます。連携が中心なら connector も選択肢です。
1.1.3認証認可とセキュリティ
アクセスは セキュリティロール(権限の集合)で付与し、チーム(ユーザーのグループ)や 業務単位(business unit)(組織階層)でスコープします。個別レコードは 行共有(row sharing) で例外的に共有します。組織全体では データ損失防止(DLP)ポリシー でコネクタの利用を制限し、業務/非業務データの混在を防ぎます。コンポーネントには 最小権限 を割り当てます。
決め手:「ノーコードのフォーム検証/表示」=business rule。「フォーム即時UX(JS)」=client scripting。「サーバーサイドでDataverseイベントに実行」=plug-in。「クラウド自動化/統合」=Power Automate。「外部を仮想表現」=virtual table。「大量/可変スキーマ」=elastic table。「コネクタ利用制限」=DLP。「権限集合」=セキュリティロール。
混同に注意:
①plug-in(サーバー/Dataverseイベント)とclient scripting(クライアント/フォームUX)を取り違えない。
②business rule(ノーコード簡易)はplug-inの代替でない。
③virtual(外部を非コピー)とstandard(Dataverse格納)とelastic(大規模NoSQL)を区別。
④DLP(コネクタ制御)とセキュリティロール(レコード権限)は別レイヤー。
1.1.4この節のまとめ
- ロジック配置=business rule(簡易)/client scripting(UX)/plug-in(サーバーイベント)/Power Automate(クラウド自動化)
- テーブル=standard(格納)/virtual(外部仮想)/elastic(大規模NoSQL)を要件で選ぶ
- セキュリティ=ロール/チーム/業務単位/行共有・組織はDLPでコネクタ制御
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. レコードの作成/更新時にサーバーサイドで複雑なビジネスロジックを Dataverse のイベントに対して実行したい。最適な拡張ポイントはどれですか?
Q2. コードを書かずにフォームで項目の表示/非表示や必須化、簡単な検証を行いたい。最適なのはどれですか?
Q3. 外部システムのデータを Dataverse にコピーせず、リアルタイムに参照してテーブルとして扱いたい。最適なテーブル種別はどれですか?
Q4. 非常に大量のデータと可変スキーマ、高スループットの書き込みが必要なシナリオに最適なテーブル種別はどれですか?
Q5. 組織全体でコネクタの利用を業務/非業務に分類して制限し、データ漏えいを防ぎたい。最適なのはどれですか?

