SDK 4.0.12 の新機能 : Microsoft xRM

みなさん、こんにちは。

いよいよ梅雨の時期が見えてきましたが、いかがお過ごしでしょうか。本日は開発に関するトピックで、先日公開された
SDK 4.0.12 の新機能を紹介します。SDK は随時更新されてきましたがおそらく今回のバージョンは、今までもっとも
大きな更新だと思います。

追加されたコンテンツは、SDK のトップページの下のほうに履歴がありますので、是非ご覧ください。以下にダウンロード
リンクを貼っておきます。※最新版は英語のみです。日本語を選択すると、古いバージョンになります。

- CRM SDK 4.0.12: (https://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&displaylang=en)

Advanced Developer Extensions for Microsoft Dynamics CRM 4.0 (Microsoft xRM)

では早速新機能の紹介をします。新機能の名称は、Advanced Developer Extensions for Microsoft Dynamics
CRM 4.0 (Microsoft xRM) です。これはいくつかの機能の総称ですが、基本的な概念としては、これまでより簡単に
Dynamics CRM 4.0 を API サーバー的に使った Web アプリケーションの開発が行えるというものです。

Microsoft xRM は、以下の機能を提供します。(SDK 抜粋)

  • CrmSvcUtil ツール: このツールは、Dynamics CRM のデータベースより情報を取得し、自動的に .NET のクラスを
    作成してくれます。出力されたコードを利用することにより、型指定されたクラス (strongly-typed classes ) を使えます。
    規定のエンティティだけでなく、カスタムエンティティも対象になるため、インテリセンスでの開発がより容易になります。
    今までも CRM の Web サービスを直接参照するソリューションでは実現できていましたが、SDK の dll を参照して開発する
    場合には、カスタムエンティティは全て、 DynamicEntity を使用する必要があった問題点を解消してくれます。
    またデータを取得するために必要なコードが、今までは複数行必要だったものが、たった 1 行で行えるようになりました。
    CrmSvcUtil が生成したコードを利用すれば、他のアプリとの統合がより容易に行えることになります。
     
  • LINQ サポート: Dynamics CRM API に対して LINQ が使えるようになりました。LINQ の有用性はすでにご存知だと
    思いますが、他のデータソースに対しても同一の手法でアクセスできるようになるため、開発が容易になります。
  • ポータル統合ツールキット: 外部ポータルと Dynamics CRM を効率的に統合することが可能になるツールキットです。
    またポータル接続に関して、サンプルコードやガイダンスを提供します。
  • 接続性およびキャッシュ管理: CRM Online に対しての接続とキャッシュ機能を提供します。これにより、設置型、
    IFD、Online 問わず 1 行で接続文字列が記述できるようになります。

上記のことからも、プログラミングモデルが変わりつつあると思います。その他の特徴を以下にまとめてみました。

o xRM ソリューションは、バックグランドでは CrmService と MetadataService Web サービスを使っています。

o Fetch や Expression を理解する必要がなく、より簡単にデータの取得や更新が行えます。

o CrmBoolean や CRMNumber といった独自の型ではなく、.NET のネイティブ型が使えます。ただし、今までどおり
直接 CRM の Web サービスを参照する場合は、依然独自型が必要になります。·

o この SDK を使うためには、.NET framework 3.5 が必要です。

具体的なサンプルに関しては、次回以降で紹介していきたいと思います。どの機能が知りたいかなど要望があれば
是非コメントしてくださいね。

以下に今回の SDK に関連するリンクを紹介します。

WCF Data Services: (https://msdn.microsoft.com/en-us/data/bb931106.aspx)
MSDN Article on oData: (https://msdn.microsoft.com/en-us/data/ff478141.aspx)
Open Data Protocol Web Site: (https://www.odata.org/
Linq: (https://msdn.microsoft.com/en-us/netframework/aa904594.aspx)

Microsoft Dynamics CRM SDK 4.0.12 and the Advanced Developer Extensions (英語)
https://blogs.msdn.com/b/crm/archive/2010/05/13/microsoft-dynamics-crm-sdk-4-0-12-and-the-advanced-developer-extensions.aspx

New CRM SDK, New Developer Experience (英語)
https://blogs.msdn.com/b/crm/archive/2010/05/07/new-crm-sdk-new-developer-experience.aspx 

- Dynamics CRM サポート 中村 憲一郎