BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース LightSwitch用OData

LightSwitch用OData

原文(投稿日:2012/03/16)へのリンク

Microsoftは引き続きODataをwebサービスのように、ユビキタスなものにしようとしている。最新のリリースによって、 LightSwitch 2がODataサービスを生成と消費の両方をできるようになった。

LightSwitchは、セルフサービスに重点をおく.NETベースの速成アプリケーション開発プラットフォームである。 “市民プログラマー”の概念をベースにした、 Visual Studio LightSwitchが意図しているのは、趣味の良いエンドユーザーがIT部門の助けなしで、自分のビジネスアプリケーションを作れるようにすることだ。なのでCRUDアプリケーションをサッと作る、通常のオフィスワーカーが ODataに関心を持つだろうか?

ODataは、REST やWebサービスが提供しないものをテーブルにもたらす。標準化されたAPIである。プロキシー生成ツールがWebサービスリクエストをフォーマットし、結果をパースできるが、実際にサービスをフックする方法をアプリケーションに何も提供しない。その代わりに、開発者が苦労して、コールと結果を正しいフォーマットにマップしなければならない。そしてRESTはスタック上で更に低く、通常生のXMLあるいはJSONだけが提供している。

対照的に、あらゆる OData APIは、他のOData APIのように見える。リクエストは、いつも同じに規約によって同じように作られる。唯一非常に違うのは、返されるコラムである。このお陰で、 LightSwitchのようなツールは、データベースドライバーと動くのと非常に似た方法で ODataとも動くのである。実際、LightSwitchから ODataサービスを消費するのは、データベースに使われるのと同じ Attach Data Sourceウィザードを使って行われる。

LightSwitchから ODataを公開する には、単に3-ティア設定の1つでアプリケーションをデプロイする必要があるだけである。そこから LightSwitch ばかりでなく、他のOData 対応アプリケーションのでどれからも、ODataサービスを消費できる。 Beth Massi氏の例は、PowerPivot 拡張を使ってLightSwitch データを Excel にインポートするものだ。

LightSwitchの他の新フィーチャは、外部データソースからのテーブル間の関係を再定義できることである。John Stallo 氏は書いている

我々に来た最も人気のある要望の1つが同じデータコンテナ内で、データ関係を定義できるようにすることです(ちょうど今日データソースを跨いで関係を追加できるように)。自分のスキーマで関係を定義しないデータベースがかなりあることがわかりました。その代わり、概念的な関係がテーブル中のデータを介して暗黙的に決められます。これは、 LightSwitchをこれらのデータベースに繋げようとする人達にとって、問題があります。なぜなら、かなりの数のデフォルトとアプリケーションパターンは、関係が検知された時に、解決され、LightSwitch はデータベースで予め定義された関係をキーオフするだけに制限されていました。人々は、データモデルに自分で関係を増やす機能を欲しがっていたので、 LightSwitchはもっとアプリケーション機能を生成するために、よりリッチな情報セットを使うことができる。これで、問題は解決しました。自分のプロジェクトにエンティティをインポートすれば、同じコンテナ内のエンティティ間でユーザー定義の関係を指定できるようになりました。

LightSwitchは、「Metroに触発されたテーマ」を提供しているが、現時点では、 Windows 8 や Windows PhoneのMetroスタイルのアプリケーションを実際に作ることはできない。しかし、 Windows Azure上に LightSwitchアプリケーションをホストするオプションを提供している。

この記事に星をつける

おすすめ度
スタイル

BT