Microsoft Dataverse のサポートしているアプリとサポートしていないアプリの作成の実践

現代のビジネス アプリケーションは、メタデータ駆動のアーキテクチャを使用しているため、コードを記述せずにアプリケーションを作成できます。 メタデータは "データに関するデータ" を意味し、これにより Dataverse に格納されるデータの構造を定義します。 このメタデータによって、アプリケーションはデータ構造への変化を理解し、これによりアプリケーションはデータ構造変更に適用できるようになります。 メタデータは既知のため、メタデータに関連付けられている追加機能を含むことができます。

エンティティ、ビュー、フィールド、グラフ、ダッシュボードなどの Dataverse コンポーネントを変更して、思い通りに動作するアプリを構築することを、カスタマイズ と呼びます。

Power Apps のツールを使用してアプリを構築しカスタマイズすると、メタデータに依存する機能で使用されるメタデータやデータが追加または更新されます。 アプリの作成に使用するデータの種類はわかっているので、このデータを考慮に入れてアプリを中断することなく新機能を Dataverse 環境に追加できます。

Power Apps アプリを構築してカスタマイズするために、開発者である必要はありません。 しかし、 Power Apps は、開発者がコードを記述できるように一連の Web サービスと API を提供します。 サポートされているメソッドを使用してコードが記述されている場合、Dataverse 環境を更新してもそのコードは引き続き動作します。

どのようなカスタマイズがサポートされますか。

使用可能な Power Apps ツールを使用して、ほとんどのアプリの構築とカスタマイズを行うことができます。 カスタマイズ ツールがニーズに合わない場合、サード パーティが提供するソリューションをインストールするか、開発者を雇ってアプリをコーディングすることができます。 コードを必要とするソリューションに投資する必要がある場合は、そのコードはサポートされている API のみを使用して記述されていることを確認してください。 これは、アプリと取得したソリューションの両方に対する投資を保護する助けになります。

Power Apps アプリを拡張する開発者は、 こちら に記載されているルールとベスト プラクティスに従う責任があります。 Microsoft は、SDK に文書化されている API とプラクティスのみをサポートします。 問題の解決方法がインターネットで見つかったとしても、SDK で文書化されている API を活用していない場合、その方法は Microsoft によってサポートされません。 開発者に変更を適用してもらう前に、サポートされているメソッドを使用していることを確認してください。

開発者が SDK に記載されている API とベスト プラクティスを使用する場合、Dataverse に加えた変更が既存のカスタマイズを壊す可能性があるかどうかをテストすることができます。 目標は、サポートされているメソッドを使用して記述したコード のカスタマイズが、Dataverse の新しいバージョンまたは更新がリリースされたときにも引き続き機能することです。 開発者が毎回コードを変更しなくても、改良された機能を持つ新しいバージョンにアップグレードできるため、大変便利です。

Dataverse の新しいバージョンでの変更により、サポートされているカスタマイズが機能しなくなることを検出した場合は、影響を受ける内容と、コードを変更して修正する方法を文書化します。

サポートされないカスタマイズ

特定の API およびプログラミングのプラクティスが Microsoft によってサポートされていないからと言って、機能しないというわけではありません。 サポートされていない API およびプログラミング プラクティスを使用する開発者が、コードをサポートする責任を負います。 機能するかどうか開発者がコードをテストする必要があります。

Dataverse 環境でサポートされていないカスタマイズを使用する場合、Microsoft テクニカル サポートに問い合わせる前に実施した内容を文書化し、それらのカスタマイズを削除するための方針を用意する必要があります。 サポートされていないカスタマイズでヘルプを必要とする場合は、カスタマイズを準備または開発した開発者に問い合わせてください。

サポートされていないカスタマイズの共通のプラクティス

サポートされないカスタマイズの一般的なプラクティスの一覧を次に示します。 これは完全な一覧ではありません。 詳細: Dynamics 365 でサポートされている拡張機能。サポートされていないカスタマイズ

JavaScript を使用して Web アプリケーションのドキュメント オブジェクト モデル (DOM) の要素と対話する
アプリケーションの任意の場所で使用される JavaScript ライブラリは、文書化されている API とのみ対話します。 JavaScript の開発者がアプリケーションで作業する際、特定名を使用し DOM 要素に頻繁にアクセスします。 Power Apps アプリは Web アプリケーションであるため、これらのテクノロジは機能しますが、参照する要素名がいつでも変更されてしまうため、アップグレード中に破壊する可能性があります。 Microsoft には、アプリケーションで必要な変更を加える権利があります。つまり、ページの構成方法が変わることを意味します。 ページの現在の構造に基づく変更を追加する場合、アプリケーションのアップグレードのたびにこれらのスクリプトのユーザー定義コードをテストおよび時には変更することに投資する必要があります。

jQuery は JavaScript の開発者によって使用される非常に一般的なライブラリです。 jQuery を使用する利点の多くは、開発者が DOM 要素にアクセスして作成する機能を簡素化できることですが、これは Dataverse アプリケーション ページではサポートしていません。 開発者が HTML Web リソースを使用するカスタム ユーザー インターフェイスを作成するときは jQuery が推奨されますが、Power Apps アプリケーション ページ内では、サポートされる API は jQuery の使用を必要としません。

JavaScript を使用する文書化されていない内部オブジェクトまたはメソッドを使用する
Dataverse はページ内で多くの JavaScript オブジェクトを使用します。 JavaScript の開発者はページをデバッグしてそれらのオブジェクトを検出し、これらのオブジェクトにアクセスし再利用できます。 Microsoft は、削除またはメソッド名の変更など、これらのオブジェクトに対する必要な変更を加える権利を有します。 スクリプトがそれらのオブジェクトを参照している場合は、オブジェクトが見つからない場合、スクリプトは停止します。

カスタマイズ機能の結合

これらのセクションにあるトピックは、個々のカスタマイズ機能をかなり詳細に説明します。 しかし、自身の業務要件を満たすためのソリューションは、機能のいずれかを、1 つ以上の他の機能と共に頻繁に使用することを心に留めておくことが重要です。

ジョブに適切なカスタマイズ機能の選択

Power Apps で使用可能なすべてのカスタマイズ機能では、これらの機能の 1 つを理解すること、またすべての問題を解決するためにそれらの機能を使用することが容易です。 解決を望んでいる業務上の問題を評価するとき、達成する最終結果について検討してから、それにどのような方法で到達するかを逆算します。

Dataverse 環境のパフォーマンスに影響する変更

ソリューションをインポートし、メタデータを変更するカスタマイズを適用すると、Dataverse 環境のパフォーマンスに影響を与える可能性があります。 正常なシステム操作を妨げる可能性のあるアクションには、以下のものが含まれます。

  • エンティティの追加、削除、または変更、代替キー、属性、あるいは関連付け。

  • ソリューションのインポート

  • カスタマイズを公開しています

運用システムにこれらの変更を加える場合は、ユーザーへの影響が最小限に留まるように変更の操作をスケジューリングすることを推奨します。

次の手順

Power Apps におけるモデル駆動型アプリとは?

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。