初めてでも大丈夫!sharepoint 開発の第一歩

32
初めてでも大丈夫! SharePoint 開発の第一歩 瀬尾佳隆 (@seosoft) Microsoft MVP for Visual C# 技術ひろば.net

Upload: yoshitaka-seo

Post on 10-Jun-2015

4.428 views

Category:

Technology


3 download

DESCRIPTION

第8回 Office 365 勉強会 (2014年5月10日(土) 開催) セッション資料 SharePoint 開発の基礎知識の紹介

TRANSCRIPT

Page 1: 初めてでも大丈夫!SharePoint 開発の第一歩

初めてでも大丈夫!SharePoint開発の第一歩

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

Page 2: 初めてでも大丈夫!SharePoint 開発の第一歩

自己紹介

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

SharePoint / Office 365 が好きAKB48G が好き

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

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

5月17日(土) は合同勉強会の第2弾~活用・連携編~http://bit.ly/hiroba201405

Page 3: 初めてでも大丈夫!SharePoint 開発の第一歩

アジェンダ

SharePoint 開発の基礎知識プログラミングモデル

コードの基本的な流れ/コードの定石

SharePoint 用アプリ開発ツールAccess

“Napa”

ASP.NET

LightSwitch

“Project Siena”

今日はコレ!

Page 4: 初めてでも大丈夫!SharePoint 開発の第一歩

SharePoint 開発の基礎知識

Page 5: 初めてでも大丈夫!SharePoint 開発の第一歩

SharePoint 開発は決して難しくない

以前の SharePoint 開発は独特の API の理解がポイントだった

2013 で新しいプログラミングモデルが追加された一般的な Web や .NET のスキルが

使える

SharePoint ならではの知識はそれほど多くない

Page 6: 初めてでも大丈夫!SharePoint 開発の第一歩

SOM (Server

Object Model)

COM (Client

Object Model)

クラウド指向

オブジェクト

モデル

SharePoint のプログラミングモデル

2013 からの新しいモデル

Page 7: 初めてでも大丈夫!SharePoint 開発の第一歩

クラウド指向のプログラミングモデル

SharePoint 用アプリは本体の SharePoint サイトとは別の場所に配置されるSharePoint ホスト型・・・専用の SharePoint サイト

クラウドホスト型・・・外部の Web サイト

SharePoint ホスト型 クラウドホスト型

Page 8: 初めてでも大丈夫!SharePoint 開発の第一歩

SharePoint ホスト型の構成

App Web

Host Web

利用者のSharePoint 環境

アプリ専用のSharePoint 環境

RequestExecutorでアクセス

アプリを専用の SharePoint サイトに配置する

Page 9: 初めてでも大丈夫!SharePoint 開発の第一歩

クラウドホスト型の構成

App Web

Host Webアプリ本体

CreateUserClientContextForSPHostでアクセス

Remote App

CreateUserClientContextForSPAppWebでアクセス

SQL データベース

アプリを専用のサーバーに配置する

Page 10: 初めてでも大丈夫!SharePoint 開発の第一歩

利用できる API

.NET OM, JavaScript OM, REST API が用意されている※OM = Object Model

API SharePoint ホスト型 クラウドホスト型

.NET OM × ○

JavaScript OM

○ ○

REST API △ △

その他の技術的特徴

一般の Web アプリに出来ることが出来る

△=利用可能だが積極的に使うものでもない

Page 11: 初めてでも大丈夫!SharePoint 開発の第一歩

コードの基本的な流れ

1. ClientContext を生成する• SharePoint サーバーにアクセスするためのコンテキスト

2. 欲しい Web、List を指定する• Web = 一般的な Web アプリケーションに相当する

• List = Web アプリケーション内のデータ

3. Load で欲しい情報をバッチコマンドに追加する• SharePoint では要求の実行はバッチで行う

4. Query でバッチコマンドを実行する• 要求をまとめて実行する

Page 12: 初めてでも大丈夫!SharePoint 開発の第一歩

コードの定石

JavaScript OM .NET OM

ClientContextを生成

ClientContextGetSharePoint-Context

欲しい情報を指定get_web, get_listなど

Web, List など

バッチコマンドに追加

load Load

要求を実行 executeQueryAsync ExecuteQuery

Page 13: 初めてでも大丈夫!SharePoint 開発の第一歩

コード例 (JavaScript OM)

ClientContext を取得

get_xxx で欲しい情報を指定

load でバッチコマンドに追加

executeQueryで要求を実行

Page 14: 初めてでも大丈夫!SharePoint 開発の第一歩

コード例 (.NET OM)

ClientContext を取得

Web, List など欲しい情報を指定

Load でバッチコマンドに追加

ExecuteQuery で要求を実行

Page 15: 初めてでも大丈夫!SharePoint 開発の第一歩

SharePoint 開発ツール

Page 16: 初めてでも大丈夫!SharePoint 開発の第一歩

SharePoint 開発ツールの種類

Access

“Napa”

ASP.NET

LightSwitch

“Project Siena”

Page 17: 初めてでも大丈夫!SharePoint 開発の第一歩

Access

SharePoint 用アプリを簡単に開発できる自動ホスト型

対象のデータは SQL データベース上に置かれる

SharePoint のカスタムリストを使わないデータアクセスのパフォーマンス向上

SharePoint の “リスト件数 実質 5,000件まで” の上限を超えられる

※Access は SPサイトを開発することもできる

Page 18: 初めてでも大丈夫!SharePoint 開発の第一歩

“Napa”

JavaScript OM を使ったアプリケーション開発SharePoint ホスト型

Web のスキルを活用

ブラウザーベースの開発環境 (Visual Studio のサブセット)

アプリ専用のリストは主に App Web に置くのがよいHost Web のアクセスも可能、

WebRequestExecutorFactory を利用する

課題はソースコード管理がしづらい点

Page 19: 初めてでも大丈夫!SharePoint 開発の第一歩

“Napa” の開発画面

Page 20: 初めてでも大丈夫!SharePoint 開発の第一歩

ASP.NET

.NET OM を使ったアプリケーション開発任意のホスト型に対応する

ASP.NET 開発のスキルを利用できる

Visual Studio の開発支援機能・デバッグ支援機能を利用できる

専用のリストは主に SQL データベースに置くのがよい自由なデータ設計、パフォーマンス、件数上限などのメリット

App Web, Host Web のアクセスも可能、JavaScript OM よりもシンプルなコードにできるCreateUserClientContextForSPAppWeb ・・・App Web

CreateUserClientContextForSPHost ・・・Host Web

Page 21: 初めてでも大丈夫!SharePoint 開発の第一歩

LightSwitch

SharePoint 用アプリを簡単に開発できる自動ホスト型

業務アプリを簡単にクラウド化できる

タッチ前提の UI=マルチデバイス対応

SharePoint / Office 365 との連携が簡単マルチデータソースの操作が簡単

サーバー側/クライアント側それぞれをカスタマイズ可能

Page 22: 初めてでも大丈夫!SharePoint 開発の第一歩

LightSwitch の開発画面

Page 23: 初めてでも大丈夫!SharePoint 開発の第一歩

LightSwitch アプリの実行画面

Page 24: 初めてでも大丈夫!SharePoint 開発の第一歩

“Project Siena”

Windows 8.1 用のダッシュボードを開発

記述できる範囲はExcel ライクな関数のみ

Office 365 には今後対応(・・・されるはず)

Page 25: 初めてでも大丈夫!SharePoint 開発の第一歩

まとめ

Page 26: 初めてでも大丈夫!SharePoint 開発の第一歩

まとめ

SharePoint 開発は決して難しくないSharePoint 開発の基礎知識

クラウド指向の新しいプログラミングモデル

アプリの形態の理解

コードの定石を利用

SharePoint 開発ツールAccess ・・・PC ブラウザー向けアプリを簡単に開発

“Napa” ・・・JavaScript で Web のスキルを利用

ASP.NET ・・・ .NET と C#/VB を最大限に活用

LightSwitch ・・・業務アプリを高品質にクラウド化

“Project Siena” ・・・Windows 8.1 用のダッシュボードを開発

Page 27: 初めてでも大丈夫!SharePoint 開発の第一歩

参考) 企業アプリカタログへの発行

Page 28: 初めてでも大丈夫!SharePoint 開発の第一歩

企業アプリカタログサイトの作成 (1)

Page 29: 初めてでも大丈夫!SharePoint 開発の第一歩

企業アプリカタログサイトの作成 (2)

Page 30: 初めてでも大丈夫!SharePoint 開発の第一歩

企業アプリカタログへの発行 (1)

Page 31: 初めてでも大丈夫!SharePoint 開発の第一歩

企業アプリカタログへの発行 (2)

Page 32: 初めてでも大丈夫!SharePoint 開発の第一歩

企業アプリカタログへの発行 (3)