モデル駆動型アプリの構築の概要Overview of building a model-driven app

モデル駆動型アプリの設計は、コンポーネントに焦点を当てたアプリ開発の手法です。Model-driven app design is a component-focused approach to app development. モデル駆動型アプリの設計ではコードを必要とせず、作成したアプリを単純にも、非常に複雑にもできます。Model-driven app design doesn’t require code and the apps you make can be simple or very complex. 設計者がアプリのレイアウトを完全に制御するキャンバス アプリの開発とは異なり、モデル駆動型アプリでは、レイアウトの多くは、設計者がアプリに追加するコンポーネントによって自動的に決定され、大部分が指定されます。Unlike canvas app development where the designer has complete control over app layout, with model-driven apps much of the layout is determined for you and largely designated by the components you add to the app.

モデル駆動型アプリのサンプル

モデル駆動型アプリの設計には、次のような利点があります。Model-driven app design provides the following benefits:

  • コンポーネントに焦点が当てられた、コードを使わない、充実した設計環境Rich component-focused no-code design environments
  • デスクトップからモバイルまでのさまざまなデバイスで同じ UI を使う複雑で応答性の高いアプリの作成Create complex responsive apps with a similar UI across a variety of devices from desktop to mobile
  • Dynamics 365 顧客エンゲージメント プラットフォームで使用可能なものと似た機能の設計Design capability similar to what’s is available in the Dynamics 365 customer engagement platform
  • ソリューションとして配布できるアプリYour app can be distributed as a solution

モデル駆動型アプリの作成方法The approach to model-driven app making

基本的なレベルでは、モデル駆動型アプリの作成は 3 つの主要な重点領域で構成されます。At a fundamental level, model-driven app making consists of three key focus areas.

  • ビジネス データのモデル化Modeling business data
  • ビジネス プロセスの定義Defining business processes
  • アプリの作成Composing the app

ビジネス データのモデル化Modeling business data

ビジネス データをモデル化するには、アプリに必要なデータ、およびそのデータと他のデータの関連性を決定します。To model business data you determine what data your app will need and how that data will relate to other data. モデル駆動型設計では、設計者がコードを記述しなくてもアプリケーションをカスタマイズできるように、メタデータ駆動型のアーキテクチャが使われます。Model-driven design uses a metadata-driven architecture so that designers can customize the application without writing code. メタデータとは "データに関するデータ" のことであり、システムに格納されるデータの構造を定義しています。Metadata means “data about data” and it defines the structure of the data stored in the system. チュートリアル: PowerApps でコンポーネントがあるカスタム エンティティを作成するTutorial: Create a custom entity that has components in PowerApps

ビジネス プロセスの定義Defining business processes

一貫性のあるビジネス プロセスを定義して適用することは、モデル駆動型アプリの設計の重要な側面です。Defining and enforcing consistent business processes is a key aspect of model-driven app design. プロセスに一貫性があれば、アプリのユーザーは、一連の手動手順を忘れずに実行することではなく、自分の仕事に集中できます。Consistent processes help make sure your app users focus on their work and not on remembering to perform a set of manual steps. プロセスは単純なことも複雑なこともあり、多くの場合は時間の経過と共に変化します。Processes can be simple or complex and often change over time. プロセスを作成するには、[詳細] を選んでソリューション エクスプローラーを開きます。To create a process, select Advanced to open solution explorer. 次に、ソリューション エクスプローラーの左側のナビゲーション ウィンドウで [プロセス] を選んでから、[新規] を選びます。Next, on the left navigation pane in solution explorer select Processes, and then select New. 詳しくは、「ビジネス ロジックの使用」をご覧ください。More information: Working with business logic

モデル駆動型アプリの作成Composing the model-driven app

データをモデル化してプロセスを定義した後は、アプリ デザイナーを使って、必要なコンポーネントを選んで構成することによりアプリを構築します。After modeling data and defining processes, you build your app by selecting and configuring the components you need using the app designer.

アプリ デザイナー

モデル駆動型アプリのコンポーネントとデザイナーModel-driven app components and designers

適切に設計されたモデル駆動型アプリは、最終的なアプリの外観と機能を構築するためにデザイナーが選ぶ複数のコンポーネントで構成されます。A well designed model-driven app consists of a several components the designer selects to build the appearance and functionality of the finished app. アプリを構成するためにデザイナーが使うコンポーネントとコンポーネントのプロパティが、メタデータになります。The components and component properties that designers use to make up an app become the metadata. これらの各コンポーネントとアプリの設計の関係を理解するため、ここではコンポーネントを "データ"、"UI"、"ロジック"、"視覚化" の各カテゴリに分けてあります。To understand how each of these components relates to app design, they’re separated here into data, UI, logic, and visualization categories.

データData

これらのコンポーネントは、アプリの基になるデータを決定します。These components determine what data the app will be based upon.

コンポーネントComponent 説明Description デザイナーDesigner
組織Entity 追跡するプロパティを持つ項目。連絡先、アカウントなど。An item with properties that you track, such as a contact or account. 多くの標準エンティティを利用できます。Many standard entities are available. 非システム標準エンティティ (運用エンティティ) をカスタマイズしたり、一からカスタム エンティティを作成したりできます。You can customize a non-system standard entity (production entity) or create a custom entity from scratch. PowerAppsPowerApps エンティティ デザイナーPowerAppsPowerApps entity designer
フィールドField エンティティに関連付けられているプロパティ。A property that is associated with an entity. フィールドはデータ型によって定義され、それにより入力または選択できるデータの種類が決まります。A field is defined by a data type, which determines the type of data that can be entered or selected. 例としては、テキスト、数値、日付と時刻、通貨、検索 (他のエンティティとのリレーションシップを作成します) などがあります。Examples include text, number, date and time, currency, or lookup (creates a relationship with another entity). 通常、フィールドはフォーム、ビュー、検索で使われます。Fields typically are used with forms, views, and searches. PowerAppsPowerApps エンティティ デザイナーPowerAppsPowerApps entity designer
リレーションシップRelationship エンティティのリレーションシップは、エンティティが相互に関係できる方法を定義します。Entity relationships define how entities can be related to each other. リレーションシップの種類には、1:N (一対多)、N:1 (多対一)、N:N (多対多) があります。There are 1:N (one-to-many), N:1 (many-to-one), and N:N (many-to-many) types of relationships . たとえば、エンティティにルックアップ フィールドを追加すると、2 つのエンティティの間に新しい 1:N リレーションシップが作成され、そのルックアップ フィールドをフォームに配置できます。For example, adding a lookup field to an entity creates a new 1:N relationship between the two entities and lets you put that lookup field on a form. PowerAppsPowerApps エンティティ デザイナーPowerAppsPowerApps entity designer
オプション セット フィールドOption set field これは特別な種類のフィールドであり、事前に決定されているオプションのセットをユーザーに提供します。This is a special type of field, which provides the user a set of predetermined options. 各オプションには、番号の値とラベルがあります。Each option has a number value and label. このフィールドをフォームに追加すると、ユーザー オプションを選択するためのコントロールが表示されます。When added to a form, this field displays a control for the user to select an option. オプション セットには 2 つの種類があります。オプション セットでは、ユーザーが選択できるオプションは 1 つだけです。複数選択オプション セットでは、ユーザーは複数のオプションを選択できます。There are two kinds of option sets; option sets, where the user can only select one option, and multi-select options sets, which allow more than one selection. PowerAppsPowerApps オプション セット デザイナーPowerAppsPowerApps option set designer

UIUI

これらのコンポーネントは、ユーザーがアプリと対話する方法を決定します。These components determine how users interact with the app.

コンポーネントComponent 説明Description デザイナーDesigner
アプリApp アプリのコンポーネント、プロパティ、クライアントの種類、URL など、アプリケーションの基礎を決定します。Determines the application fundamentals such as components, properties, client type, and URL for your app. アプリ デザイナーApp designer
サイト マップSite map アプリのナビゲーションを指定します。Specifies the navigation for your app. サイト マップ デザイナーSite map designer
フォームForm エンティティについて組織が追跡する項目に一致する、特定のエンティティのデータ入力フィールドのセットです。A set of data-entry fields for a given entity that matches the items that your organization tracks for the entity. たとえば、顧客の以前の注文および要求された特定の再注文日を追跡するためのユーザーの入力関連情報が含まれるデータ入力フィールドのセットなどです。For example, a set of data-entry fields that where user’s input relevant information to track a customer’s previous orders along with specific requested reorder dates. フォーム デザイナーForm designer
表示View ビューは、特定のエンティティのレコードの一覧がアプリケーションに表示される方法を定義します。Views define how a list of records for a specific entity is displayed in your application. ビューでは、表示する列、各列の幅、並べ替えの動作、既定のフィルターが定義されています。A view defines the columns to display, width of each column, sort behavior, and the default filters. ビュー デザイナーView designer

アプリ デザイナーとフォーム デザイナー

ロジックLogic

アプリが備えるビジネス プロセス、ルール、およびオートメーションを決定します。Determines the business processes, rules, and automation the app will have. PowerAppsPowerApps メーカーは、プロセスまたはルールの種類に固有のデザイナーを使います。PowerAppsPowerApps makers use a designer that is specific to the type of process or rule.

ロジックの種類Type of logic 説明Description デザイナーDesigner
ビジネス プロセス フローBusiness process flow 標準的なビジネス プロセスに沿ってユーザーを誘導するオンライン プロセスです。An online process that walks users through a standard business process. たとえば、すべてのユーザーにカスタマー サービス要求を同じように処理させたい場合や、スタッフが注文を送信する前に請求書の承認を得なければならない場合などは、ビジネス プロセス フローを使います。For example, use a business process flow if you want everyone to handle customer service requests the same way, or to require staff to gain approval for an invoice before submitting an order. ビジネス プロセス フロー デザイナーBusiness process flow designer
ワークフローWorkflow ユーザー インターフェイスなしでビジネス プロセスを自動化するワークフローです。Workflows automate business processes without a user interface. デザイナーは、ユーザーの介入を必要としないオートメーションを開始するためにワークフローを使います。Designers use workflows to initiate automation that doesn’t require any user interaction. ワークフロー デザイナーWorkflow designer
アクションActions アクションは、カスタム動作などの操作をワークフローから直接手動で呼び出すことができるプロセスの種類です。Actions are a type of process that let you manually invoke actions, including custom actions, directly from a workflow. プロセス デザイナーProcess designer
ビジネス ルールBusiness rule フィールドの要件の設定、フィールドの非表示、データの検証など、ルールや推奨ロジックをフォームに適用するために使われます。Used to apply rule or recommendation logic to a form, such as to set field requirements, hide fields, or validate data. アプリ デザイナーは、シンプルなインターフェイスを使って、頻繁に変更され、よく使用されるルールを実装および維持します。App designers use a simple interface to implement and maintain fast-changing and commonly used rules. ビジネス ルール デザイナーBusiness rule designer
フローFlow フローはクラウド ベースのサービスであり、アプリとサービスの間に、通知の取得、ファイルの同期、データの収集などを自動化するワークフローを作成できます。Flow is a cloud-based service that lets you create automated workflows between apps and services to get notifications, synchronize files, collect data, and more. Microsoft FlowMicrosoft Flow

ワークフロー デザイナー、アクション デザイナー、ビジネス プロセス フロー デザイナー

視覚化Visualizations

アプリが使用できるデータの視覚化とレポートの種類を決定します。Determines what type of data visualizations and reporting the app will have available.

コンポーネントComponent 説明Description デザイナーDesigner
グラフChart ビュー内やフォーム上に表示したりダッシュボードに追加したりできる単一のグラフィックな視覚エフェクトです。A single graphic visualization that can be displayed within a view, on a form, or be added to a dashboard. グラフ デザイナーChart designer
ダッシュボードDashboard アクションにつながるビジネス データの概要を提供する 1 つ以上のグラフィックな視覚化のためのプレートとして機能します。Functions as a palate for one or more graphic visualizations that provide an overview of actionable business data. ダッシュボード デザイナーDashboard designer
埋め込み Power BIEmbedded Power BI 埋め込み Power BI タイルとダッシュボードをアプリに追加します。Add embedded Power BI tiles and dashboards to your app. Power BI はクラウド ベースのサービスであり、ビジネス インテリジェンスの分析情報を提供します。Power BI is a cloud-based service that provides business intelligence insight. グラフ デザイナー、ダッシュボード デザイナー、Power BI の組み合わせCombination of chart designer, dashboard designer, and Power BI

ダッシュボードのサンプル

高度なモデル駆動型アプリの作成Advanced model-driven app making

ソリューション エクスプローラーは、高度なモデル駆動型アプリの構築に使われる包括的なツールです。The solution explorer is a comprehensive tool used for advanced model-driven app building. ソリューション エクスプローラー内では、ツールの左側にあるナビゲーション ウィンドウを使って、アプリのすべてのコンポーネントで構成される階層内を移動できます。Within the solution explorer you can navigate through a hierarchy that consists of all app components using the navigation pane on the left side of the tool.

ソリューション エクスプローラー

ソリューション エクスプローラーを開くには、PowerAppsPowerApps の左側のウィンドウで [モデル駆動] を選びます。To open solution explorer, select Model-driven on the left pane of PowerAppsPowerApps.

[モデル駆動] を選ぶ

次に、[詳細] タブを選びます。Then select the Advanced tab.

モデル駆動型アプリ開発のリソースModel-driven app development resources

モデル駆動型アプリの開発について詳しくは、以下のトピックをご覧ください。For more information about model-driven app development, see these topics.

データのモデリングModeling your data

アプリのモデル化と作成Modeling and composing your app

ビジネス ロジックの使用Working with business logic

アプリでの視覚化の使用Using visualizations in your app

アプリの配布。Distributing your app

ソリューションを作成するCreate a solution

次の手順Next steps

クイック スタート: カスタム エンティティを作成するQuickstart: Create a custom entity

チュートリアル: PowerApps でコンポーネントがあるカスタム エンティティを作成するTutorial: Create a custom entity that has components in PowerApps