35
SharePoint Online 開発の第一歩 瀬尾佳隆 (@seosoft) Microsoft MVP for Visual C# 第9回 Office 365 勉強会

SharePoint Online 開発の最初の一歩

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: SharePoint Online 開発の最初の一歩

SharePoint Online開発の第一歩

瀬尾佳隆 (@seosoft)Microsoft MVP for Visual C#第9回 Office 365 勉強会

Page 2: SharePoint Online 開発の最初の一歩

自己紹介

瀬尾 佳隆 (せお よしたか)MVP for Visual C# (Jan 2009 – Dec 2014)

SharePoint / Office 365 が好きAKB48G が好き

技術ひろば.net やってますhttp://hiroba-tech.net/

ブログやってますhttp://yseosoft.wordpress.com/

Page 3: SharePoint Online 開発の最初の一歩

アジェンダ

SharePoint 用アプリとは ~ 開発前の約束事

Host Web ~ 最初の一歩

App Web ~ 柔軟なアプリ構成

Remote App ~ SharePoint の壁を超える

クラウドビジネスアプリ ~ 業務アプリのクラウド化

Page 4: SharePoint Online 開発の最初の一歩

今日の題材

今日お話しする技術SharePoint 用アプリ (Apps for SharePoint)

.NET OM

クラウドビジネスアプリ

今日の対象外の技術サーバーサイド API

JavaScript OM

REST API

Access アプリ / napa / Project Siena

Office 365 API

※本セッションでは Office 365 API は扱いません。Office 365 API は最後のセッションをお楽しみに。

Page 5: SharePoint Online 開発の最初の一歩

SharePoint 用アプリとは

開発前の約束事

Page 6: SharePoint Online 開発の最初の一歩

SharePoint 用アプリの構成

http://msdn.microsoft.com/en-us/library/office/fp179930(v=office.15)

Page 7: SharePoint Online 開発の最初の一歩

SharePoint 用アプリのメリット

SharePoint 用アプリは “Web アプリ “

従来の Web 開発の技術を活用できるREST に対応していれば言語やプラットフォームに依存しない

.NET や JavaScript のオブジェクトモデルは開発生産性を上げてくれる

アプリ自体は SharePoint の外で動作するWeb サービス、DB などサーバーサイドの技術を利用

JavaScript などのクライアントサイドの技術を利用

ただし、いくつかの約束事と定石の理解は必要このセッションで共有します

Page 8: SharePoint Online 開発の最初の一歩

参考) Web アプリの DB 接続

DB接続の

準備をして

DB インスタンスに

接続して

アプリが対象とする

テーブルを選択して

各レコードを読んだり

書いたりする

Page 9: SharePoint Online 開発の最初の一歩

SharePoint 接続の

準備をして

サイトに接続して

アプリが対象とする

リストを選択して

各アイテムを読んだり

書いたりする

SharePoint 用アプリの流れ

DB接続の

準備をして

DB インスタンスに

接続して

アプリが対象とする

テーブルを選択して

各レコードを読んだり

書いたりする

Page 10: SharePoint Online 開発の最初の一歩

コードの定石 = 前提となる約束事

SharePoint 接続の

準備をして

サイトに接続して

アプリが対象とする

リストを選択して

各アイテムを読んだり

書いたりする

Page 11: SharePoint Online 開発の最初の一歩

コンテキスト生成からリスト取得まで

Page 12: SharePoint Online 開発の最初の一歩

リストアイテムの読み出し

Page 13: SharePoint Online 開発の最初の一歩

Host Web

最初の一歩

Page 14: SharePoint Online 開発の最初の一歩

SharePoint 用アプリのサーバー構成

App Web

Host Webアプリ本体

CreateUserClientContextForSPHostでアクセス

Remote App

CreateUserClientContextForSPAppWebでアクセス

SQL データベース

Page 15: SharePoint Online 開発の最初の一歩

Host Web とは

利用者が普段利用する SharePoint サイトのこと

SharePoint 用アプリは別のサイトや別のサーバー上で動作する本体へのアクセスのための専用のコンテキストが Host Web

SharePointContextProvider. CreateUserClientContextForSPHost()で生成できる

Page 16: SharePoint Online 開発の最初の一歩

コンテキストの生成方法

Page 17: SharePoint Online 開発の最初の一歩

Host Web 利用の注意点

処理によっては、明示的なアクセス許可の指定が必要AppManifest.xml の [アクセス許可] を開く

アプリで必要な “最低限の” アクセス許可を指定する

Page 18: SharePoint Online 開発の最初の一歩

App Web

柔軟なアプリ構成

Page 19: SharePoint Online 開発の最初の一歩

SharePoint 用アプリのサーバー構成

App Web

Host Webアプリ本体

CreateUserClientContextForSPHostでアクセス

Remote App

CreateUserClientContextForSPAppWebでアクセス

SQL データベース

Page 20: SharePoint Online 開発の最初の一歩

App Web とは

各SharePoint 用アプリ専用のサイト専用サイトのコンテキストが App Web

SharePointContextProvider. CreateUserClientContextForSPAppWeb()で生成できる

サイトであることには変わりはないので、アプリ専用のリストなどを置くことができるリスト名が重複する可能性がなくなるというメリットもある

万一、アプリに不具合があっても Host Web への影響は最小限

Page 21: SharePoint Online 開発の最初の一歩

コンテキストの生成方法

Page 22: SharePoint Online 開発の最初の一歩

アプリ専用のリストの作り方

Page 23: SharePoint Online 開発の最初の一歩

リストが作成される場所

アプリを一度デバッグ実行する

アプリの URL の SPAppWebUrl パラメーターからリストのアドレスを組み立てることができる

Page 24: SharePoint Online 開発の最初の一歩

Remote App

SharePoint の壁を超える

Page 25: SharePoint Online 開発の最初の一歩

SharePoint 用アプリのサーバー構成

App Web

Host Webアプリ本体

CreateUserClientContextForSPHostでアクセス

Remote App

CreateUserClientContextForSPAppWebでアクセス

SQL データベース

Page 26: SharePoint Online 開発の最初の一歩

Remote App とは

SharePoint 用アプリの本体

アプリは SharePoint ではない Web サーバー上で動作する“napa” で開発したアプリなど、SharePoint 上で動作する

SharePoint 用アプリもある

独立した Web サーバー上で動作しているので、一般の Web 技術を利用できるデータを SQL Server で管理することで、

パフォーマンス向上や SharePoint の 5000件問題の回避などのメリットが多い

Page 27: SharePoint Online 開発の最初の一歩

既存の Web アプリを変換可能

既存の Web アプリもメニュー選択だけでSharePoint 用アプリに変換できるもちろん使用によってはコードの追加・変更は必要

特に “認証” 周りは要修正

Page 28: SharePoint Online 開発の最初の一歩

クラウドビジネスアプリ

業務アプリのクラウド化

Page 29: SharePoint Online 開発の最初の一歩

SharePoint 用アプリのサーバー構成

App Web

Host Webアプリ本体

CreateUserClientContextForSPHostでアクセス

Remote App

CreateUserClientContextForSPAppWebでアクセス

SQL データベース

Page 30: SharePoint Online 開発の最初の一歩

クラウドビジネスアプリとは

LightSwitch ベースの SharePoint 用アプリテンプレート

SQL Server、App Web のリスト、Host Web のリストを自由に組み合わせたアプリ開発が簡単全てのデータソースを単一のプログラミングモデルで操作

CreateContext, Load, ExecuteQuery が不要

サーバーサイド、クライアントサイドとも Web 標準の技術で処理をカスタマイズできる

Page 31: SharePoint Online 開発の最初の一歩

LightSwitch の開発画面

Page 32: SharePoint Online 開発の最初の一歩

LightSwitch アプリの実行画面

Page 33: SharePoint Online 開発の最初の一歩

SharePoint 活用の究極の形

http://msdn.microsoft.com/ja-JP/office/dn448479

Page 34: SharePoint Online 開発の最初の一歩

まとめ

Page 35: SharePoint Online 開発の最初の一歩

まとめ

CreateUserClientContext → Load →ExecuteQuery が .NET OM の定石

SharePoint 用アプリのサーバー構成はHost Web, App Web, Remote App

SharePoint をハブとして社内の業務アプリを連携・統合するのが SharePoint 用アプリの本質(だと思います)