Dynamics CRM 2011 SDK.REST.js サンプルライブラリ

みなさん、こんにちは。

今回は開発者向けの情報として、REST エンドポイントを利用する
JScript で利用できる、SDK.REST.js サンプルライブラリを紹介します。

SDK.REST.js サンプルライブラリ

このライブラリには、以下のパブリック メソッドが含まれます。

  • SDK.REST.createRecord
  • SDK.REST.retrieveRecord
  • SDK.REST.updateRecord
  • SDK.REST.deleteRecord
  • SDK.REST.retrieveMultipleRecords
  • SDK.REST.associateRecords
  • SDK.REST.disassociateRecords

これらの各メソッドには、successCallback および errorCallback パラメーターがあり、
データ操作の成功または失敗時に呼び出される関数への参照を指定できます。

このライブラリを利用することで、REST エンドポイントを利用した
CRUD 操作がより完結にかけるようになります。

ライブラリを利用したサンプル

SDK.REST.js  を利用したサンプルはいくつかありますが、今回はまずシンプルな
CRUD 操作のサンプルを紹介します。

サンプルは、sdk\samplecode\js\restendpoint\jscriptrestdataoperations\
にあるものを利用します。動作を試すために、事前にこのフォルダにある
jscriptrestdataoperations_1_0_0_1_managed.zip ファイルを、
ソリューションとしてインポートしておいてください。

サンプル解説

このサンプルは以前から存在していますが、前はサンプルライブラリを
利用していませんでした。今回のバージョンでは、レコード操作の箇所で
それぞれ以下のようにコードを記述しています。

//Create the Account
SDK.REST.createRecord(
account, // 実際に作成するレコードの情報
"Account", // エンティティ名
function (account) {
writeMessage("The account named \"" + account.Name + "\" was created with the AccountId : \"" + account.AccountId + "\".");
writeMessage("Retrieving account with the AccountId: \"" + account.AccountId + "\".");
retrieveAccount(account.AccountId)
}, // 成功時に実行する関数
errorHandler // 失敗時に実行する関数);

メソッドの第 1 引数には作成する取引先企業の各種情報を持った
オブジェクトを指定し、第 2 引数にエンティティを指定しています。
第 3 引数は成功時に実行する関数を、最後の引数はエラー発生時
に実行される関数です。errorHandler 関数は以下のように定義
されています。

function errorHandler(error) { writeMessage(error.message); }

その後ボタンを連続で押せないように、以下のコードでボタンを
無効にしています。

createRecord メソッド

サンプルライブラリ内では、REST エンドポイントの作成や、各種
パラメーターのチェック、XMLHttpRequest の作成やオブジェクト
の JSON のエンコード処理等を行っています。よって再利用も
容易ですが、必要に応じて変更もまた容易です。

その他のメソッドもほぼ同様の内容となっています。

まとめ

サンプルライブラリの説明自体はあまり行いませんでしたが、今まで
毎回記述する必要のあった内容をライブラリ化することで、生産性の
向上とメンテナンス性の向上が見込めます。

すでにライブラリ化されている方は多いと思いますが、まだの方は
是非こちらのサンプルをお試しください。

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