こんにちは。CData Software Japanリードエンジニアの杉本です。
CData Software では数多くの Dynamics 365 関連 Driverを提供しているんですが「このサービスに接続する場合はどのドライバーを使えばいいの?」という質問を良くいただきます。
それもそのはずで、現在 Dynamics 365 関連プロダクトってめちゃくちゃいっぱいあるんですよね。PowerApps Dataverse(CDS)も加わって混乱の極みです。
サービスを見渡すにしてもどの公式ページを正とするのか? みたいなところも悩ましいですが、APIのアーキテクチャ・仕様面と擦り合わせることを考えると、以下のページをベースにするのが良いと思われます。(このページもころころ変わりますよね)
現在とりあえず21種類ありました。
今回は自分で調べられる範囲でリファレンスを当たりまくったので、現在CData Dynamics 365 関連Driverが対応しているMicrosoftサービス製品をざっくりとまとめてみたいと思います。
Product List
まずは、CData で提供している製品リストです。Dataverseも加えると現在7種類のラインナップがあります。
Dynamics X CData 製品対応表
というわけで、リファレンスも色々とあたって調べてみた結果が以下の表になります。
右側がDynamics 365 の製品名で、真ん中にあるのが対応するCData Driverです。
残念ながらトライアルを触れていない製品もあるので、リファレンスをあたって、おそらくこれだろうと思うものも記載しています。間違っている点があれば、ぜひご指摘ください。
また、HoloLens系・AI系のサービスは予め弾いています。
Microsoft Product Name | CData Product Name | CData Driver Protocol | Memo |
---|---|---|---|
Sales | Dynamics 365 Sales | Web API(OData) | |
Marketing | Dynamics 365 Sales | Web API(OData) | 以前までは独自APIだったはずだが、Dataverse ベースになった模様 |
Customer Service | Dynamics 365 Sales | Web API(OData) | |
Field Service | Dynamics 365 Sales | Web API(OData) | |
Project Service Automation | Dynamics 365 Sales | Web API(OData) | |
PowerApps Dataverse | Microsoft Dataverse Driver | Web API(OData) | |
Connected Store | Microsoft Dataverse Driver | Web API(OData) | おそらくDataverseにモジュールが構成される 参考 |
Customer Voice | Microsoft Dataverse Driver | Web API(OData) | Dataverseベースでエンティティが構成されている |
Human Resources | Microsoft Dataverse Driver | Web API(OData) | 独自APIもあるようだが、Dataverseと統合することでDataverseのAPIでアクセスができるようになると想定 参考 |
Project Operation | Dynamics 365 Finance and Operations | Web API(OData) | おそらくFinanceベースで構成されているのでFO のAPIでアクセスできるものと想定 参考 |
Supply Chain Management | Dynamics 365 Finance and Operations | Web API(OData) | おそらくFinanceベースで構成されているのでFO のAPIでアクセスできるものと想定 参考 |
Talent | Dynamics 365 Finance and Operations | Web API(OData) | おそらくFinanceベースで構成されているのでFO のAPIでアクセスできるものと想定 参考 |
Finance | Dynamics 365 Finance and Operations | Web API(OData) | |
Commerce | Dynamics 365 Finance and Operations | Web API(OData) | FOベースで構成されている模様 |
Business Central | Dynamics 365 Business Central | Web API(OData) | Graph API とは異なる 参考 |
Customer Insights | 未対応 | 独自仕様API | 独自APIで提供されている 参考 |
Dynamics CRM | Dynamics CRM | SOAP | |
Dynamics NAV | Dynamics Nav | Web API(OData) | Business Central のAPIよりも古いOData APIを使用 |
Dynamics AX | 未対応 | AIF(XMLベース) | |
Dynamics GP | Dynamics GP | SOAP |
見極めのポイント
見極めるポイントは結構はっきりしています。
それは
・Dataverse(CDS・Dynamics 365 )ベースのアーキテクチャで構成されているか?
・それとも、Finance(FO)ベースのアーキテクチャで構成されているか?
の2点です。(BCベースでBC以外の製品って今の所無いですよね?)
なお、APIをよく触っている人からしたら、Dynamics 365 FinaceもBCもSalesも全部ODataじゃないか、という話になりそうですが、もうちょっと細かく見ていくと少しづつ違いが存在していて、実は単純に同じようには扱えません。
特に顕著なのは、APIアクセスを行う際に、Azure ADで認証・認可のプロセスをはさみますが、そこで認可されるリソースがそれぞれのサービスで異なります。
BCなどだとURLパスにComapny Codeが入っていたりするので、やはり製品毎にしっかりと使い分けることが大切です。
CData Driverでも、それぞれで細かなチューニングが施されています。
ちょっと補足
Dataverse・Dynamics 365 CRM関係は、アーキテクチャが一緒なので、どちらのDriverでも実際にはアクセスすることが可能です。ただ、今後Dataverseというベースがより表に出てくることを考慮して、Customer Voice などはあえて分けました。
さらに細かいことを言うと、Dataverse・Dynamics 365 Sales系のDriverはまだSOAP APIによるアクセスが可能ではある(廃止予定ですが)ので、Dynamics CRM Driverを使ってアクセスすることは可能です。
とはいえ、今後も色々と事情は変わっていくと思うので、定期的にこの記事はメンテナンスしていきたいなと思っています。