仮想エンティティに関する入門情報

Dynamics 365 for Customer Engagement アプリ バージョン 9.0 で開始すると、仮想エンティティは外部システムに存在するデータを Dynamics 365 Customer Engagement (on-premises) のエンティティとしてシームレスに表すことで、データの重複なしに、また多くの場合はカスタム コーディングなしに、外部システムに存在するデータの統合を可能にします。 この機能の初期実装では、このようなエンティティに対して読み取り専用サポートのみを提供し、下の 仮想エンティティの制限 で説明されているその他のいくつかの制限があります。 これらの制限を除いて、仮想エンティティは他のユーザー定義エンティティと同じ様に動作します。

外部データの統合に対する以前のクライアント側およびサーバー側アプローチは、カスタマイズされたコードが必要であり、不完全な統合、データ重複、または開発リソースの拡張コミットメントなど、多くの制限の影響を受けましたが、仮想エンティティはそれに取って代わります。 更に、管理者およびシステム カスタマイザーにとって、仮想エンティティの使用により管理および構成が大幅に単純化されます。

このセクションでは、開発者にとっての仮想エンティティの意味について説明します。 ユーザー インターフェイスから仮想エンティティを管理する方法の詳細については、「仮想エンティティの作成および編集」を参照してください。

仮想エンティティ、データ プロバイダーおよびデータ ソース

仮想エンティティは、Dynamics 365 for Customer Engagement (on-premises) データベースで作成されたエンティティ インスタンスに関連付けられた物理テーブルがない、Dynamics 365 for Customer Engagement (on-premises) プラットフォーム メタデータにおけるエンティティの定義です。 代わりに、実行中に、エンティティ インスタンスが必要なときに、関連付けられた外部システムから状態が動的に取得されます。 各仮想エンティティの種類は、 仮想エンティティ データ プロバイダー および (オプションで) 関連付けられた 仮想エンティティ データ ソース からの何らかの構成情報に関連付けられます。

データ プロバイダーは、プラットフォームで発生する CRUD イベントに対して登録されている Dynamics 365 プラグインの特定の種類です。 この最初のリリースは READ 操作のみをサポートします。

次のデータ プロバイダーは、Dynamics 365 for Customer Engagement アプリ バージョン 9.0 に付属します:

  • OData v4 プロバイダーがサービスに含まれており、既定でインストールされます。
  • Azure Cosmos DB (以前の Microsoft ドキュメント DB) プロバイダーは AppSource から入手できます。

追加のプロバイダーが、Microsoft、そのパートナー、およびサード パーティによって使用可能になります。 外部データ ソースのデータ プロバイダーが見つからない場合、 ユーザー定義仮想エンティティ データ プロバイダー を開発することができます。詳細については、 仮想エンティティ データ プロバイダー を参照してください。

仮想エンティティの作成およびマッピング

最初は、仮想エンティティの定義はユーザー定義エンティティの定義と同じです。 新しい仮想エンティティの種類に対するエンティティ、属性、および関係を指定します。 ただし、さらにそれから、仮想エンティティをデータ プロバイダーに接続して、データ取得を管理します。 ユーザー定義エンティティの種類とフィールドは、外部データ ソースの対応するデータにマップする必要があります。 たとえば、仮想エンティティは外部リレーショナル データベースの行として表現され、その各フィールドはその行の列に対応する場合があります。 (多くの場合、これらの外部データ名は対応する仮想エンティティ名と異なることに注意してください。) エンティティ ID フィールドに対して特定の必要なマッピングが行われます。データ プロバイダーは、この GUID を提供して、このエンティティ インスタンスを表す外部レコードにそれを関連付ける必要があります。 これを実現する最も直接的な方法は、GUID を外部データ ソースの主キーとして実際に使用することです。

この例では、外部データベースにユーザー情報と接続情報を提供するために、対応する仮想エンティティ データ ソースも提供されます。

仮想エンティティの制限

このリリースでは、外部データと共に仮想エンティティを使用できるかどうか評価するときに、知っておく必要がある仮想エンティティのいくつかの制限があります。

  • データは読み取り専用です。 仮想エンティティ機能は、Dynamics 365 for Customer Engagement (on-premises) で行われた変更を外部システムに 押し戻すことをサポートしません。

  • 組織が所有するエンティティのみサポートされます。 セキュリティのフィルタ処理がユーザー所有のエンティティに適用されることは、サポートされません。 個々のユーザーの仮想エンティティ データへのアクセスは、セキュリティ ロールに基づいて有効または無効を切り替えることができます。 フィールド レベル セキュリティはサポートされません。

  • Dynamics 365 for Customer Engagement (on-premises) エンティティとして外部データをモデル化することが可能で ある必要があります。 つまり、次のようになります。

    • 外部データ ソースのすべてのエンティティは、関連付けられた GUID 主キーが必要です。
    • すべてのエンティティ プロパティは、Dynamics 365 for Customer Engagement (on-premises) 属性として表される必要があります。 テキスト、数値、オプション セット、日付、画像、および検索を表す単純型を使用できます。
    • Dynamics 365 for Customer Engagement (on-premises) ですべてのエンティティ関係をモデル化できる必要があります。
    • 仮想エンティティの属性は、計算またはロールアップすることはできません。 目的の計算は、場合によってはデータ プロバイダー内か、またはデータ プロバイダーによって指示されて、外部側で行われる必要があります。
    • グリッドまたはそのほかのUIのビューの参照として仮想エンティティの列を追加できますが、この仮想エンティティ検索列に基づいてフィルター処理や並べ替えはできません。
  • 監査および変更履歴はサポートされません。 これらは、外部データ ストア内で実装される場合があります。

  • 仮想エンティティをキューに対して有効にすることはできません。

  • 値のオフライン キャッシングは、仮想エンティティでサポートされません。

  • 仮想エンティティは、活動を表すことができず、業務プロセス フローをサポートしません。

  • 作成されると、仮想エンティティは標準 (非仮想) エンティティになるように変更することはできません。 その反対の場合も同じです。標準エンティティは仮想エンティティに変換できません。

これらの制限が Dynamics 365 for Customer Engagement (on-premises) API に反映される方法の詳細ついては、仮想エンティティの API に関する考慮事項を参照してください。