Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
Dynamics の開発ツールについて纏めています。
良い点 †
- 開発ツールとしての完成度は高そう。
- CRMはよりEUCより。
- AXは基幹系、きめ細かいカスタマイズを考慮。
- 相互運用等の技術的な制約も殆ど無さそう。
- 諸パケージと同様に、.NET等の他開発言語からの呼出WebAPIを公開可能。
- AXはX++からマネージ、アンマネージ・コードの呼び出しが可能。
- CRMはアドオンの形で、所定のマネージ・コードの呼び出しが可能。
課題 †
他システム開発に使用することもできるが、
基本はカスタマイズの範囲で使用するものと思われる。
- クライアント・ライセンスが必要になる。
ライセンスは人という考え方と、端末という考え方がある。
- 自身が業務テンプレートを拡充する場合を除き、EUCレベル以上に詳しくなれない。
従って、
- 受託開発の利用においては、IDEとしては浸透していないので、
開発者の調達・育成や情報収集が難しい点が課題と考える。
Dynamics CRMの開発ツール †
CRMのカスタマイズ
ポイント †
- 設計情報の入力I/Fに専用ツール(デザイナ型)を採用している。
- 基本的にコンフィギュレーションのみでコードは書かない(アドオンを書く場合のみ例外)ので
テンプレート・カスタマイズ、ラウンド・トリップ開発などのスクラッチ開発的な手法は不可能。
エンティティ †
- エンティティを作成すると画面・DBテーブルも自動的に作成される。
- 基本1エンティティ=1画面・1テーブルとなっている。
- 画面・テーブルの自動生成ツールと言うよりも、アドオンのEUC支援ツール。
- エンティティの画面では自動生成なので柔軟性に難あり、例えば一覧・更新処理は実装できない。
- (必ず[一覧表示] → [詳細表示] → [データ修正]が必須)
データ アクセス †
- DBテーブルにアクセスする方法
- Microsoft Dynamics CRM SDKを使用する。
- SQLでの直接アクセスはサポートされない。
- 直接アクセスはフィルターされたビュー(Filtered views)だけサポート。
- Web サービス経由でクエリが実行されるため。
Dynamics CRM Onlineでも利用できるデータ アクセス。
- エンティティ
- QueryExpression?
- FetchXML
- LINQ クエリ
- SQLとして実行されるため、
Dynamics CRM Onlineで利用できないデータ アクセス。
- フィルターされたビュー(Filtered views)
エンティティ †
- Create メソッド
- Retrieve メソッド
- Update メソッド
- Delete メソッド
- RetrieveMultipleMethod? メソッド
- Execute メソッド
Fetch と QueryExpression? †
オブジェクトやXMLの階層構造でSQLを表現する。
- Dynamics CRM でサポートされるクエリ言語。
- T-SQL の機能に似た内容をサポート。
- Dynamics CRM のセキュリティに準じた結果セットを取得できる。
- ユーザービューやシステムビューの保存や、高度な検索の実行で利用される。
- 高度な検索で利用したクエリを FetchXML として取得できる。
LINQ to CRM
Microsoft Dynamics CRM Online 2015 更新プログラム クエリ プロバイダー
フィルターされたビュー †
- Filtered views
- Microsoft Dynamics CRM データベース(SQL Server)を直接クエリできる。
- 設置型のみでサポートされるため、オンライン環境へ移行することができない。
参考 †
- Japan Dynamics CRM Team Blog - Site Home - MSDN Blogs
- Dynamics CRM 2011 カスタムレポート
- アドオン開発をするときは他の開発ツールを併用する必要がある。
- (Dynamics CRM SDK、Visual Studio、Excel)
- 帳票・グラフ・ビューと、ダッシュボードのカスタマイズが可能。
- つながり機能は、ロールでエンティティ(レコード)間を接続。
- ロールアップクエリの定義
- 任意のエンティティのフィールドをロールアップフィールドに設定できる。
- ロールアップフィールドのデータ型、対象データセット(個人・グループ)を変更可
Dynamics AXの開発ツール †
Dynamics AX開発 (AOT)