SlideShare a Scribd company logo
LightSwitch で OData

 瀬尾 佳隆 (MVP for Visual C#)
 技術ひろば.net




Community Open Day
2012
自己紹介/コミュニティー紹介

   瀬尾 佳隆 (せお よしたか)
     MVP  for Visual C# (Jan 2009 – Dec 2012)
     “LightSwitch” 推し
     総選挙でもあろうものなら投票します
     が、今イチ人気がなくて選抜メンバー入りは難しい・・・
   技術ひろば.net
     オフライン勉強会を“緩く”開催
     2007年6月9日に第1回の勉強会、実は今日が誕生日
今日のテーマ
LightSwitch は優秀な OData 開発ツール

   LightSwitch とは? OData とは?
   OData のメリットと業務アプリとの相性
   LightSwitch で OData Producer を開発する際のポイント




                                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                                     Web 標準
     for querying and updating data             問い合わせも更新も
     that provides a way to unlock your data and     相互に自由な
      free it from silos that exist in applications today.
                                                         接続
デモ
LightSwitch と OData との簡単な紹介
OData のメリット
サーバーとクライアントとの組み合わせの自由度が高い




          http://www.odata.org/libraries
OData のメリット
サーバーとクライアントとの組み合わせの自由度が高い


         マルチプラットフォーム
           マルチデバイス




          http://www.odata.org/libraries
業務アプリと OData との相性
業務アプリもマルチデバイス対応が必要な時代

   単一のサービスで異なるクライアントに対応できる
   クライアントは個別のデータ構造に対応する必要がない



              OData Producer
業務アプリと OData との相性
業務アプリもマルチデバイス対応が必要な時代

   単一のサービスで異なるクライアントを対象にできる
   クライアントは個別のデータ構造に対応する必要がない



              OData Producer




                      http://msdn.microsoft.com/
                      ja-jp/windows/
LightSwitch と OData
LightSwitch を OData Producer 開発ツールとして使う

   LightSwitch は特別な設定/コーディングを追加しなくても
    OData Producer になっている
     普通に   LightSwitch アプリケーションを開発するだけ
     Runtime / フレームワークがプロトコルの面倒を見てくれる
     例えば、WCF Data Services だとインターフェイスや
      サービスコントラクトなどの明示的な定義も必要
業務アプリで OData を利用する際のポイント
認証とアクセス許可設定の考慮が大事

   認証
     業務アプリはデータを世界中に公開したい
    わけではない
   アクセス許可
     全社員がすべてのデータを操作していい
    わけではない




    データの暗号化も重要だが、「SSL を使いましょう」 という話なので
    今回は省略
業務アプリで OData を利用する際のポイント
認証とアクセス許可設定の考慮が大事

   認証
     業務アプリはデータを世界中に公開したい
    わけではない
   アクセス許可
     全社員がすべてのデータを操作していい
    わけではない




         LightSwitch はこれらの実装も簡単
LightSwitch の認証
プロパティページで “認証を有効にする”

   “フォーム認証” / “Windows 認証” の使用を選択するだけ
     ASP.NET   の Membership API が組み込まれている
フォーム認証するユーザーの登録
LightSwitch 組み込みのユーザー編集画面

   発行後に “SecurityAdministration” 権限を持つユーザー
    で
    アプリ実行
     組み込みのユーザー編集画面が利用できる
     Membership   API でユーザー一括登録も(技術的には)可能
デモ
フォーム認証
アクセス許可の手順

   プロパティページで
    “アクセス許可” を定義
   テーブル単位でアクセス権を付与
   発行後、役割とユーザーを登録
   役割にアクセス許可を付与      役割
   ユーザーに役割を付与


• 役割には複数のアクセス許可を
  付与できる
• 役割は複数のユーザーに         ユーザー
  付与できる
アクセス許可設定
アクセスレベルの最小単位を定義する

   「XXXを参照する権利」、「XXXを更新する権利」の単位で定義
   役割には複数のアクセス許可を付与できる




       ※ “デバッグに使用する”
        の文言は気にしない
テーブルのアクセス許可
<テーブル名>_CanXXX と User.HasPermission を使う

   テーブルごとに
     <テーブル名>_CanRead  ・・・ テーブルを参照する権利
     <テーブル名>_CanInsert ・・・ レコードを新規作成する権利
     <テーブル名>_CanUpdate ・・・ レコードを変更する権利
     <テーブル名>_CanDelete ・・・ レコードを削除する権利

   (参考) 画面ごとに
     <画面名>_CanRun   ・・・画面を起動する権利
User.HasPermission の引数
ユーザーが “アクセス許可設定値” のアクセス許可を持っているか
レコード単位のアクセス許可
テーブルのアクセス権だけでは不十分なこともある

   ユーザーごとに見せるレコードをフィルタリングできる
     <テーブル名>_filter   メソッド
デモ
アクセス許可
まとめ
LightSwitch で OData 開発を

   LightSwitch は優秀な OData 開発ツール
   OData はマルチプラットフォーム/マルチデバイスに適する
   Producer 開発では “認証” と “アクセス許可” を考慮する
おまけ(1)
クライアントでは DataServiceCollection<T> を使う
おまけ(2-1)
Visual Studio 2012 RC での変更点 ~ アプリケーション種類の追加

   サービス (OData Producer) のみの発行が可能になった
     開発環境自身が          Producer 開発ツールであることを意識




      Visual Studio 11 Beta         Visual Studio 2012 RC
おまけ(2-2)
Visual Studio 2012 RC での変更点 ~ デフォルトシェルの変更

   デフォルトシェルが “標準シェル” から
    “Cosmopolitan シェル” に変更




      Visual Studio 11 Beta    Visual Studio 2012 RC
LightSwitch で OData

More Related Content

PDF
LightSwitch ~結局何ができるの~ rev 2
PDF
LightSwitch で遊んでみた Rev. 2
PDF
LightSwitchでWebアプリ開発
PDF
LightSwitch 結局何ができるの
PDF
LightSwitchからUXを見てみる
PDF
OData って何?
PDF
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 後編
PDF
【de:code 2020】 Microsoft Azure データ関連サービスの紹介
LightSwitch ~結局何ができるの~ rev 2
LightSwitch で遊んでみた Rev. 2
LightSwitchでWebアプリ開発
LightSwitch 結局何ができるの
LightSwitchからUXを見てみる
OData って何?
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 後編
【de:code 2020】 Microsoft Azure データ関連サービスの紹介

What's hot (20)

PDF
開発支援ツールとは?
PDF
【de:code 2020】 Build 2020 最新情報 ~コンテナ関連アップデート~
PDF
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
PDF
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
PDF
OSC2018 hiroshima session slide by OSSC
PDF
【de:code 2020】 Apps on Azure AD - アプリケーション連携 WHY と HOW
PDF
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
PDF
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
PDF
Introduction to application architecture on asp.net mvc
PDF
【de:code 2020】 既存データベースの移行 ~オンプレミスからクラウドへ~
PDF
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
PDF
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
PDF
【de:code 2020】 Microsoft 自身の事例から学ぶクラウド移行の価値
PDF
【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
PDF
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (2/2)
PDF
【de:code 2020】 二兎追う者は二兎を得る!クラウド VDI で利便性とセキュリティのどちらも手に入れる!
PDF
About WinJS
PDF
Open棟梁 v02-00 コンセプト
PDF
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
PPTX
Windows 11 がやってくる - IT管理者の準備と対策
開発支援ツールとは?
【de:code 2020】 Build 2020 最新情報 ~コンテナ関連アップデート~
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
OSC2018 hiroshima session slide by OSSC
【de:code 2020】 Apps on Azure AD - アプリケーション連携 WHY と HOW
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
Introduction to application architecture on asp.net mvc
【de:code 2020】 既存データベースの移行 ~オンプレミスからクラウドへ~
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 Microsoft 自身の事例から学ぶクラウド移行の価値
【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (2/2)
【de:code 2020】 二兎追う者は二兎を得る!クラウド VDI で利便性とセキュリティのどちらも手に入れる!
About WinJS
Open棟梁 v02-00 コンセプト
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
Windows 11 がやってくる - IT管理者の準備と対策
Ad

Similar to LightSwitch で OData (20)

PDF
LightSwitchで遊んでみた
PDF
OpenSpan_PreMarketing
PDF
エンタープライズ.Net light switch
PDF
20130604 tf vdi-osamut
PDF
LightSwitchでマルチデータソース
PPTX
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
PDF
Php conference 2010 final
PDF
Dev campjpn day2session3
PDF
20230206_SD輪読&座談会#41_kitazaki.pdf
PPTX
API はメタデータを提供せよ LT#1 JJUG_CCC2018
PPTX
20170705 apiをつくろう
PDF
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
PDF
HBaseCon 2012 参加レポート
PDF
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
PDF
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
PDF
LightSwitchで Office 365 開発
PPTX
APIに関するセッション資料
PDF
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
PPTX
CData API Server ハンズオン
PPTX
Javaアプリケーションの モダナイゼーションアプローチ
LightSwitchで遊んでみた
OpenSpan_PreMarketing
エンタープライズ.Net light switch
20130604 tf vdi-osamut
LightSwitchでマルチデータソース
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
Php conference 2010 final
Dev campjpn day2session3
20230206_SD輪読&座談会#41_kitazaki.pdf
API はメタデータを提供せよ LT#1 JJUG_CCC2018
20170705 apiをつくろう
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
HBaseCon 2012 参加レポート
[INSIGHT OUT 2011] B27 SQL Anywhereの先進のセルフヒーリング技術について(glenn paulley)
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
LightSwitchで Office 365 開発
APIに関するセッション資料
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
CData API Server ハンズオン
Javaアプリケーションの モダナイゼーションアプローチ
Ad

More from Yoshitaka Seo (20)

PDF
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
PDF
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
PDF
AI-900 ポイント解説
PDF
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
PDF
AIの見方、AIとの付き合い方
PDF
Custom Visionで仏像を画像分類
PDF
誰もが AI を使う時代、作る時代
PDF
Azure IoT Edge で Custom Vision
PDF
API ペタペタしただけのお手軽 感情分析アプリ
PDF
Machine Learning studio で構造化データから予測分析 (LT版)
PDF
BIerのためのAI入門
PDF
構造化データをツールで簡単に分析
PDF
チャットボットの自然言語処理
PDF
Custom Visionを活用するためのTips
PDF
Machine Learning Serviceを使ってみよう
PDF
Bot Framework Emulator はこんなにすごい
PDF
VS Code Tools for AI の紹介
PDF
Bot Builder V4 SDK + QnA Maker / LUIS
PDF
QnA Maker 逆入門
PDF
PowerApps アプリ開発入門
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
AI-900 ポイント解説
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
AIの見方、AIとの付き合い方
Custom Visionで仏像を画像分類
誰もが AI を使う時代、作る時代
Azure IoT Edge で Custom Vision
API ペタペタしただけのお手軽 感情分析アプリ
Machine Learning studio で構造化データから予測分析 (LT版)
BIerのためのAI入門
構造化データをツールで簡単に分析
チャットボットの自然言語処理
Custom Visionを活用するためのTips
Machine Learning Serviceを使ってみよう
Bot Framework Emulator はこんなにすごい
VS Code Tools for AI の紹介
Bot Builder V4 SDK + QnA Maker / LUIS
QnA Maker 逆入門
PowerApps アプリ開発入門

LightSwitch で OData