PL-900：モデル駆動型アプリの構成要素

この投稿はMicrosoft PL-900の受験に向けた勉強資料をMS Learnページを参考にして作っています。
一発合格に向けて頑張りましょう！

[モデル駆動型アプリの構成要素][MS-Learn]

[MS-Learn]: https://learn.microsoft.com/ja-jp/training/modules/how-build-model-driven-app/03-build-blocks-of-model-driven-apps

# モデル駆動型アプリ(model-driven apps)の構成要素
* アプリデザイナーを使用して選択するいくつかのコンポーネントで構成されている
* コンポーネント・コンポーネントのプロパティ　→　メタデータ

## データ
次の表は、モデル駆動型アプリを構成するさまざまなデータコンポーネントについて説明している
<table>
  <thead>
    <tr>
      <th>コンポーネント</th> <th>説明</th> <th>デザイナー</th>
    </tr>
  </thead>
  <tr>
    <td>テーブル</td>
    <td>
        ■ 追跡可能なプロパティを持つ項目<br/>
        例）連絡先やアカウントなど<br/>
        ■ 多くの標準テーブルが用意されてるが、非システム標準テーブル(または運用テーブル)をカスタマイズすることも、ゼロからカスタムテーブルを作成することもできる
    </td>
    <td>テーブルデザイナー</td>
  </tr>
  <tr>
    <td>列</td>
    <td>
        ■ テーブルに関連付けられ、そのテーブルを定義するのに役立つプロパティ<br/>
        ■ データ型によって定義される　→　これにより入力または選択できるデータの型が決まる<br/>
        ■ データタイプ　→　テキスト、数値、日付・時刻、通貨、ルックアップ (別のテーブルとのリレーションシップを生み出す)など<br/>
        ■ 通常はフォーム、ビュー、検索で使用される
    </td>
    <td>テーブルデザイナー</td>
  </tr>
  <tr>
    <td>リレーションシップ</td>
    <td>
        ■ テーブルを互いに関連付ける方法を定義するもの<br/>
        ■ 1:N (一対多)、N:1 (多対一)、N:N (多対多)
        例）テーブルにルックアップ列を追加すると、2つのテーブル間に新しい 1:Nのリレーションシップが作成され、そのルックアップ列をフォームに追加することができる
    </td>
    <td>テーブルデザイナー</td>
  </tr>
  <tr>
    <td>選択肢</td>
    <td>
        ■ 定義済みオプションの中からユーザーが選択できるコントロールを示す<br/>
        → 各オプションには数値とラベルが含まれている<br/>
        → セレクトボックスは1つの値または複数の値の選択が必要
    </td>
    <td>テーブルデザイナー</td>
  </tr>
</table>

## ユーザー インターフェイス
次の表は、下記について説明している
* ユーザーがアプリを操作する方法
* ユーザーインターフェイスコンポーネント
(コンポーネントを作成または編集するために使用するデザイナーを決定するもの)

<table>
  <thead>
    <tr>
      <th>コンポーネント</th> <th>説明</th> <th>デザイナー</th>
    </tr>
  </thead>
  <tr>
    <td>アプリ</td>
    <td>
        ■ コンポーネント、プロパティ、クライアントの型、URL など、アプリの基礎が決定される
    </td>
    <td>アプリ デザイナー</td>
  </tr>
  <tr>
    <td>サイト マップ</td>
    <td>
        ■ アプリのナビゲーションを指定
    </td>
    <td>サイト マップ デザイナー</td>
  </tr>
  <tr>
    <td>フォーム</td>
    <td>
        ■ 特定のテーブルに対する一連のデータ入力列が含まれる<br/>
        ■ フォームを使用して、新しいデータ行を作成するか、既存のデータ行を編集する        
    </td>
    <td>フォーム デザイナー</td>
  </tr>
  <tr>
    <td>ビュー</td>
    <td>
        ■ 特定テーブルの行のリストがアプリでどう表示するかを定義する<br/>
        ■ 表示される列、各列の幅、並替えの動作、デフォルトフィルターを定義する
    </td>
    <td>ビュー デザイナー</td>
  </tr>
</table>

<img src="https://learn.microsoft.com/ja-jp/training/modules/how-build-model-driven-app/media/user-interface-form.png" />

## ロジック
* ロジックコンポーネントはアプリに含まれるビジネスプロセス、ルール、オートメーションを決定する
* Microsoft Power Appsの作成者は、必要なプロセスまたはルールの種類に固有のデザイナーを使用する
<table>
  <thead>
    <tr>
      <th>ロジックのタイプ</th> <th>説明</th> <th>デザイナー</th>
    </tr>
  </thead>
  <tr>
    <td>ビジネス プロセス フロー</td>
    <td>
        ■ 標準的なビジネス プロセスを順に追ってユーザーに説明する<br/>
        ■ だれもが同じ方法で顧客サービス要求を処理する必要がある場合は、ビジネス プロセスフローを使用する<br/>
        ■ ビジネス プロセス フローを使って注文を送信する前に請求書の承認を得るようスタッフに要求することもできる
    </td>
    <td>ビジネス プロセス フロー デザイナー</td>
  </tr>
  <tr>
    <td>ワークフロー</td>
    <td>
        ■ ユーザー インターフェイスなしでビジネス プロセスを自動化する<br/>
        ■ デザイナーは、ユーザーとの対話を必要としないオートメーションを開始するためにワークフローを使用する
    </td>
    <td>ワークフロー デザイナー</td>
  </tr>
  <tr>
    <td>アクション</td>
    <td>
        ■ ワークフローから直接、手動で動作 (カスタム アクションなど) を呼び出すことができるプロセスのタイプ
    </td>
    <td>プロセス デザイナー</td>
  </tr>
  <tr>
    <td>ビジネス ルール</td>
    <td>
        ■ フォームにルールや推奨ロジックを適用して、フィールド要件の設定、フィールドの表示・非表示、データの検証などを実行する<br/>
        ■ アプリ デザイナーは、急速に変化するものとかよく使われるルールを実装・維持するためにシンプルなインターフェイスを使用する
    </td>
    <td>ビジネス ルール デザイナー</td>
  </tr>
  <tr>
    <td>フロー</td>
    <td>
        ■ アプリとサービス間で自動化されたワークフローを作成し、通知の受信、ファイルの同期、データの収集などを可能にするクラウド ベースのサービス
    </td>
    <td>Power Automate</td>
  </tr>
</table>


## ビジュアル化
視覚化コンポーネントは、アプリが表示および使用可能にするデータのタイプとレポート、そのコンポーネントを作成または編集するために使用するデザイナーを決定する
<table>
  <thead>
    <tr>
      <th>ロジックのタイプ</th> <th>説明</th> <th>デザイナー</th>
    </tr>
  </thead>
  <tr>
    <td>グラフ</td>
    <td>
        ■ ビューやフォームに表示したり、ダッシュボードに追加したりすることができる個々のグラフィカルにビジュアル化するものを示す
    </td>
    <td>グラフ デザイナー</td>
  </tr>
  <tr>
    <td>ダッシュボード</td>
    <td>
        ■ アクションにつながるビジネス データの概要を提供する1つ以上のグラフィカルにビジュアル化するものを1か所で表示する
    </td>
    <td>ダッシュボード デザイナー</td>
  </tr>
  <tr>
    <td>埋め込み型（Embedded） Microsoft Power BI</td>
    <td>
        ■ ビジネス インテリジェンス (BI) の分析情報を提供するクラウドベースのサービス<br/>
        ■ Embedded Power BIタイルとダッシュボードをアプリに追加する
    </td>
    <td>グラフ デザイナー、ダッシュボード デザイナー、Power BI の組み合わせ</td>
  </tr>
</table>
<img src="https://learn.microsoft.com/ja-jp/training/modules/how-build-model-driven-app/media/model-driven-visualizations.png" />