LoginSignup
7
2

More than 3 years have passed since last update.

Common Data Service で自動的に作られるエンティティについて

Last updated at Posted at 2019-12-28

Common Data Service (CDS) を作ると自動的にエンティティが作成されます。消したい!という声も聞こえますが、今回はこれらのエンティティについて紹介します。エンティティとはデータベースでいうところのテーブルに相当するものです。

Common Data Model (CDM)

ビジネスアプリで使うデータのモデルってほぼ一緒なんですが、これまで統一規格がなく、微妙にスキーマ名が違ったり、サイズが違ったり、型が違ったりと課題になってきました。そんな中 2018 年 9 月に Adobe、Microsoft、SAP が共同で「Open Data Initiative」を発表しました。

Adobe, Microsoft and SAP announce the Open Data Initiative to empower a new generation of customer experiences

これを受けて Microsoft は長年 Dynamics や Office で得た知見を元に、以下のような Common Data Model を公開。スキーマも GitHub で公開されています。

GitHub: Common Data Model

Core

全てのアプリケーションで必要になるであろうモデルは、Core レイヤーに定義されます。

  • 取引先企業、取引先担当者
  • 活動 (Activity, Email, Letter, Phone, Fax, Task, etc)
  • 部署、チーム、組織、ユーザー、ポジション
  • 通貨
  • 添付ファイルやメモ

CRM、Web、Talent など

アプリケーション固有で必要となるモデルが定義されます。

Common Data Service (CDS)

CDS は CDM を実装するデータプラットフォームサービスです。つまり CDM を使った開発が前提にあり、必然的に Core となるエンティティがどんな環境にも提供されるわけです。

既定

既定のフィルターを使うと Core に相当するエンティティとカスタムエンティティが表示されます。
image.png

すべて

Core やカスタムエンティティだけでなく、内部的に使われるエンティティもすべて表示されます。それぞれに意味があり、開発者が使うものもありますが、あくまで内部システムのデータストアであり、モデルとして利用する必要はありません。

image.png

グループ化表示

グループか表示を使うと、分かりやすく表示できます。
image.png

まとめ

今回はなぜ CDS を作成すると既にエンティティができるのかを説明してみました。例えば、取引先企業を使わないことはあるかもしれませんが、セキュリティに関わるものを使わないことはありませんし、エンティティで自動的に追加されるシステムフィールドが利用するものもあります。

既に実装されている機能であるため、有効活用してください。不明点があれば遠慮なくコメントに質問してください。

7
2
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2