LightSwitch で OData

Post on 01-Jul-2015

4.986 views 1 download

description

Community Open Day 2012 (6月9日開催) C-2 セッション

Transcript of LightSwitch で OData

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