SharePoint Online 開発の最初の一歩

Post on 10-Jun-2015

1.686 views 2 download

description

「SharePoint Online 開発の最初の一歩」セッション資料 SharePoint 用アプリ開発の概要を紹介しました。 第9回 Office 365 勉強会(2014年8月2日)

Transcript of SharePoint Online 開発の最初の一歩

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 用アプリの本質(だと思います)