Jaa


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://blogs

  • Anonymous
    March 05, 2008
    The comment has been removed