SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlightで行うデータ処理アプリケーション開発の第一歩

ADO.NET Data Services(WCF Data Services)を使用してデータサービスを構築する

Silverlightで行うデータ処理アプリケーション開発の第一歩 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

ADO.NET Data Servicesでのデータ操作

 ADO.NET Data Services はRESTfulな実装であるため、アドレス(URL)を通じたデータ操作が可能です。データのCRUD(Create Read Update Delete)は、HTTPのメソッド(Post Get Put Delete)にそれぞれマップされています。上記で行ったブラウザを通じたCategorisエンティティからのデータの取得は、アドレス(URL)下記に対して、HTTPのGetメソッド内部的にリクエストしています。

http://ホストのアドレス/MSStoreSampleDataService.svc/Categories

 また、このCategoriesエンティティは下図のような関係性を持っています。

Categoriesエンティティの関係性
Categoriesエンティティの関係性

 商品のカテゴリ1つに対して、複数の商品(Products)が存在するように構成されています。

 こうした情報をリクエストしてみましょう。これは次のようになります。

http:// ホストのアドレス/MSStoreSampleDataService.svc/Categories(2)/Products

 Categories(2)という記述は、Categorisエンティティでキーが2の情報を指しています(今回は「ドレスシャツ」になります)。このアドレスは、ドレスシャツにカテゴライズされる商品(当然ながら複数です)を取得している例になります。結果は以下の図のようにAtomPubの形式で取得できます。

ドレスシャツにカテゴライズされる商品を取得
ドレスシャツにカテゴライズされる商品を取得

 次にデータの削除をテストしてみましょう。下記のアドレスに対してDELETEをリクエストします。

http:// ホストのアドレス/MSStoreSampleDataService.svc/Categories(4)

 ブラウザ上で確認するのは困難なため、Fiddlerというツールを使用します。

 Fiddlerは「Fiddler Web Debugger」からダウンロード可能です。

 RequestBuilderタブにある、Parsedに対して、DELETEであることと、削除するエンティティのアドレスを指定したのち、[Excute]を押します。

図Fiddlerを使用したリクエスト
図Fiddlerを使用したリクエスト

 結果はエラーになるはずです。

 この理由は、Categoriesエンティティは読み取り専用のエンティティとしてアクセスルールを指定したからです。削除を可能とするには、「MSStoreSampleDataService.svc.cs」にある config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);config.SetEntitySetAccessRule("*", EntitySetRights.All);と修正すれば可能となりますが、本当にデータが消えてしまうため、Categoriesテーブルに適当なデータを追加して、そのデータ削除することをお勧めします。

 このように、ADO.NET Data Services はURL操作がデータの操作そのものになるために、クライアントからの利用は、Web操作が可能であれば、言語やテクノロジーを問いません。しかしながら、.NET Frameworkを用いた環境では、URLでのリクエストやAtomPubでのデータをラップしたプロキシクラスを使用した効率のよい開発を行うことが可能です。これはSilverlightアプリケーションにおいても同様です(専用のプロキシクラスが用意されます)。

 次回は、Silverlightアプリケーションから、データを取得してXAML上で表示する内容を紹介したいと思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Silverlightで行うデータ処理アプリケーション開発の第一歩連載記事一覧

もっと読む

この記事の著者

マイクロソフト株式会社 小高 太郎(コダカ タロウ)

マイクロソフト株式会社 デベロッパーエバンジェリスト。某国内SI企業にてERPパッケージ開発に携わり、プログラマー、SE、PMと様々なロールを担当すると共に、Microsoft Universityの講師を兼務する。マイクロソフト株式会社では、デベロッパーエバンジェリストとして開発者向けに様々な技術...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5059 2010/04/28 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング