Upload
yoshitaka-seo
View
4.993
Download
1
Embed Size (px)
DESCRIPTION
Community Open Day 2012 (6月9日開催) C-2 セッション
Citation preview
LightSwitch で OData
Community Open Day 2012
瀬尾 佳隆 (MVP for Visual C#)
技術ひろば.net
自己紹介/コミュニティー紹介
瀬尾 佳隆 (せお よしたか)
MVP for Visual C# (Jan 2009 – Dec 2012)
“LightSwitch” 推し
総選挙でもあろうものなら投票します
が、今イチ人気がなくて選抜メンバー入りは難しい・・・
技術ひろば.net
オフライン勉強会を“緩く”開催
2007年6月9日に第1回の勉強会、実は今日が誕生日
今日のテーマ
LightSwitch とは? OData とは?
OData のメリットと業務アプリとの相性
LightSwitch で OData Producer を開発する際のポイント
LightSwitch は優秀な OData 開発ツール
http://www.odata.org/
LightSwitch とは? 最も簡単な“業務アプリ開発ツール”
テーブル 定義
画面 デザイン
カスタマイズ
繰り返し 最後にデプロイ
LightSwitch とは? 最も簡単な“業務アプリ開発ツール”
テーブル 定義
画面 デザイン
カスタマイズ
繰り返し 最後にデプロイ
ビジネスロジック以外のコーディングが少ない =本質ではない部分のバグが少ない
OData とは?
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 とは?
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.
データの問い合わせと更新のためのプロトコル
Web 標準
問い合わせも更新も
相互に自由な 接続
デモ LightSwitch と OData との簡単な紹介
OData のメリット サーバーとクライアントとの組み合わせの自由度が高い
http://www.odata.org/libraries
OData のメリット サーバーとクライアントとの組み合わせの自由度が高い
http://www.odata.org/libraries
マルチプラットフォーム マルチデバイス
業務アプリと OData との相性
単一のサービスで異なるクライアントに対応できる
クライアントは個別のデータ構造に対応する必要がない
業務アプリもマルチデバイス対応が必要な時代
OData Producer
業務アプリと OData との相性
単一のサービスで異なるクライアントを対象にできる
クライアントは個別のデータ構造に対応する必要がない
業務アプリもマルチデバイス対応が必要な時代
http://msdn.microsoft.com/ ja-jp/windows/
OData Producer
LightSwitch と OData
LightSwitch は特別な設定/コーディングを追加しなくても OData Producer になっている
普通に LightSwitch アプリケーションを開発するだけ
Runtime / フレームワークがプロトコルの面倒を見てくれる
例えば、WCF Data Services だとインターフェイスや サービスコントラクトなどの明示的な定義も必要
LightSwitch を OData Producer 開発ツールとして使う
業務アプリで OData を利用する際のポイント
認証
業務アプリはデータを世界中に公開したい わけではない
アクセス許可
全社員がすべてのデータを操作していい わけではない
認証とアクセス許可設定の考慮が大事
データの暗号化も重要だが、「SSL を使いましょう」 という話なので 今回は省略
業務アプリで OData を利用する際のポイント
認証
業務アプリはデータを世界中に公開したい わけではない
アクセス許可
全社員がすべてのデータを操作していい わけではない
認証とアクセス許可設定の考慮が大事
LightSwitch はこれらの実装も簡単
LightSwitch の認証
“フォーム認証” / “Windows 認証” の使用を選択するだけ
ASP.NET の Membership API が組み込まれている
プロパティページで “認証を有効にする”
フォーム認証するユーザーの登録
発行後に “SecurityAdministration” 権限を持つユーザーで アプリ実行
組み込みのユーザー編集画面が利用できる
Membership API でユーザー一括登録も(技術的には)可能
LightSwitch 組み込みのユーザー編集画面
デモ フォーム認証
アクセス許可の手順
プロパティページで “アクセス許可” を定義
テーブル単位でアクセス権を付与
発行後、役割とユーザーを登録
役割にアクセス許可を付与
ユーザーに役割を付与
役割
ユーザー
• 役割には複数のアクセス許可を 付与できる
• 役割は複数のユーザーに 付与できる
アクセス許可設定
「XXXを参照する権利」、「XXXを更新する権利」の単位で定義
役割には複数のアクセス許可を付与できる
アクセスレベルの最小単位を定義する
※ “デバッグに使用する” の文言は気にしない
テーブルのアクセス許可
テーブルごとに
<テーブル名>_CanRead ・・・ テーブルを参照する権利
<テーブル名>_CanInsert ・・・ レコードを新規作成する権利
<テーブル名>_CanUpdate ・・・ レコードを変更する権利
<テーブル名>_CanDelete ・・・ レコードを削除する権利
(参考) 画面ごとに
<画面名>_CanRun ・・・画面を起動する権利
<テーブル名>_CanXXX と User.HasPermission を使う
User.HasPermission の引数 ユーザーが “アクセス許可設定値” のアクセス許可を持っているか
レコード単位のアクセス許可
ユーザーごとに見せるレコードをフィルタリングできる
<テーブル名>_filter メソッド
テーブルのアクセス権だけでは不十分なこともある
デモ アクセス許可
まとめ
LightSwitch は優秀な OData 開発ツール
OData はマルチプラットフォーム/マルチデバイスに適する
Producer 開発では “認証” と “アクセス許可” を考慮する
LightSwitch で OData 開発を
おまけ(1) クライアントでは DataServiceCollection<T> を使う
おまけ(2-1)
サービス (OData Producer) のみの発行が可能になった
開発環境自身が Producer 開発ツールであることを意識
Visual Studio 2012 RC での変更点 ~ アプリケーション種類の追加
Visual Studio 11 Beta Visual Studio 2012 RC
おまけ(2-2)
デフォルトシェルが “標準シェル” から “Cosmopolitan シェル” に変更
Visual Studio 2012 RC での変更点 ~ デフォルトシェルの変更
Visual Studio 11 Beta Visual Studio 2012 RC