【Dynamics CRM】【Web API】新しいWeb APIを触ってみて
Dynamics CRM 2016(8.0)がリリースされ、新しいWeb APIにもいろいろと触ってきました。
Blogとしては、まだ折り返し地点でも無いですが、いろいろと見えてきたところがある感じです。
では、今までと比べてどう変わるの? どう接するべきなの? といったところをそれぞれDynamics CRMに携わるであろう人の立ち位置を交えながら、個人的解釈・見解の元、まとめてみました。
変わること 変わらないこと
まず、誤解を恐れず、率直に言ってしまえば、旧来のAPI(SOAP)でできたこと以上のことができるかといえば、機能的にはそんなことはないと思います。
レコードのCRUD操作、組織メッセージの実行、メタデータの操作。
今までSOAPを利用しながらできたことは、ほぼ新しいWebAPIで実行できます。
Dynamics CRM開発者
主にPluginやFormScript、Xrm.SDKを利用した開発を行ってきた方々向けです。
Pluginの開発は変わらないと思います。なぜなら、PluginそのものがXrm.SDKに依存しているからです。
FormScriptは変化を迫られますが、それは今までよりも快適な開発が可能になります。(でも、FormScriptもバージョンを経るにつれ、あまり使わなくなってきましたね)
コンソールアプリケーションによるバッチ処理開発やWeb連携を行うのであれば、Web APIが今までのSOAPと機能がほぼ変わらない分、ぜひ積極的に採用してみてはというところです。
むしろ、旧来のREST・SOAPからはいずれにしても脱却を図らないといけないと思いますので、小さなところから使い始めてもらうのがいいかと思います。
Dynamics CRM以外の開発者
例えばOffice365サイド、SharePointもしくはそれ以外のプラットフォームでREST・Web APIに馴染みの深い方々にとっては、とても歓迎すべきことだと思います。
CRMにしか依存できないXrm.SDKや複雑すぎでシンプルのシの字も残っていないようなSOAPを理解することなく、開発できます。
また、CORSもサポートされたことにより、SharePointやそれ以外のリソースからのアクセスも安易になりました。
Use OAuth with Cross-Origin Resource Sharing to connect a Single Page Application to Microsoft Dynamics CRM
https://msdn.microsoft.com/en-us/library/mt595799.aspx
あと以下の様な記事も出ていますし、JAVA等、.Netプラットフォーム以外の方々にとってもありがたいことではないでしょうか。
営業・プリセールス
残念ながら、この立場の人たちにとっては、今回のWeb APIリリースそのものは、お客様に直接的なメリットを訴えることができるものではないかなぁと思います。(そもそも、お客様が触れるところでもないか)
ただ、今後お客様自身で拡張開発を進める、進めたいと考えているところへの提案としては、メリットがあるでしょう。特に今までSDKすらなかったC#以外の開発者に対しても、わかりやすいものです。
マネージャー
前述のとおり、CRM以外の開発者にも馴染み易いこのAPIが出たことで、ほかのプラットフォーム開発者をCRMプロジェクトにアサインしやすくなったというのは、メンバーマネージメントの部分ではとても歓迎されるとこかと思います。
以上のような感じで、それぞれの立場の人向けに展開してみました。
2016がリリースされて、まだ間もない状況ですので、もう少し成熟を待つべき部分もあるかと思いますが、今後Onlineで開発する際には、Web API一択、のような状況が想定されますので、今から少しづつ吸収して間違いないのかなと思います。