Dynamics CRM 2011 Beta 版ソリューション管理

秋分の日を過ぎたら、先日までの猛暑が嘘のようですね。
今年は秋が来ないんじゃないか、とも思いましたが、例年通り秋の味覚も楽しめそうです。

さて、9月に入ってから、Microsoft Dynamics CRM 2011 Beta 版 のリリースについてお伝えしてきましたが、拡張機能として Dynamics CRM 2011 Beta 版で追加された「ソリューション管理」をご紹介します。

情報元 : CRM 2011 Solutions: Business applications on steroids
https://blogs.msdn.com/b/crm/archive/2010/09/15/crm-2011-solutions-business-applications-on-steroids.aspx

これまでの Dynamics CRM の拡張機能を思い浮かべていただくと、Dynamics CRM 2011 Beta 版のカスタマイズ機能が、全く新しいものとなっている点に気づいていただけると思います。Dynamics CRM 2011 Beta 版では、各コンポーネントを集約し「ソリューション」として扱うことができます。ソリューションを使用することで、より短期間でビジネス アプリケーションを定義、移管、展開、保守および使用することができます。これは、より少ないクリックで、データ モデル、プロセス、ユーザー インターフェイスおよび分析を定義することができるためです。また .NET プラグイン、SRS レポートなどのカスタマイズもソリューションの一部として含めることができます。

これは是非注目していただきたい機能です。ソリューションは、ただ単に各コンポーネントを集約するのではなく、プラットフォームがソリューションの境界を判断することが可能です。そのことで実現する機能を以下で詳しくご紹介します。

マネージドおよびアンマネージドソリューションの開発と配布

まずはじめにマネージド ソリューションとアンマネージド ソリューションを紹介します。
これは、新しく Dynamics CRM 開発に携わる方にとっても、既に Dynamics CRM 4.0 での開発経験をお持ちの方にとっても興味深い話題だと思います。
まず、ソリューションを新規に作成すると、アンマネージドとして作成されます。作成したソリューションには既存のコンポーネントを追加したり、新しいコンポーネントを作成することや、それぞれに変更を加えることができます。

ソリューション開発が完了し配布の準備ができたら、マネージドとしてエクスポートすることが可能です。マネージドにすることで、エンドユーザーがソリューションをインポートした場合、カスタマイズ不可として指定されたコンポーネントはカスタマイズさせない、というような制限を設けることが可能となります。逆にカスタマイズ可能と設定されたコンポーネットは、マネージドソリューション内であっても、変更が可能なため、柔軟性を兼ね備えています。一方でアンマネージドとしてエクスポートされたソリューションは、すべてのコンポーネントが変更可能となります。

スマート アップデート

エンドユーザーにマネージドソリューションの一部のコンポーネントの変更を許可している場合、ソリューション提供元から新しいバージョンのソリューションを配布する場合の問題を考えて見ましょう。マネージド ソリューションに更新を適用する場合は、お客様がカスタマイズされた内容と、更新されたソリューションの内容で衝突が生じます。しかしシステムが変更を管理しているため、更新適用中でもお客様が変更されたカスタマイズを継続することが可能となります。

依存関係の自動追跡

どこでどのコンポーネントが使われているかを、みなさんはどのように把握されているでしょうか。また、誤ってあるコンポーネントを削除してしまい、それと依存関係のある他のコンポーネントが動作しないといった状況を回避するために、どのような対策を実施されていますでしょうか。Dynamics CRM 2011 Beta 版では、ソリューション フレームワークによって、自動的にシステムの全依存関係が追跡されます。エンドユーザーにソリューションの変更を許可している場合も依存関係は増えますが、これも自動管理されますので心配ありません。

1 回のビルドでどこにでも展開

ソリューションは、すべての Dynamics CRM 展開型 (オンライン、パートナーホスト、設置型)、および、すべての Dynamics CRMクライアント (Web、Outlook、モバイル) に展開することができます。これは非常に大きな柔軟性を提供する機能です。Outlook クライアントで「オフライン」ソリューションを使用することができるようになった点もご注目ください。

ソリューションの共存

エンドユーザーがさまざまなベンダーから、複数のソリューションをインストールする場合を考えてみましょう。ソリューション フレームワークは自動的に 2 つ以上のソリューションの共存に対応することができます。これは、複数のソリューションが同時に使用可能なことを意味します。しかし同じ組織/テナントに病院管理と学校管理といった異なる分野の ソリューションをインストールするのは技術的には可能ですが、結果として、エンドユーザーにとってあまり有効なソリューションとなりえない場合もあります。たとえば、一方は「取引先企業」を「病院」に変更したいのに対し、他方は「取引先企業」を「学校」に変更したい場合などです。

参考情報

ソリューションの詳細を知りたい場合には、 SDK を確認していただき(この場合、検索キーワードで検索するよりも、まずは全体のトピックを読むことをお勧めします)、次のリンクから開発に関するビデオをみていただくのがいいと思います。
https://offers.crmchoice.com/CRM2011Beta-Developer-Videos/ (英語)

- Dynamics CRM サポート 斎藤 さち江