Agile Cat — in the cloud

New Relational SDS に REST でアクセス

Posted in Microsoft by Agile Cat on March 22, 2009

The latest news and insight from the SDS team
Accessing the New Relational SDS with REST
Published Friday, March 20, 2009 9:16 AM by
davidrob
–Lev
From <http://blogs.msdn.com/ssds/archive/2009/03/20/9492744.aspx>

Hi Everyone!  私は Lev Novik。SQL Data Services Team のアーキテクトです。REST による SDS アクセスについて、止めてしまうのか、あるいは、優先順位を下げるのかといった多くの質問を受けています。そんなことは、まったくありませんので、ご安心ください。REST については、止めてしまうことなどなく、多くの開発者が望むと思われる方式で、それを適切にサポートしていくつもりです。 チョッと、説明してみますね。

今日における一般的な(Web)アプリケーションは、以下のような構造を持つのが大半だと思います:

  • Client(ほとんどは、Web ブラウザ内で実行)
  • Mid-tier Business Logic(ほとんどは、Web サーバー内で実行)
  • Back-end Storage(ほとんどは、リレーショナル・データベース )

REST SDS 09_03_23a

どんなプロトコルが使われていますか? Client と Mid-tier の間では、大半が HTTP で、REST も多いですよね。そして、Mid-tier と Back-end の間では、データベース側のネイティブ・プロトコルが一般的ですよね。

そうなんです。SQL Data Services の場合も、状況はまったく同じです。シナリオは、こんな感じです:

  • SDS は、Back-end Batabase の位置に入ります
  • Mid-tier Business Logic は Windows Azure もしくは、その外側で実行されます
  • Client は、まったく変わりません

REST SDS 09_03_23b

この世界においても、Mid-tier と SDS を接続するために、最もパワフルなメカニズムとツールが利用されると考えています。そして、最もシンプルで、エレガントで、Web フレンドリーな方式で、クライアントへ向けて Web アプリケーションを公開できる、簡単な方式が望まれているでしょう。そのため、私たちは、以下の方式に集中しています:

  • TDS (SQL Server native protocol) の公開:SDS とのフル接続を実現
  • SDS ベースのアプリケーションにアクセスするために、簡単な REST の公開を実現

後者を実現するために、ADO.NET Data Services (aka “Astoria”) を活用します。それは、データ駆動型の REST サービスを、可能な限り簡単に実現するという目的を持っています。ADO.NET Data Services を利用するためには、コーヒーでも飲みながら introductory movie を見て、あたなたのデータベースをイメージしします。そして、コーヒーのおかわりでも飲みながら、漠然としていても構いませんので、REST Web サービスを作るための方式を確認するというコースがお勧めです。

しかし、あなたのアプリケーションが、そう簡単にデータベースと、one-to-one でマッピングされるとも思えません。独自のビジネス・ロジックや、セキュリティ・ポリシー、そしてビューなどを構築したいと考えているでしょう? ADO.NET Data Services が それ を実現します。 しかも、とても具体的なサービスとして。この辺りで、三杯目のコーヒーが欲しくなるかもしれませんね。だって、SQL Server は、あなたの Dev Box にいるかもしれませんが、どうやって、SDS や Windwos Azure と組み合わせるのかという方法が分かりませんものね。その点について、私たちは、これまでのような方式を提供したいと考えていますよ:

  1. Windows Azure services を構築するための set-up を行う
  2. クラウドの SDS Database を構築し、あなたのスキーマによりアップロードする
  3. Visual Studio で Windows Azure Web Cloud Service Project を 作成 する
  4. ADO.NET Data Service プロジェクト・アイテムを加え、SDS Database を指定する(同じスキーマを持つローカル・データベースでもOK です)
  5. あなたの ADO.NET Data Service (security, biz logic, templates, etc) を作成する
  6. 接続文字列を、クラウドの SDS Database に切り替える (開発でローカル・データベースを使っている場合ですが)
  7. Windows Azure へ向けて、あたなのサービスを Publish する

このようにすれば、SDS-based REST Service が得られるでしょう。 お役に立てば幸いです。

From <http://blogs.msdn.com/ssds/archive/2009/03/20/9492744.aspx>

%d bloggers like this: