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

Post on 10-Jun-2015

4.428 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

自己紹介

瀬尾 佳隆 (せお よしたか)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

アジェンダ

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

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

SharePoint 用アプリ開発ツールAccess

“Napa”

ASP.NET

LightSwitch

“Project Siena”

今日はコレ!

SharePoint 開発の基礎知識

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

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

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

使える

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

SOM (Server

Object Model)

COM (Client

Object Model)

クラウド指向

オブジェクト

モデル

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

2013 からの新しいモデル

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

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

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

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

SharePoint ホスト型の構成

App Web

Host Web

利用者のSharePoint 環境

アプリ専用のSharePoint 環境

RequestExecutorでアクセス

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

クラウドホスト型の構成

App Web

Host Webアプリ本体

CreateUserClientContextForSPHostでアクセス

Remote App

CreateUserClientContextForSPAppWebでアクセス

SQL データベース

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

利用できる API

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

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

.NET OM × ○

JavaScript OM

○ ○

REST API △ △

その他の技術的特徴

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

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

コードの基本的な流れ

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

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

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

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

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

コードの定石

JavaScript OM .NET OM

ClientContextを生成

ClientContextGetSharePoint-Context

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

Web, List など

バッチコマンドに追加

load Load

要求を実行 executeQueryAsync ExecuteQuery

コード例 (JavaScript OM)

ClientContext を取得

get_xxx で欲しい情報を指定

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

executeQueryで要求を実行

コード例 (.NET OM)

ClientContext を取得

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

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

ExecuteQuery で要求を実行

SharePoint 開発ツール

SharePoint 開発ツールの種類

Access

“Napa”

ASP.NET

LightSwitch

“Project Siena”

Access

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

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

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

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

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

“Napa”

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

Web のスキルを活用

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

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

WebRequestExecutorFactory を利用する

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

“Napa” の開発画面

ASP.NET

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

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

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

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

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

CreateUserClientContextForSPHost ・・・Host Web

LightSwitch

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

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

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

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

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

LightSwitch の開発画面

LightSwitch アプリの実行画面

“Project Siena”

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

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

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

まとめ

まとめ

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

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

アプリの形態の理解

コードの定石を利用

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

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

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

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

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

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

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

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

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

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

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

top related