セッション 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.
© Copyright 2024 ExpyDoc