Sign In
こだかたろうです
マイクロソフトでデベロッパーエバンジェリストをやっています。 未だ修行中の身であります。
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
About
Email Blog Author
Share this
RSS for posts
Atom
RSS for comments
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
ADO.NET
ADO.NET Data Service
AJAX
Astoria
Code
ConvertBrn
CubeConfigTool
Entity Framework
LINQ
Microsoft On
Office
OpenXML
REST
Silverlight
SQL Data Services
SQLServer
TechEd
Visual Studio
VSTO
Windows7
WindowsMobile
オフラインセミナー
お知らせ
データアクセス
日記
Archive
Archives
April 2010
(12)
March 2010
(12)
February 2010
(3)
January 2010
(3)
December 2009
(4)
November 2009
(4)
October 2009
(3)
September 2009
(5)
August 2009
(5)
July 2009
(9)
June 2009
(4)
May 2009
(7)
April 2009
(6)
March 2009
(18)
February 2009
(6)
January 2009
(6)
December 2008
(5)
November 2008
(4)
October 2008
(6)
September 2008
(6)
August 2008
(6)
July 2008
(6)
June 2008
(6)
May 2008
(7)
April 2008
(6)
March 2008
(9)
February 2008
(4)
January 2008
(4)
December 2007
(6)
November 2007
(4)
October 2007
(5)
September 2007
(6)
August 2007
(5)
July 2007
(4)
June 2007
(5)
May 2007
(9)
April 2007
(8)
March 2007
(2)
ADO.NET Data Service:RESTfulな実装について2
MSDN Blogs
>
こだかたろうです
>
ADO.NET Data Service:RESTfulな実装について2
ADO.NET Data Service:RESTfulな実装について2
Taro Kodaka
7 Mar 2008 4:41 AM
Comments
2
こんにちはこだかです。
前回
の続きとして、今回はアドレス(アドレス可能性)について、お話したいと思います。
前回RESTスタイルでの考え方としてリソースが主体になるという話がありました。
また、すべてのリソースにアドレスがあるという話も書きました。
このアドレスですが、RESTスタイルでのリソースを指し示すものとして、URIが使用されます。
URIとは、URL + URN の事と理解して頂ければOKですが、URNと言うのは、NはNameを指しています。世界中で一意の名前との解釈で間違いありません。たとえばISBNなどはその例になります。
現状、RESTスタイルのWebServiceを考える場合、相手はWebですから、URI=URLと思って問題ないわけです。(本来の意味ではRESTはアーキテクチャースタイル、つまり「お作法」にあたり、その実装例としてWebがあります。)
アドレスの考え方として、すべてのリソースは少なくとも一つのアドレスを持つ必要があります。
例えば、前回のサンプルであった、人集合の中の男性をあらわすと、以下のようになるでしょう。
http://www.hogehoge.com/person/male
(ホスト名は適当です)
逆に、あるアドレスが複数のリソースを指すことはありません。
上記のアドレスが、男性と女性双方を表すことは、RESTスタイルではあってはいけないことなのですね。
ブックマークすれば、必ず同じ切り口でのリソースが取得できます。
これに違反している典型的な例は、Ajaxのサイトです。
同じURLですが、クライアントの要求によって刻々と見た目やデータが変化します。
ブックマークしても、同じ結果にはなりません。
こうした考え方もRESTスタイルが好まれる一因であります。
では、ADO.NET Data Serviceではどうでしょうか?
具体的な実装例はいずれお話するとして、今回は例として、Northwindデータベースをそのまま公開したとします。
以下はリソース取得の例です。
Categoriesテーブルの全レコードを取得
http://localhost/Northwind.svc/Categories
CategoriesテーブルのID=3レコードのCategoryNameフィールドの値を取得
http://localhost/Northwind.svc/Categories(3)/CategoryName
ProductsテーブルからUnitPriceフィールドが50より大きい結果を取得
http://localhost/Northwind.svc/Products?$filter=UnitPrice%20gt%2050
如何でしょうか?
このアドレスをブックマークすれば、常に同じ切り口でリソースが取得できることが保証されるわけです。
余談ですが、ADO.NET Data Serviceに対して、個人的に面白いというか混乱してしまうのは、
今までテーブル→ビヘイビアと言う、WebServiceでの考えかたのシフトがあり、そこにRESTでは、ビヘイビア→リソースと言う形で、同じく考え方を変える必要がありました。
しかし、ADO.NET Data Serviceでは、リソース≒テーブル(ビジネスエンティティ)の世界を再び見せてくれるのですね。
なんだか元の鞘に戻った?感がある点です。
なんだか書いていて混乱してきました。
修行のため、もう少し続けてみようと思います。
こだかたろう
2 Comments
ADO.NET Data Service
,
REST
Blog - Comment List MSDN TechNet
Comments
Loading...
Leave a Comment
Name
Comment
Please add 5 and 6 and type the answer here:
Post