ADO.NET Data Service
こんにちは、こだかです。
シアトルから無事帰国できました。
それもそのはずで、現地では、奥主さん(https://blogs.technet.com/hirookun/)、松崎さん(https://blogs.msdn.com/tsmatsuz/)に助けてもらい、サンフランシスコでのトランジットは、佐藤さん(https://blogs.msdn.com/naokis/)に手取り足取り・・・皆様ありがとうございます。
さて、以前から気になっていたのですが、ようやく少し調べる時間が取れたものとして、今回はADO.NET Data Serviceをご紹介します。以前Astoriaと言っていたものです。
以下からダウンロードが可能です。
ASP.NET 3.5 Extensions Preview
(https://www.microsoft.com/downloads/details.aspx?FamilyId=A9C6BC06-B894-4B11-8300-35BD2F8FC908&displaylang=en)
これ簡単に言ってしまうと、データベースの上に論理層(EDMなど)をかぶせて、それをインターネットクラウドの世界に公開できると言うものです。
クエリーはURLで行います。
と、書いてしまうと単純なのですが、非常にメッセージ性の高いテクノロジーでして、紹介したいポイントとしては以下になります。
1)RESTfulな実装
・HTTPのverbすなわちGET PUT POST DELETEのみのインターフェイス
・URI(URL)でのクエリー
・戻りはAtomPub JSONフォーマット
マイクロソフトとして、RESTfulの実装例「その1」です。ただこの「その1」がとてつもなく意味深いです。
ちなみに、HTTPのverbと聞いてピンと来た方もいるかもしれませんが、そうですねWCFのシンジケーションAPIがベースになっています。
2)EDMの使用
Entity Data Modelはこの為にあったのか・・・という程の相性です。
実はIQueryableインターフェイスを実装したものであれば公開可能なので、LINQ to SQLも可能ですし、自前のクラスでもOKです。
3)Multi-Tierシステムの設計
これ私一人の手には負えないというか・・・
AJAXやSilverlightをクライアントとしたシステムのスケールアウトとしてのデータストアもあるでしょう。
ただその場合、既存のSOAPを使用したデータの公開との考え方を見極めなければなりません。
まだ私の中でもメッセージが明確になっていませんが、一言で言ってしまうと、SOAPはStrict、ADO.NET Data ServiceはFlexibleとなります。
RESTfulな実装ですので、そのままSOAPvsREST(この言葉には語弊がありますが)といった図式になってしまいます。
4)Web2.0としての実装
これも難しい特性です。
ロングテールへのサービス展開として、マッシュアップもあるでしょうし、そのままOnLineのサービスもあるでしょう。
その際、EDMを使用すれば、通常なら奥底に隠しておくべきLOB(基幹)DBを、EDMの設計次第ではサービスとすることも考えられると。
書き出すときりがないですね。この他にも、例えばShare Point Serverと連携させれば、BDCと同等なものが実装できるような気がしますし、各方面のいわゆるPatterns & Practicesを書き換えなければならない程のインパクトがあると思います。
まだまだ、書き足りない部分がありますので、(実装部分も触れていませんし・・・)今後も少しづつ紹介していく予定です。
ちなみに、僭越ながら今年の訴求は、これを含めたREST方面からを考えていたりします。
こだかたろう
Comments
Anonymous
February 19, 2008
こんにちは、こだかです。 シアトルから無事帰国できました。 それもそのはずで、現地では、奥主さん( http://blogs.technet.com/hirookun/">http://blogs.technet.com/hirookun/ )、松崎さん( http://blogsAnonymous
March 05, 2008
The comment has been removed