Upload
yoshitaka-seo
View
1.686
Download
2
Embed Size (px)
DESCRIPTION
「SharePoint Online 開発の最初の一歩」セッション資料 SharePoint 用アプリ開発の概要を紹介しました。 第9回 Office 365 勉強会(2014年8月2日)
Citation preview
SharePoint Online開発の第一歩
瀬尾佳隆 (@seosoft)Microsoft MVP for Visual C#第9回 Office 365 勉強会
自己紹介
瀬尾 佳隆 (せお よしたか)MVP for Visual C# (Jan 2009 – Dec 2014)
SharePoint / Office 365 が好きAKB48G が好き
技術ひろば.net やってますhttp://hiroba-tech.net/
ブログやってますhttp://yseosoft.wordpress.com/
アジェンダ
SharePoint 用アプリとは ~ 開発前の約束事
Host Web ~ 最初の一歩
App Web ~ 柔軟なアプリ構成
Remote App ~ SharePoint の壁を超える
クラウドビジネスアプリ ~ 業務アプリのクラウド化
今日の題材
今日お話しする技術SharePoint 用アプリ (Apps for SharePoint)
.NET OM
クラウドビジネスアプリ
今日の対象外の技術サーバーサイド API
JavaScript OM
REST API
Access アプリ / napa / Project Siena
Office 365 API
※本セッションでは Office 365 API は扱いません。Office 365 API は最後のセッションをお楽しみに。
SharePoint 用アプリとは
開発前の約束事
SharePoint 用アプリの構成
http://msdn.microsoft.com/en-us/library/office/fp179930(v=office.15)
SharePoint 用アプリのメリット
SharePoint 用アプリは “Web アプリ “
従来の Web 開発の技術を活用できるREST に対応していれば言語やプラットフォームに依存しない
.NET や JavaScript のオブジェクトモデルは開発生産性を上げてくれる
アプリ自体は SharePoint の外で動作するWeb サービス、DB などサーバーサイドの技術を利用
JavaScript などのクライアントサイドの技術を利用
ただし、いくつかの約束事と定石の理解は必要このセッションで共有します
参考) Web アプリの DB 接続
DB接続の
準備をして
DB インスタンスに
接続して
アプリが対象とする
テーブルを選択して
各レコードを読んだり
書いたりする
SharePoint 接続の
準備をして
サイトに接続して
アプリが対象とする
リストを選択して
各アイテムを読んだり
書いたりする
SharePoint 用アプリの流れ
DB接続の
準備をして
DB インスタンスに
接続して
アプリが対象とする
テーブルを選択して
各レコードを読んだり
書いたりする
コードの定石 = 前提となる約束事
SharePoint 接続の
準備をして
サイトに接続して
アプリが対象とする
リストを選択して
各アイテムを読んだり
書いたりする
コンテキスト生成からリスト取得まで
リストアイテムの読み出し
Host Web
最初の一歩
SharePoint 用アプリのサーバー構成
App Web
Host Webアプリ本体
CreateUserClientContextForSPHostでアクセス
Remote App
CreateUserClientContextForSPAppWebでアクセス
SQL データベース
Host Web とは
利用者が普段利用する SharePoint サイトのこと
SharePoint 用アプリは別のサイトや別のサーバー上で動作する本体へのアクセスのための専用のコンテキストが Host Web
SharePointContextProvider. CreateUserClientContextForSPHost()で生成できる
コンテキストの生成方法
Host Web 利用の注意点
処理によっては、明示的なアクセス許可の指定が必要AppManifest.xml の [アクセス許可] を開く
アプリで必要な “最低限の” アクセス許可を指定する
App Web
柔軟なアプリ構成
SharePoint 用アプリのサーバー構成
App Web
Host Webアプリ本体
CreateUserClientContextForSPHostでアクセス
Remote App
CreateUserClientContextForSPAppWebでアクセス
SQL データベース
App Web とは
各SharePoint 用アプリ専用のサイト専用サイトのコンテキストが App Web
SharePointContextProvider. CreateUserClientContextForSPAppWeb()で生成できる
サイトであることには変わりはないので、アプリ専用のリストなどを置くことができるリスト名が重複する可能性がなくなるというメリットもある
万一、アプリに不具合があっても Host Web への影響は最小限
コンテキストの生成方法
アプリ専用のリストの作り方
リストが作成される場所
アプリを一度デバッグ実行する
アプリの URL の SPAppWebUrl パラメーターからリストのアドレスを組み立てることができる
Remote App
SharePoint の壁を超える
SharePoint 用アプリのサーバー構成
App Web
Host Webアプリ本体
CreateUserClientContextForSPHostでアクセス
Remote App
CreateUserClientContextForSPAppWebでアクセス
SQL データベース
Remote App とは
SharePoint 用アプリの本体
アプリは SharePoint ではない Web サーバー上で動作する“napa” で開発したアプリなど、SharePoint 上で動作する
SharePoint 用アプリもある
独立した Web サーバー上で動作しているので、一般の Web 技術を利用できるデータを SQL Server で管理することで、
パフォーマンス向上や SharePoint の 5000件問題の回避などのメリットが多い
既存の Web アプリを変換可能
既存の Web アプリもメニュー選択だけでSharePoint 用アプリに変換できるもちろん使用によってはコードの追加・変更は必要
特に “認証” 周りは要修正
クラウドビジネスアプリ
業務アプリのクラウド化
SharePoint 用アプリのサーバー構成
App Web
Host Webアプリ本体
CreateUserClientContextForSPHostでアクセス
Remote App
CreateUserClientContextForSPAppWebでアクセス
SQL データベース
クラウドビジネスアプリとは
LightSwitch ベースの SharePoint 用アプリテンプレート
SQL Server、App Web のリスト、Host Web のリストを自由に組み合わせたアプリ開発が簡単全てのデータソースを単一のプログラミングモデルで操作
CreateContext, Load, ExecuteQuery が不要
サーバーサイド、クライアントサイドとも Web 標準の技術で処理をカスタマイズできる
LightSwitch の開発画面
LightSwitch アプリの実行画面
SharePoint 活用の究極の形
http://msdn.microsoft.com/ja-JP/office/dn448479
まとめ
まとめ
CreateUserClientContext → Load →ExecuteQuery が .NET OM の定石
SharePoint 用アプリのサーバー構成はHost Web, App Web, Remote App
SharePoint をハブとして社内の業務アプリを連携・統合するのが SharePoint 用アプリの本質(だと思います)