SharePoint を使ったクラウドアプリ
~ 3 つのパターン ~
1. Windows Azure による B to B 連携
o Windows Azure Service Bus / Windows Azure
Connect
2. Office 365 上で動作するアプリケーション
(サンドボックス アプリケーション)
3. Office 365 SharePoint Online への
リモート接続
① Windows Azure による
B to B 連携
• Windows Azure Service Bus
– ポイント間
– オンプレミス – クラウド間の、疑似的な双方向連
携の実現基盤 (Outbound port のみを使用)
– Queue パターン, Pub/Sub パターンなど、豊富なシ
ナリオに対応
– Azure 用の BizTalk Adapter
• Windows Azure Connect
– マシン間
– 内部で、Service Bus の relay を使用
① 典型的な構成例
Windows Azure Service Bus
連携用のアプリ 連携用のアプリ
(サービス など) (サービス など)
② サンドボックス アーキテク
チャ
Client Web Front End Host Server
(Browser)
IIS Worker Process
(w3wp.exe)
Execution Manager Host Services
(Inside AppPool) (SPUCHostService.exe)
Worker Services
使用可能な API の制限 (SPUCWorkerProcess.exe)
Untrusted Code
外部リソースへのアクセス制限 (User Code)
リソースクォータ (実行時間など)
OM Subset Proxy
Microsoft.SharePoint.dll
② サンドボックス アーキテク
チャ
Client Web Front End Host Server
(Browser)
IIS Worker Process
(w3wp.exe)
代替策 Execution Manager Host Services
(Inside AppPool) (SPUCHostService.exe)
JavaScript
Worker Services
(SPUCWorkerProcess.exe)
Untrusted Code
(User Code)
サンドボックスの外 !
• 通常のクライアントアクセスと同等 OM Subset Proxy
の扱い
• SharePoint 2010 以降で使用可能
• ほとんどの SharePoint 標準操作と対 Microsoft.SharePoint.dll
話可能
② その他のワークアラウンド
(How-To)
• ネットワーク接続
– JSONP の活用
• ただし、使い方に注意 !
– 後述するバッチ連携 シナリオとの併用
• Server OM と比べるとやはり制限有
• ただし、O365 側からのリアルタイム連携 (逆方向) は不
可
• ASP.NET のコード ビハインド
– サンドボックス用 Web パーツにまとめて、
ASP.NET ページに張り付けることができる
• ファイル アップロード など (API 制限)
– OOB 画面の呼び出し