dynamics 365: 仮想エンティティの利用場面を解説

D365 Project

今回の記事は、仮想エンティティに関する説明になります。

仮想エンティティは、バーチャルエンティティとも言われます。dynamics 365 CEならではの仕様であり、用途もある程度限られています。

仮想エンティティとは

仮想テーブルに関する入門情報 (エンティティ) (Microsoft Dataverse) - Power Apps
仮想テーブルは、 Microsoft Dataverse のテーブルとしてシームレスに表すことで、データの重複なしに、また、多くの場合、カスタム コーディングなしに、外部システムに存在するデータの統合を可能にします。

上記Microsoftの公式ドキュメントでは、仮想テーブルに関する入門情報が掲載されています。

名前の通り、「仮想(Virtual)」のため、実質的なエンティティではなく、データベースにも存在していないことです。実際にデータベースに存在しませんが、イメージ的には存在し、そのイメージ的なエンティティを架け橋として利用される場合があります。

仮想エンティティの作り方は、普通のエンティティとほぼ同じです。

 まずは、エンティティ新規作成します。

 そして、「仮想エンティティ」をチェックし、データソースと外部コレクション名を記入します。

他の項目の記入は普通のエンティティと一緒のため、特に注意すべき点はありません。

 外部名は、マッピングされている外部データソースのテーブルの名前であり、外部コレクション名は、外部データソースにテーブルの複数名を示します。

つまり、作成している仮想エンティティというイメージ的なエンティティが、外部の実質的なエンティティとマッピング・連携する必要があります。

また、標準エンティティと仮想エンティティの双方向変換ができません。一旦仮想エンティティ作成されると、標準エンティティに変更できません。

仮想エンティティの制限

あくまでも仮想のエンティティのため、利用する際に色んな制限があります。

標準エンティティが所有する実質エンティティ機能は、仮想エンティティはサポートしていません。例えば「監査機能、検索機能、業務プロセスフロー機能」など。

仮想エンティティへのアクセスは、セキュリティロールに基づいて有効または無効を切り替えることができますが、フィールドレベルのセキュリティはサポートされません。組織・ユーザーが所有するエンティティと認められいないの考え方です。

仮想エンティティの利用例

機能が制限される一方、仮想エンティティの構成が単純化になります。外部データソースの特定のデータを環境で利用することができます。

エンティティを利用して外部のデータと連携する場合、仮想エンティティの連携方式が存在しています。

データのやり取りに関しては、CRUDに確認するのは大事です。

一般的に、CRUDの4種類動作が全てが必要で、かつレコード件数が多い場合、連携方式はバッチ連携となるパターンが多いです。その時、もちろんアプリケーション開発が必要です。複雑ではあるため、ある程度の工数が必要です。

ただ、CRUDの中では、Rしか利用されていなく、件数が少なく、リアルタイム連携する必要がない場合は、仮想エンティティ連携方式が視野に入れています。

双方向のデータベースは、参照しか必要がなく、レコード件数も少ないは、簡単な連携機能を実現するためにわざわざ開発するより、仮想エンティティ方式を検討すればいいのではないかと考えています。

仮想エンティティを利用するメリットは、リアルタイムにデータ参照可能、設定作業で実現できるため工数はかからない。

それに対してデメリットは、CRUDのRしか利用できないため、読み取り専用になります。また、外部連携先のデータベースと繋ぐため、準備作業が必要(ODATAの設定や開発など)。

コメント

タイトルとURLをコピーしました