Más contenido relacionado Tech Ed 2010 Japan T1-403 次世代 SharePoint Online 開発と Windows Azure 連携3. セッションの目的とゴール
Session Objectives and Takeaways
セッションの目的
クラウド時代の SharePoint 2010 の利用と開発
シナリオについてご紹介します
SharePoint Server 2010 と Windows Azure 連携の
可能性
SharePoint Online 2010 における開発の可能性
セッションのゴール
SharePoint Server 2010 と Windows Azure
の連携シナリオをご理解いただく
SharePoint Online 2010 で可能となる
サンドボックス ソリューション開発・展開
についてご理解いただく
3
4. アジェンダ
クラウド時代の SharePoint 2010
SharePoint Server 2010 と
Windows Azure 連携
連携パターンの紹介と構築例
SharePoint Online の利用とカスタマイズ
SharePoint Online での開発
まとめ
4
7. Windows Azure の利用
高いスケーラビリティ
従量課金のメリット
と可用性
ハードウェアを所有 柔軟な運用の実現
しないメリット
クラウド プラットフォームは今後拡大
インターネットを介する利用形態のためすべて
クラウドに置き換えるのがベストではない
クラウドのメリットを活かせるものをクラウド
で利用する
7
8. クラウドとオンプレミスの連携
クラウドかオンプレミスかの選択ではない
クラウド + オンプレミス それぞれを適材適所
で利用すること
SharePoint 2010 の利用・開発も同様
8
9. Microsoft Online Services
電子メール 予定表 プレゼンス インスタント メッセージング
ポータル コラボレーション
音声・ビデオ通話/会議 データ共有会議
ノン リアル タイム コミュニケーション リアル タイム コミュニケーション
Business Productivity Online Suite (BPOS)
9
10. SharePoint Online
現在 SharePoint Server 2007 ベースの
SharePoint Online が提供されている
SharePoint Online 2010 は今後提供予定となっている
10
11. SharePoint Online 2010
クラウド上のサービスとして SharePoint
機能を利用可能
ハードウェア、サーバーライセンス、CAL
は必要なし
SharePoint Server の展開、管理がいらない
ユーザー数などに応じた課金
ブラウザーや Office クライアントから
SharePoint 機能を利用可能
SharePoint Online 2010 は今後提供予定
11
12. SharePoint 2010 利用時の選択肢
オンプレミスでの SharePoint SharePoint
展開 Online Standard Online Dedicated
ハードウェアを用意し、 マイクロソフトのデータ マイクロソフトのデータ
サーバー構築・管理が必要 センターによるホスティング センターによるホスティング
社内 LAN 内の物理マシンに 環境を利用 環境を利用
直接接続 マルチ テナントによる Dedicated ホスティング
サーバー レベルの管理 ホスティング環境を利用 により、ハードウェアを占有
フル カスタマイズが可能 ハードウェアは共有 サーバー管理は必要なし
AD フォレスト内に構築 サーバー管理は必要なし SharePoint Designer による
ユーザー数に応じた SharePoint Designer による カスタマイズが可能
スケール アウトが可能 カスタマイズが可能 部分信頼コード、完全信頼
SharePoint のフル機能を利用 部分信頼コードによる開発 コードによる開発が可能
可能 (Standard/Enterprise が可能 5000 シートからの利用が
CAL で機能差あり) 5 シートからの利用が可能 可能
12
13. SharePoint 2010 利用イメージ
オンプレミスの SharePoint Online
SharePoint Server
利用ユーザー 現場での IT 部門 製品提供や受託開発
・ブラウザー ・サイト管理者 を行う開発者
・Office クライアント (サイトの作りこみや管理を ・Visual Studio による開発
直接サイトへ接続して行う) (成果物は SharePoint へ展開)
ブラウザー
Visio 2010、InfoPath 2010
SharePoint Designer 2010
ポータル機能、文書管理、検索など
SharePoint 標準機能を活用しての利用
他のシステム、データ ソースとの連携など
SharePoint 標準機能 + 開発したソリューションを組み合わせた利用
13
14. クラウド連携の SharePoint 開発
オンプレミスの
SharePoint Server 2010 での開発
Windows Azure や SQL Azure と
連携したソリューション構築
SharePoint Online での開発
SharePoint Online 2010 では
サンドボックスによる開発・展開が可能に
14
16. 開発環境について
SharePoint Windows Azure
Windows Server 2008 SP2, Windows Azure
Windows Server 2008 R2 アカウント
(開発環境は Windows 7 Windows Azure SDK
も可能) Windows Azure Tools for
SharePoint Server 2010 Visual Studio 1.2
Office 2010
Visual Studio 2010
SharePoint Designer 2010 (オプション) Silverlight
Silverlight 4 ランタイム
Visual Studio 2010 用
Microsoft Silverlight 4
Tools
16
17. 連携アプローチ
Windows Azure と SharePoint Server 2010 の連携
Non Code シナリオ
① Windows Azure 上の ASP.NET アプリケーション
を Web パーツ内に表示
② SQL Azure 上のデータを SharePoint で利用
開発シナリオ
③ Azure 上のデータをマッシュアップする
WCF サービスを Azure 上に実装
④ Azure 上のデータに接続する SharePoint 機能を
SharePoint 側に実装する
17
18. 連携アプローチ ① ②
Non Code シナリオ
ページ ビューアー 外部リスト
Web パーツ
• PowerPivot
BCS for Excel
<iframe/> SPD での設定 SSS • PowerPivot
for SharePoint
ASP.NET
既存の Azure 上の ASP.NET Web SQL Azure 上データを SharePoint
アプリケーションを IFRAME で サイト内で利用
SharePoint サイト内に表示 ・Business Connectivity Services
・PowerPivot
18
19. デモシナリオ ①
Azure 上の Web アプリケーションを表示
Web
アプリケーション
Azure 上のデータを利用している
Web アプリケーション
<iframe/>
• Azure 上にある Web アプリケーションを SharePoint サイト内に表示
して利用
(ページ ビューアー Web パーツを利用)
19
20. デモシナリオ ②
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
21. [参考] Business Connectivity Services
データベースなどの外部ソースにあるデータを
SharePoint 上で利用するための機能
SharePoint Server 2007 の ビジネス データ カタログ (BDC) の
進化版 外部リスト
データ ソースの内容を
リストに表示 (編集も可能)
外部列
リスト列の入力時に
参照可能
デザイン ツール
• SharePoint 検索範囲に利用
Designer 2010
• Visual Studio 2010
21
22. [参考] PowerPivot
PowerPivot for Excel PowerPivot for SharePoint
(クライアント) (サーバー サイド)
Excel 2010 のアドイン SharePoint Server 2010 と
• インメモリ上での高速な分析 SQL Server 2008 R2 の連携機能
• Excel の制限である約 100 万行を超え • SharePoint Server 上で
る膨大なデータ セットを PowerPivot ワークブックを共有
メモリにロード、圧縮して • Silverlight による描画
インメモリ上での多次元分析を可能に
22
23. [参考] PowerPivot を利用した
SQL Azure 接続
クラウドとオンプレミスの データ
をマージした分析が可能
SQL Azure、SQL Server、 SQL Azure 上のデータベース
デスクトップ上の Excel データ への接続を標準でサポート
を関連付けしてインメモリ上に
キューブを作成
ピボットテーブルなど Excel
機能を利用した分析
23
24. [参考] Secure Store Service
外部ソースにアクセスする際、アカウント
のマッピングを行う機能
SharePoint Server
SharePoint サイト
にアクセス 外部ソースにアクセス
SQL ログイン ID
Windows 認証 Secure Store Service dbaccess
example¥okuda
アカウントのマッピング情報
(ターゲット アプリケーション)
データ ソース
example ドメインの ID グループ マッピング後の
A グループのメンバー ユーザー情報
Azure example¥ データ ソースに
A グループ アクセスする際に
利用するユーザー
ID とパスワード
• 外部ソースにアクセスする際に、SSS を利用してアカウントのマッピングを行える
• BCS、PowerPivot、Excel Services など外部ソースにアクセスする接続を
作成する際に指定可能
24
25. 連携アプローチ ③ ④
開発シナリオ
SharePoint の Azure に接続する
機能を活用して接続 ための SharePoint
機能を実装
BCS
InfoPath など Web パーツ
Silverlight
BDC モデル
ワークフロー など
WCF サービス
Azure ーー ーー ーー
Azure ーー ーー ーー
Storage
** ** **
Storage
** ** **
** ** **
** ** **
Azure 上のデータをマッシュアップ Azure 上のサービスやデータに
する WCF サービスを Azure 上に つなぐための機能を SharePoint 側
実装する に実装する
25
26. デモシナリオ ③
Azure 上のデータを取得する WCF サービス
キャンペーン 外部リスト
サイト アンケート結果を表示
ーー ーー ーー
** ** **
** ** **
WCF サービス
アンケート結果が テーブル ストレージ内の PerformancePoint
テーブル ストレージに格納 アンケート結果を取得 Services を利用した集計
• Azure 上のデータを取得する機能を WCF サービスとして用意
• SharePoint 側では開発は行わず、標準機能を活用してデータを共有・活用
(SharePoint Server 2010 の標準機能で WCF サービスとの接続が可能)
26
27. デモシナリオ ③ + ④
Azure 上のデータを Silverlight に表示
WCF Data Services
Silverlight アプリケーションにデータを表示
• SQL Azure 上のデータを WCF Data Services で公開
• REST アクセスにより SQL Azure 上のデータを表示する
Silverlight アプリケーションを開発
• SharePoint Server 2010 標準搭載の Silverlight Web パーツを利用
(xap ファイルをライブラリに保存し、パスを指定するだけ)
• Silverlight アプリケーションを表示する Web パーツとして
展開することも可能
27
28. サンプルコード
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
29. サンプルコード
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
30. サンプルコード
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
32. SharePoint Online のカスタマイズ
ブラウザーによる編集
• サイト、リストの作成
• Web パーツや Wiki ページを活用したページ編集
• ページの作成
SharePoint Designer 2010 を利用したカスタマイズ
• マスター ページやページ レイアウト
• ノン コードのワークフロー
Visual Studio 2010 による開発
• サンドボックス ソリューションの展開
• クライアント サイド オブジェクト モデルの利用
32
33. SharePoint 2010
2 種類のソリューション展開方法
ファーム ソリューション
• サーバー レベルでの展開 (サーバーのファイル システム上に展開)
• SharePoint 2007 と同様
サンドボックス ソリューション
• サイト コレクション レベルでの展開 (ソリューション ギャラリーに展開)
• SharePoint 2010 からの新機能
SharePoint Online への展開が可能
33
34. サンドボックス ソリューション
ユーザー部門によるカスタム ソリューションの
展開を可能にするしくみ
サイト コレクション単位での展開が可能
SharePoint Online 2010 での展開が可能
サーバー サイド ソリューションのサブセット
すべての機能が利用できるわけではない
サンドボックス内 (部分信頼) でのコード実行
特定のサービス プロセス内での実行
34
38. [参考] サポートされる機能
サンドボックス ソリューション
Web パーツ
リスト定義、リスト インスタンス
コンテンツ タイプ
モジュール
宣言型ワークフロー
SharePoint Designer 2010 で利用するカスタム
ワークフロー アクション
イベント レシーバー
サイト テンプレート
VSTA コードを含む InfoPath Web フォーム
サンドボックス ソリューションの考慮事項
38 http://msdn.microsoft.com/ja-jp/library/ee231562.aspx
39. サポートされない主な要素
サンドボックス ソリューション
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
40. デモ内容
Silverlight を表示するサンドボックス Web パーツ
カスタム Web パーツ
としてサンドボックス
展開する
WCF Data Services Silverlight アプリケーション
にデータを表示
• サンドボックスでは、外部サービスへのアクセスができない
SharePoint Online では Azure 上のデータとの連携はできない?
クライアント アプリケーション (Silverlight) から呼び出しを実行
• サンドボックスでは SharePoint ハイブにリソース展開できない
xap ファイルはモジュールを利用してサイト内へ展開可能
40
41. 開発ステップ
Silverlight を表示するサンドボックス Web パーツ
Silverlight アプリケーションの
ソリューション内に空の SharePoint
プロジェクトを追加
プロジェクト内にモジュールの追加
xap ファイルをサイト内に展開するため
フィーチャーのスコープは Site
プロジェクトに Web パーツを追加
xap を表示するためのコードを記述
方法: HTML を使用して Web ページに Silverlight を追加する
http://msdn.microsoft.com/ja-jp/library/cc189089(VS.95).aspx
41
43. サンプルコード
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
44. [参考] 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
45. [参考] Visual Studio 2010
SharePoint Power Tools
サンドボックスでのビジュアル Web パーツ
開発をサポートするツール
http://visualstudiogallery.msdn.microsoft.co
m/en-us/8e602a8c-6714-4549-9e95-
f3700344b0d9
45
46. まとめ
SharePoint 利用時のクラウド活用
オンプレミス or SharePoint Online
それぞれのメリット、機能差により選択
ソリューション開発
Windows Azure との連携
クラウドのメリットを活かしたソリューション開発
サンドボックス ソリューション
オンプレミス、Online 両方で利用できる
ソリューション開発が可能
46
47. 関連セッション
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
48. リファレンス
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
49. リファレンス
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
50. リファレンス (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
52. © 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.