株式会社クリエ・イルミネート

セッション ID:T1-403
次世代 SharePoint Online 開発
と Windows Azure 連携
株式会社クリエ・イルミネート
IW ソリューション グループ
奥田 理恵
セッションの目的とゴール
Session Objectives and Takeaways
セッションの目的
クラウド時代の SharePoint 2010 の利用と開発
シナリオについてご紹介します
SharePoint Server 2010 と Windows Azure 連携の
可能性
SharePoint Online 2010 における開発の可能性
セッションのゴール
SharePoint Server 2010 と Windows Azure
の連携シナリオをご理解いただく
SharePoint Online 2010 で可能となる
サンドボックス ソリューション開発・展開
についてご理解いただく
3
アジェンダ
クラウド時代の SharePoint 2010
SharePoint Server 2010 と
Windows Azure 連携
連携パターンの紹介と構築例
SharePoint Online の利用とカスタマイズ
SharePoint Online での開発
まとめ
4
クラウド時代の SharePoint 2010
マイクロソフトのクラウド
コンピューティング プラットフォーム
Windows Azure Platform
Windows® Azure™ Platform
6
Windows Azure の利用
高いスケーラビリティ
と可用性
従量課金のメリット
ハードウェアを所有
しないメリット
柔軟な運用の実現
クラウド プラットフォームは今後拡大
インターネットを介する利用形態のためすべて
クラウドに置き換えるのがベストではない
クラウドのメリットを活かせるものをクラウド
で利用する
7
クラウドとオンプレミスの連携
クラウドかオンプレミスかの選択ではない
クラウド + オンプレミス それぞれを適材適所
で利用すること
SharePoint 2010 の利用・開発も同様
8
Microsoft Online Services
電子メール
ポータル
予定表
コラボレーション
ノン リアル タイム コミュニケーション
プレゼンス
インスタント メッセージング
音声・ビデオ通話/会議
リアル タイム コミュニケーション
Business Productivity Online Suite (BPOS)
9
データ共有会議
SharePoint Online
現在 SharePoint Server 2007 ベースの
SharePoint Online が提供されている
SharePoint Online 2010 は今後提供予定となっている
10
SharePoint Online 2010
クラウド上のサービスとして SharePoint
機能を利用可能
ハードウェア、サーバーライセンス、CAL
は必要なし
SharePoint Server の展開、管理がいらない
ユーザー数などに応じた課金
ブラウザーや Office クライアントから
SharePoint 機能を利用可能
SharePoint Online 2010 は今後提供予定
11
SharePoint 2010 利用時の選択肢
12
オンプレミスでの
展開
SharePoint
Online Standard
SharePoint
Online Dedicated
ハードウェアを用意し、
サーバー構築・管理が必要
社内 LAN 内の物理マシンに
直接接続
サーバー レベルの管理
フル カスタマイズが可能
AD フォレスト内に構築
ユーザー数に応じた
スケール アウトが可能
SharePoint のフル機能を利用
可能 (Standard/Enterprise
CAL で機能差あり)
マイクロソフトのデータ
センターによるホスティング
環境を利用
マルチ テナントによる
ホスティング環境を利用
ハードウェアは共有
サーバー管理は必要なし
SharePoint Designer による
カスタマイズが可能
部分信頼コードによる開発
が可能
5 シートからの利用が可能
マイクロソフトのデータ
センターによるホスティング
環境を利用
Dedicated ホスティング
により、ハードウェアを占有
サーバー管理は必要なし
SharePoint Designer による
カスタマイズが可能
部分信頼コード、完全信頼
コードによる開発が可能
5000 シートからの利用が
可能
SharePoint 2010 利用イメージ
オンプレミスの
SharePoint Online
SharePoint Server
利用ユーザー
・ブラウザー
・Office クライアント
現場での IT 部門
・サイト管理者
(サイトの作りこみや管理を
直接サイトへ接続して行う)
製品提供や受託開発
を行う開発者
・Visual Studio による開発
(成果物は SharePoint へ展開)
ブラウザー
Visio 2010、InfoPath 2010
SharePoint Designer 2010
ポータル機能、文書管理、検索など
SharePoint 標準機能を活用しての利用
他のシステム、データ ソースとの連携など
SharePoint 標準機能 + 開発したソリューションを組み合わせた利用
13
クラウド連携の SharePoint 開発
オンプレミスの
SharePoint Server 2010 での開発
Windows Azure や SQL Azure と
連携したソリューション構築
SharePoint Online での開発
SharePoint Online 2010 では
サンドボックスによる開発・展開が可能に
14
SharePoint Server 2010 と
Windows Azure 連携
開発環境について
SharePoint
Windows Server 2008 SP2,
Windows Server 2008 R2
(開発環境は Windows 7
も可能)
SharePoint Server 2010
Office 2010
Visual Studio 2010
SharePoint Designer 2010
Windows Azure
Windows Azure
アカウント
Windows Azure SDK
Windows Azure Tools for
Visual Studio 1.2
(オプション) Silverlight
Silverlight 4 ランタイム
Visual Studio 2010 用
Microsoft Silverlight 4
Tools
16
連携アプローチ
Windows Azure と SharePoint Server 2010 の連携
 Non Code シナリオ
① Windows Azure 上の ASP.NET アプリケーション
を Web パーツ内に表示
② SQL Azure 上のデータを SharePoint で利用
 開発シナリオ
③ Azure 上のデータをマッシュアップする
WCF サービスを Azure 上に実装
④ Azure 上のデータに接続する SharePoint 機能を
SharePoint 側に実装する
17
連携アプローチ ① ②
Non Code シナリオ
外部リスト
ページ ビューアー
Web パーツ
<iframe/>
BCS
SPD での設定
SSS
• PowerPivot
for Excel
• PowerPivot
for SharePoint
ASP.NET
既存の Azure 上の ASP.NET Web
アプリケーションを IFRAME で
SharePoint サイト内に表示
18
SQL Azure 上データを SharePoint
サイト内で利用
・Business Connectivity Services
・PowerPivot
デモシナリオ ①
Azure 上の Web アプリケーションを表示
Web
アプリケーション
Azure 上のデータを利用している
Web アプリケーション
<iframe/>
• Azure 上にある Web アプリケーションを SharePoint サイト内に表示
して利用
(ページ ビューアー Web パーツを利用)
19
デモシナリオ ②
SQL Azure 上のデータを SharePoint で活用
BCS
テーブル
SPD での設定
外部リスト
関連複数テーブル
PowerPivot for Excel
PowerPivot for SharePoint
• SQL Azure 上にあるデータを Non Code で SharePoint サイトで活用
• Business Connectivity Service 利用で CRUD UI を SharePoint に
• PowerPivot for Excel で取得したデータを加工し、SharePoint で共有
20
[参考] Business Connectivity Services
データベースなどの外部ソースにあるデータを
SharePoint 上で利用するための機能
SharePoint Server 2007 の ビジネス データ カタログ (BDC) の
進化版
外部リスト
外部列
デザイン ツール
•
•
21
SharePoint
Designer 2010
Visual Studio 2010
データ ソースの内容を
リストに表示 (編集も可能)
リスト列の入力時に
参照可能
検索範囲に利用
[参考] PowerPivot
PowerPivot for Excel
(クライアント)
PowerPivot for SharePoint
(サーバー サイド)
Excel 2010 のアドイン
• インメモリ上での高速な分析
• Excel の制限である約 100 万行を超え
る膨大なデータ セットを
メモリにロード、圧縮して
インメモリ上での多次元分析を可能に
SharePoint Server 2010 と
SQL Server 2008 R2 の連携機能
• SharePoint Server 上で
PowerPivot ワークブックを共有
• Silverlight による描画
22
[参考] PowerPivot を利用した
SQL Azure 接続
クラウドとオンプレミスの データ
をマージした分析が可能
 SQL Azure、SQL Server、
デスクトップ上の Excel データ
を関連付けしてインメモリ上に
キューブを作成
 ピボットテーブルなど Excel
機能を利用した分析
23
SQL Azure 上のデータベース
への接続を標準でサポート
[参考] Secure Store Service
外部ソースにアクセスする際、アカウント
のマッピングを行う機能
SharePoint Server
SharePoint サイト
にアクセス
Windows 認証
example\okuda
外部ソースにアクセス
Secure Store Service
アカウントのマッピング情報
(ターゲット アプリケーション)
example ドメインの
A グループのメンバー
•
•
24
ID
グループ
マッピング後の
ユーザー情報
Azure
example\
A グループ
データ ソースに
アクセスする際に
利用するユーザー
ID とパスワード
SQL ログイン ID
dbaccess
データ ソース
外部ソースにアクセスする際に、SSS を利用してアカウントのマッピングを行える
BCS、PowerPivot、Excel Services など外部ソースにアクセスする接続を
作成する際に指定可能
連携アプローチ ③ ④
開発シナリオ
Azure に接続する
ための SharePoint
機能を実装
SharePoint の
機能を活用して接続
BCS
InfoPath など
Web パーツ
Silverlight
BDC モデル
ワークフロー など
WCF サービス
Azure
Storage
ーー
ーー
ーー
**
**
**
**
**
**
Azure 上のデータをマッシュアップ
する WCF サービスを Azure 上に
実装する
25
Azure
Storage
ーー
ーー
ーー
**
**
**
**
**
**
Azure 上のサービスやデータに
つなぐための機能を SharePoint 側
に実装する
デモシナリオ ③
Azure 上のデータを取得する WCF サービス
外部リスト
アンケート結果を表示
キャンペーン
サイト
ーー
ーー
ーー
**
**
**
**
**
**
アンケート結果が
テーブル ストレージに格納
WCF サービス
テーブル ストレージ内の
アンケート結果を取得
PerformancePoint
Services を利用した集計
• Azure 上のデータを取得する機能を WCF サービスとして用意
• SharePoint 側では開発は行わず、標準機能を活用してデータを共有・活用
(SharePoint Server 2010 の標準機能で WCF サービスとの接続が可能)
26
デモシナリオ ③ + ④
Azure 上のデータを Silverlight に表示
WCF Data Services
Silverlight アプリケーションにデータを表示
• SQL Azure 上のデータを WCF Data Services で公開
• REST アクセスにより SQL Azure 上のデータを表示する
Silverlight アプリケーションを開発
• SharePoint Server 2010 標準搭載の Silverlight Web パーツを利用
(xap ファイルをライブラリに保存し、パスを指定するだけ)
• Silverlight アプリケーションを表示する Web パーツとして
展開することも可能
27
サンプルコード
clientaccesspolicy.xml
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy >
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy> 別ドメインからアクセスするため、
クロスドメインを解決する設定を WCF サービスを
ホストするサーバー側で行う
28
サンプルコード
Silverlight アプリケーション (UI)
<Grid x:Name="LayoutRoot" Background="White"
Width="500" Height="320">
<toolkit:Chart Title="2009 年度カテゴリー別実績"
Margin="10,10,10,10" x:Name="MyBarChart"
Height="300">
<toolkit:ColumnSeries x:Name="MySalesChartData"
ItemsSource=“{Binding}”
IndependentValueBinding="{Binding CategoryName}“
DependentValueBinding="{Binding CategorySales}"
DataContext="{Binding}" Title="商品カテゴリー" />
</toolkit:Chart>
</Grid>
「Silverlight ToolKit」
http://silverlight.codeplex.com/
29
サンプルコード
Silverlight アプリケーション (ロジック)
context = new ***Entities(new
Uri(“http://*****/Data.svc/"));
var query = (from s in context.CategorySales
select s) as DataServiceQuery<CategorySales>;
query.BeginExecute(result =>
{
Dispatcher.BeginInvoke(() =>
{
IEnumerable<CategorySales> Sales =
query.EndExecute(result).ToList();
DataContext = Sales;
});
}, null);
30
SharePoint Online の利用と
カスタマイズ
SharePoint Online のカスタマイズ
ブラウザーによる編集
• サイト、リストの作成
• Web パーツや Wiki ページを活用したページ編集
• ページの作成
SharePoint Designer 2010 を利用したカスタマイズ
• マスター ページやページ レイアウト
• ノン コードのワークフロー
Visual Studio 2010 による開発
• サンドボックス ソリューションの展開
• クライアント サイド オブジェクト モデルの利用
32
SharePoint 2010
2 種類のソリューション展開方法
ファーム ソリューション
• サーバー レベルでの展開 (サーバーのファイル システム上に展開)
• SharePoint 2007 と同様
サンドボックス ソリューション
• サイト コレクション レベルでの展開 (ソリューション ギャラリーに展開)
• SharePoint 2010 からの新機能
SharePoint Online への展開が可能
33
サンドボックス ソリューション
ユーザー部門によるカスタム ソリューションの
展開を可能にするしくみ
サイト コレクション単位での展開が可能
SharePoint Online 2010 での展開が可能
サーバー サイド ソリューションのサブセット
すべての機能が利用できるわけではない
サンドボックス内 (部分信頼) でのコード実行
特定のサービス プロセス内での実行
34
カスタム ソリューションの展開
完全信頼ソリューション
開発した成果物 (ソリューション) はフロント エンド
Web サーバーのファイル システム上に展開されるため、
SharePoint Online (Standard) では展開不可能
35
カスタム ソリューションの展開
サンドボックス ソリューション
• 開発した成果物 (ソリューション) はサイト コレクション内
のギャラリーにブラウザーでアップ ロードして展開
• SharePoint Online 2010 で展開可能
36
[参考] サンドボックス ソリューション
の展開
サイト コレクション管理者が
ソリューション ギャラリーにアップ ロード
_catalog/solutions
37
[参考] サポートされる機能
サンドボックス ソリューション
Web パーツ
リスト定義、リスト インスタンス
コンテンツ タイプ
モジュール
宣言型ワークフロー
SharePoint Designer 2010 で利用するカスタム
ワークフロー アクション
イベント レシーバー
サイト テンプレート
VSTA コードを含む InfoPath Web フォーム
サンドボックス ソリューションの考慮事項
38
http://msdn.microsoft.com/ja-jp/library/ee231562.aspx
サポートされない主な要素
サンドボックス ソリューション
SharePoint ハイブ内へのリソース展開
ビジュアル Web パーツの ascx ファイルやリソースなど
リモート リソースへのアクセス
プログラムによる外部 Web サービス呼び出しやハードド
ライブ上のファイル読み書きなど
Web アプリケーション、ファーム レベルのフィー
チャ
SharePoint API の制限
SPSecurity.RunWithEleveatedPrevilge
カレントユーザーのコンテキストでできることのみ
GAC へのアセンブリ展開
Namespaces and Types in Sandboxed Solutions
39
http://msdn.microsoft.com/en-us/library/ee537860(office.14).aspx
デモ内容
Silverlight を表示するサンドボックス Web パーツ
カスタム Web パーツ
としてサンドボックス
展開する
WCF Data Services
Silverlight アプリケーション
にデータを表示
• サンドボックスでは、外部サービスへのアクセスができない
SharePoint Online では Azure 上のデータとの連携はできない?
クライアント アプリケーション (Silverlight) から呼び出しを実行
• サンドボックスでは SharePoint ハイブにリソース展開できない
xap ファイルはモジュールを利用してサイト内へ展開可能
40
開発ステップ
Silverlight を表示するサンドボックス Web パーツ
Silverlight アプリケーションの
ソリューション内に空の SharePoint
プロジェクトを追加
プロジェクト内にモジュールの追加
xap ファイルをサイト内に展開するため
フィーチャーのスコープは Site
プロジェクトに Web パーツを追加
xap を表示するためのコードを記述
方法: HTML を使用して Web ページに Silverlight を追加する
http://msdn.microsoft.com/ja-jp/library/cc189089(VS.95).aspx
41
サンプルコード
モジュール
<?xml version="1.0" encoding="utf-8"?>
<Elements
xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name=“SalesSLXap” Url=“SiteAssets”
RootWebOnly="TRUE">
<File Url ="SalesSL.xap" Path ="SalesSL.xap"/>
</Module>
</Elements>
• フィーチャーのスコープは Site に
• トップ レベル サイトの [サイトのリソース ファイル]
ライブラリに xap ファイルを展開
42
サンプルコード
Web パーツ内のコーディング
protected override void CreateChildControls()
{
base.CreateChildControls();
SPWeb web = SPContext.Current.Web;
SPSite site = web.Site;
string xapRelPath = SPUrlUtility.CombineUrl(site.Url,
"SiteAssets/SalesSL.xap");
string httpText = @"<div id=""SL"">
<object data=""data:application/x-silverlight-2""
type=“”application/x-silverlight-2“”
width=""500px"" height=""360px"">
<param name=""source"" value=""{0}"" />
</object></div>";
this.Controls.Add(new
LiteralControl(String.Format(httpText, xapRelPath)));
}
43
[参考] SharePoint データ アクセス
Silverlight
WCF Data Service 用クラス ライブラリがあり、
Open Data Protocol (oData) フィードを公開
しているサービスのデータにアクセス可能
SharePoint Server 2010 の新機能
SharePoint データにアクセスする REST サービス
http://サイト URL/_vti_bin/ListData.svc
クライアント オブジェクト モデルのサポート
Silverlight 用ライブラリ
%programfiles%\Common Files\Microsoft
Shared\Web Server
Extensions\14\ISAPI\Microsoft.SharePoint.Client.dll
%programfiles%\Common Files\Microsoft
Shared\Web Server
Extensions\14\ISAPI\Microsoft.SharePoint.Client.Runt
ime.dll
44
[参考] Visual Studio 2010
SharePoint Power Tools
サンドボックスでのビジュアル Web パーツ
開発をサポートするツール
http://visualstudiogallery.msdn.microsoft.co
m/en-us/8e602a8c-6714-4549-9e95f3700344b0d9
45
まとめ
SharePoint 利用時のクラウド活用
オンプレミス or SharePoint Online
それぞれのメリット、機能差により選択
ソリューション開発
Windows Azure との連携
クラウドのメリットを活かしたソリューション開発
サンドボックス ソリューション
オンプレミス、Online 両方で利用できる
ソリューション開発が可能
46
関連セッション
T1-302: 次世代 Microsoft Online Services の最新情報
T1-303: Exchange Server 2010 と次世代 Exchange Online の
共存
T1-304: 次期 Microsoft Online Services の ID およびアクセス
管理~ AD FS 2.0 によるシングル サインオンの実現 1 ~
T1-306: Exchange Server のクラウド対応セキュリティ対策
T1-310: Microsoft Online Services 展開時の実践テクニック
47
リファレンス
Windows Azure Platform 製品情報サイト
http://www.microsoft.com/japan/windowsazure/
Windows Azure 開発サンプル コード集
10 行コードで作る .NET アプリケーション
http://msdn.microsoft.com/ja-jp/windowsazure/ff708720.aspx
SharePoint Server 2010 自習書シリーズ
http://technet.microsoft.com/ja-jp/sharepoint/ff358322.aspx
SharePoint Server 開発 サンプル コード集
10 行コードで作る .NET アプリケーション
http://msdn.microsoft.com/ja-jp/sharepoint/ff710303.aspx
Microsoft SharePoint 製品
http://technet.microsoft.com/ja-jp/sharepoint/ee263917.aspx
48
リファレンス
Microsoft Online Services 製品情報
http://www.microsoft.com/japan/online/default.mspx
Microsoft Online Services 開発者向け情報
http://msdn.microsoft.com/ja-jp/ms.online.aspx
Microsoft Online Services 技術者向け情報 (TechCenter)
http://technet.microsoft.com/ja-jp/msonline/default.aspx
Microsoft Online Services のトライアル サイト
http://www.microsoft.com/japan/online/trial.mspx
Microsoft Online Services の体験サイト (手続きなしで利用可能)
http://www.microsoft.com/japan/online/trial2.mspx
49
リファレンス (Blog など)
Steve Fox‘s OBA Ramblings (Steve Fox 氏の Blog)
http://blogs.msdn.com/b/steve_fox/
松崎 剛 Blog (松崎 剛氏 の Blog)
http://blogs.msdn.com/b/tsmatsuz/
クリエ・イルミネート ブログ (弊社の Blog)
http://crie-illuminate.spaces.live.com/
50
ご清聴ありがとうございました。
T1-403
アンケートにご協力ください。
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.