こんにちは。CData Software Japanリードエンジニアの杉本です。
CData Software では数多くの Dynamics 365 関連 Driverを提供しているんですが「このサービスに接続する場合はどのドライバーを使えばいいの?」という質問を良くいただきます。
それもそのはずで、現在 Dynamics 365 関連プロダクトってめちゃくちゃいっぱいあるんですよね。PowerApps Dataverse(CDS)も加わって混乱の極みです。
サービスを見渡すにしてもどの公式ページを正とするのか? みたいなところも悩ましいですが、APIのアーキテクチャ・仕様面と擦り合わせることを考えると、以下のページをベースにするのが良いと思われます。(このページもころころ変わりますよね)
現在とりあえず21種類ありました。
docs.microsoft.com
今回は自分で調べられる範囲でリファレンスを当たりまくったので、現在CData Dynamics 365 関連Driverが対応しているMicrosoftサービス製品をざっくりとまとめてみたいと思います。
2022年10月06日追記
CData Driver のバージョンアップに伴い、Dynamics 365 for Sales Driver と Dynamics 365 for Finance and operetions Driver が統合されて、Dynamics 365 Driver になりました。
https://www.cdata.com/jp/drivers/dynamics365/
これに伴い本記事を一部修正しています。
Product List
まずは、CData で提供している製品リストです。Dataverseも加えると現在7種類のラインナップがあります。
Dataverse
Dynamics 365
Dynamics 365 Business Central
Dynamics CRM
Dynamics NAV
Dynamics GP
Dynamics X CData 製品対応表
というわけで、リファレンスも色々とあたって調べてみた結果が以下の表になります。
右側がDynamics 365 の製品名で、真ん中にあるのが対応するCData Driverです。
残念ながらトライアルを触れていない製品もあるので、リファレンスをあたって、おそらくこれだろうと思うものも記載しています。間違っている点があれば、ぜひご指摘ください。
また、HoloLens系・AI系のサービスは予め弾いています。
見極めのポイント
見極めるポイントは結構はっきりしています。
それは
・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を使ってアクセスすることは可能です。
とはいえ、今後も色々と事情は変わっていくと思うので、定期的にこの記事はメンテナンスしていきたいなと思っています。
Dynamics 365 Driver の接続プロパティの扱いについて
Dynamics 365 Driver は前述の通り、Dynamics 365 for Sales Driver と Dynamics 365 for Finance and operetions Driverが統合されて、Sales にもFinance and operetions にも接続できるようになりました。
ただ、内部では利用する機能が異なるため、以下のEditionというプロパティを用いて、利用するOData の仕様をチューニングしています。
https://cdn.cdata.com/help/LJH/jp/jdbc/RSBDynamics365_p_Edition.htm
プロパティで選択できるサービスは現在以下のようになっています。
・CustomerService:CRM
・FieldService:CRM
・Marketing:CRM
・ProjectOperations:CRM
・Sales:CRM
・FinOpsOnline:ERP
・FinOpsOnPremise:ERP
・HumanResources:ERP
なお、2022年10月現在のバージョンでは、内部的にはSales などのCRMに接続するのか? それともFinance and operetions のようなERPに接続するのか?というハンドリングを行っているだけです。参考までにそれぞれのEditionがどちらに対応するのか記載しておきました。(なので、CustomerServiceを選択しても、Dynamics 365 Sales に接続することはできてしまいます)
とはいえ今後アップデートにより個別Editionのチューニングを行う可能性もあるので、適切なEditionを選ぶほうが良いでしょう。
関連コンテンツ