OData って何?


瀬尾佳隆 (@seosoft)
Microsoft MVP for Visual C#


                              技術ひろば.net 勉強会 2012年5月
自己紹介
瀬尾 佳隆 (せお よしたか)
 MVP for Visual C# (Jan 2009 – Dec 2012)
 “LightSwitch 推し”
   総選挙でもあろうものなら投票します
   でも、今イチ人気が・・・



 y.seo@seosoft.jp, @seosoft
 劇団四季とディズニーリゾートと AKB48 が好き
今日のテーマ
OData とは?
OData 開発のツール/ライブラリ
OData 開発の実際
  ~Producer~
OData 開発の実際
  ~Consumer~
OData とは?
OData の情報源




OData サイト               MSDN Data Developer Center
http://www.odata.org/   http://msdn.microsoft.com/
                        en-us/data/
OData とは?
http://www.odata.org/
  The Open Data Protocol (OData) is a Web
   protocol for querying and updating data that
   provides a way to unlock your data and free it
   from silos that exist in applications today.
   (http://www.odata.org/)
    OData とは、データの照会と更新を
    行うための、リソース ベースの
    Web プロトコルです。
    (http://msdn.microsoft.com/
    ja-jp/magazine/ff714561.aspx)
OData とは?
                                     Web 標準
                                    (http, https)
http://www.odata.org/
  The Open Data Protocol (OData) is a Web
   protocol for querying and updating data that
   provides a way to unlock your data and free it
   from silos that exist in applications today.
                       問い合わせも
   (http://www.odata.org/) 更新も
単一アプリ内に
   OData とは、データの照会と更新を
限定されない
   行うための、リソース ベースの
    Web プロトコルです。
    (http://msdn.microsoft.com/
    ja-jp/magazine/ff714561.aspx)
OData の書式




  http://www.odata.org/documentation/uri-conventions
クエリオプション




 http://msdn.microsoft.com/ja-jp/magazine/ff714561.aspx
更新系の処理                     D


HTTP の動詞を使う
  POST ・・・新規作成
  PUT ・・・更新
  DELETE ・・・削除
  MERGE ・・・一括更新
Fiddler, OData Explorer
 を使うと分かりやすい
OData 開発のツール/ライブラリ
仕様書




      http://www.odata.org/documentation
OData のライブラリ




      http://www.odata.org/libraries
OData のライブラリ
       マルチプラットフォーム
         マルチデバイス




      http://www.odata.org/libraries
個別のライブラリ




        ターゲットのアイコンを
        クリックする




   http://www.odata.org/libraries#.NET など
OData 開発の実際 ~Producer~
Producer 開発ツール




 WCF Data Services   LightSwitch v2
WCF Data Services

自由度が高い

Entity Model 定義
Data Service 定義
アクセスルール定義
  SetEntitySetAccessRule
LightSwitch v2           D


開発が簡単で直感的
バグの要素が少ない

テーブル定義
アクセスルール定義
  <テーブル名>_CanXXX メソッド
OData 開発の実際 ~Consumer~
Consumer 開発ツール




 PowerPivot for Excel   .NET / SL / WP




   Metro スタイル           LightSwitch v2
PowerPivot for Excel

世の中に“Excel マスター” はたくさんいる
データを自由に集計、分析してもらう
開発者は Producer を用意するだけ
.NET / Silverlight / Windows Phone

自由度の高い UI / UX 設計がしやすい
ノウハウを持った開発者が多い
少ないコストでマルチプラットフォーム化




DataServiceCollection
を使う
Metro スタイルアプリケーション
Metro はダッシュボードに向いている
OData のデータを “どう見せるか”
UX を意識した開発が前提




JavaScript ならば
jQuery と datajs を使う
LightSwitch v2          D


最も簡単なクライアント開発ツール
誰でも、どのアプリでも統一感のある画面
マルチデータソースも得意=マッシュアップ
次のステップ
次のステップ ~ ここまで終わったら
アクセス権
認証
通信の暗号化
まとめ
情報収集は http://www.odata.org/ で
サーバー/クライアントの組み合わせ自由
用途やユーザーにあわせたクライアント

実開発では認証や
 アクセス権も大事な要素
(参考)
 OData サイト
   http://www.odata.org/
 Data Developer Center
   http://msdn.microsoft.com/en-us/data/
 実用 OData
   http://msdn.microsoft.com/
    ja-jp/magazine/ff714561.aspx
 Developing OData Services Using Entity
  Framework
   http://msmvps.com/blogs/siva/archive/2011/01/12/
    odata-services-using-entity-framework.aspx

OData って何?