SlideShare une entreprise Scribd logo
1  sur  16
Office / SharePoint を活用した
クラウド アプリケーション開
               発
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




連携用のアプリ                       連携用のアプリ
(サービス など)                     (サービス など)
① 注意すべき点
• 何某かのアプリケーション (サービスなど) をイン
  ストールする必要がある
 – 加えて、接続先の管理なども必要
• マルチテナント、認証なども、開発者自身が設計
  する必要がある
• “SharePoint UI自体” を外に公開するものではない
 – こうしたシナリオでは、Office 365 または、Hoster に
   よる SharePoint Hosting が必要
• いわゆる “同期” (Sync) のための基盤ではない
 – Offline シナリオへの対応、Consistency Management な
   どが必要
② Office 365 で動作する
         アプリケーション
• サンドボックス ソリューションによる配置
  (Office 365, SharePoint 2010 から使用可能)
• Office 365 SharePoint Online 上で動作
• オンプレミスにおいても、簡易配布ソリュー
  ションとして提供可能
• Game Changes &
      今後のメインストリーム …
  – 提供方式
  – アプリケーション開発スタイル (後述)
• Dynamics CRM 2011 List Component, など
② 現状の問題点
• 数多くの制限事項
 – 使用可能なソリューションの制限
 – ローカル リソース / ネットワーク アクセスの
   制限
 – 使用可能な API の制限
 – リソース クォーター制限


推奨プログラミング スタイルは、HTML / JavaScript
② サンドボックス アーキテク
        チャ
  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 画面の呼び出し
③ O365 SPO へのリモート接続
• いわゆる SharePoint SOAP、SharePoint
  Client OM、SharePoint REST などへのリモー
  ト接続
• In-Place 形態ではなく、リモート接続方式
• ① と同様の制限
 – 何らかの開発アプリケーションが必要
 – 同期 (Sync) の基盤はなし (作り込み要)
• ただし、認証が “ひとずじなわ” には行か
  ない
③ O365 SPO の認証基盤と
認証の流れ (WS-Trust / WS-Federation)
     ② リダイレクト
            ③ 認証要求
            (ID / パスワード)     Microsoft Federation Gateway
                             (MFG)
       ④ セキュリティ情報 (SAML)
               + 認証 Cookie

             ① 接続


     ⑤ リダイレクト (SAML送信)


     ⑥ 認証 Cookie
                             Office 365
                             SharePoint Online
③ O365 SPO の認証基盤と
認証の流れ (WS-Trust / WS-Federation)
つまり、こんな感
じ . . .
                    Microsoft Federation Gateway
                    (MFG)




                    Office 365
                    SharePoint Online
③ O365 SPO の認証基盤と
認証の流れ (WS-Trust / WS-Federation)
ここに、AD FS が入ると、こんな感じ . . .

                                       Microsoft Federation Gateway
                                       (MFG)




                                       Office 365
                                       SharePoint Online




Active Directory Federation Services
(ADFS)
③ Passive Auth
• この方法では、「ブラウザー」が前提
• ブラウザーと同じことをプログラムでおこな
  うことは、事実 “不可能” に近い
 – Location、Cookie などのヘッダー処理
 – フォームの処理
 – JavaScript の実行    など
• 利用者にログイン画面をいったん表示する必
  要がある
 – Windows Phone、Office 製品などは、この方式を
   採用
• つまり、バックエンド プログラムでの接続
  は不可
③ Active Auth
• Passive Auth の課題を解決した接続方法
• プログラムなどから能動的に SAML
  Assertion を取りに行く認証スタイル
• 一般に、WS-Trust を使用
 – 実装しているかどうかは STS 依存
 – MFG、ADFS 共に、実装
• いくつかの注意点
 – SSO の対象とはならない
 – ADFS などの配置方法を認識しておく必要あり

Contenu connexe

Tendances

SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介Tadahiro Higuchi
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvsTomoyuki Iwade
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介david9142
 
第1回 CMS Fun Nagoya - Movable Typeの紹介-
第1回 CMS  Fun Nagoya - Movable Typeの紹介-第1回 CMS  Fun Nagoya - Movable Typeの紹介-
第1回 CMS Fun Nagoya - Movable Typeの紹介-新一 佐藤
 
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由Masashi Hisatsugu
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Akira Inoue
 
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョンWeb アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョンAkira Inoue
 
Tokyo User Conference Jp User
Tokyo User Conference Jp UserTokyo User Conference Jp User
Tokyo User Conference Jp UserFatWireKK
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術Sho Okada
 
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめAkira Inoue
 
第一回スライド
第一回スライド第一回スライド
第一回スライド洋介 池田
 

Tendances (16)

Lt 20120901
Lt 20120901Lt 20120901
Lt 20120901
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvs
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
第1回 CMS Fun Nagoya - Movable Typeの紹介-
第1回 CMS  Fun Nagoya - Movable Typeの紹介-第1回 CMS  Fun Nagoya - Movable Typeの紹介-
第1回 CMS Fun Nagoya - Movable Typeの紹介-
 
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョンWeb アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
Web アプリケーション パターンと .NET - CLR/H 88 回 ~雪まつりデイ!~ バージョン
 
Tokyo User Conference Jp User
Tokyo User Conference Jp UserTokyo User Conference Jp User
Tokyo User Conference Jp User
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
 
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
 
第一回スライド
第一回スライド第一回スライド
第一回スライド
 
Web Intents入門
Web Intents入門Web Intents入門
Web Intents入門
 

Similaire à SharePoint 2010 を使ったクラウドアプリ開発

Apps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドApps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドHirotada Watanabe
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説kumo2010
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践真吾 吉田
 
SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携Atsuo Yamasaki
 
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows AzureKeiichi Hashimoto
 
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Daisuke Masubuchi
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践de:code 2017
 
Ultimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPS
Ultimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPSUltimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPS
Ultimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPSMichael Noel
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
20180929 lowcode developlogicflow
20180929 lowcode developlogicflow20180929 lowcode developlogicflow
20180929 lowcode developlogicflowTomoyuki Obi
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンKazuyuki Miyake
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようmizusawa
 

Similaire à SharePoint 2010 を使ったクラウドアプリ開発 (20)

BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
Apps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドApps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウド
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携
 
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
 
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 
Ultimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPS
Ultimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPSUltimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPS
Ultimate SharePoint Infrastructure Best Practices - Japanese Version - #JPSPS
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
20180929 lowcode developlogicflow
20180929 lowcode developlogicflow20180929 lowcode developlogicflow
20180929 lowcode developlogicflow
 
SQLWorld★大阪#8
SQLWorld★大阪#8SQLWorld★大阪#8
SQLWorld★大阪#8
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
XDev2010 WindowsAzure
XDev2010 WindowsAzureXDev2010 WindowsAzure
XDev2010 WindowsAzure
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
 

Plus de Tusyoshi Matsuzaki

Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)Tusyoshi Matsuzaki
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Tusyoshi Matsuzaki
 
クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)
クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)
クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)Tusyoshi Matsuzaki
 
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE).NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)Tusyoshi Matsuzaki
 
アイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 Tsmatsuzアイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 TsmatsuzTusyoshi Matsuzaki
 

Plus de Tusyoshi Matsuzaki (6)

Apache Spark on Azure
Apache Spark on AzureApache Spark on Azure
Apache Spark on Azure
 
Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)Minecraft による強化学習の実践 (MineRL)
Minecraft による強化学習の実践 (MineRL)
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理
 
クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)
クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)
クラウドの潮流と Windows Azure の位置づけ (エフスタ Tokyo 資料)
 
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE).NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
 
アイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 Tsmatsuzアイデンティティ プロバイダーとの連携手法 Tsmatsuz
アイデンティティ プロバイダーとの連携手法 Tsmatsuz
 

SharePoint 2010 を使ったクラウドアプリ開発

  • 1. Office / SharePoint を活用した クラウド アプリケーション開 発
  • 2. SharePoint を使ったクラウドアプリ ~ 3 つのパターン ~ 1. Windows Azure による B to B 連携 o Windows Azure Service Bus / Windows Azure Connect 2. Office 365 上で動作するアプリケーション (サンドボックス アプリケーション) 3. Office 365 SharePoint Online への リモート接続
  • 3. ① Windows Azure による B to B 連携 • Windows Azure Service Bus – ポイント間 – オンプレミス – クラウド間の、疑似的な双方向連 携の実現基盤 (Outbound port のみを使用) – Queue パターン, Pub/Sub パターンなど、豊富なシ ナリオに対応 – Azure 用の BizTalk Adapter • Windows Azure Connect – マシン間 – 内部で、Service Bus の relay を使用
  • 4. ① 典型的な構成例 Windows Azure Service Bus 連携用のアプリ 連携用のアプリ (サービス など) (サービス など)
  • 5. ① 注意すべき点 • 何某かのアプリケーション (サービスなど) をイン ストールする必要がある – 加えて、接続先の管理なども必要 • マルチテナント、認証なども、開発者自身が設計 する必要がある • “SharePoint UI自体” を外に公開するものではない – こうしたシナリオでは、Office 365 または、Hoster に よる SharePoint Hosting が必要 • いわゆる “同期” (Sync) のための基盤ではない – Offline シナリオへの対応、Consistency Management な どが必要
  • 6. ② Office 365 で動作する アプリケーション • サンドボックス ソリューションによる配置 (Office 365, SharePoint 2010 から使用可能) • Office 365 SharePoint Online 上で動作 • オンプレミスにおいても、簡易配布ソリュー ションとして提供可能 • Game Changes & 今後のメインストリーム … – 提供方式 – アプリケーション開発スタイル (後述) • Dynamics CRM 2011 List Component, など
  • 7. ② 現状の問題点 • 数多くの制限事項 – 使用可能なソリューションの制限 – ローカル リソース / ネットワーク アクセスの 制限 – 使用可能な API の制限 – リソース クォーター制限 推奨プログラミング スタイルは、HTML / JavaScript
  • 8. ② サンドボックス アーキテク チャ 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
  • 9. ② サンドボックス アーキテク チャ 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 話可能
  • 10. ② その他のワークアラウンド (How-To) • ネットワーク接続 – JSONP の活用 • ただし、使い方に注意 ! – 後述するバッチ連携 シナリオとの併用 • Server OM と比べるとやはり制限有 • ただし、O365 側からのリアルタイム連携 (逆方向) は不 可 • ASP.NET のコード ビハインド – サンドボックス用 Web パーツにまとめて、 ASP.NET ページに張り付けることができる • ファイル アップロード など (API 制限) – OOB 画面の呼び出し
  • 11. ③ O365 SPO へのリモート接続 • いわゆる SharePoint SOAP、SharePoint Client OM、SharePoint REST などへのリモー ト接続 • In-Place 形態ではなく、リモート接続方式 • ① と同様の制限 – 何らかの開発アプリケーションが必要 – 同期 (Sync) の基盤はなし (作り込み要) • ただし、認証が “ひとずじなわ” には行か ない
  • 12. ③ O365 SPO の認証基盤と 認証の流れ (WS-Trust / WS-Federation) ② リダイレクト ③ 認証要求 (ID / パスワード) Microsoft Federation Gateway (MFG) ④ セキュリティ情報 (SAML) + 認証 Cookie ① 接続 ⑤ リダイレクト (SAML送信) ⑥ 認証 Cookie Office 365 SharePoint Online
  • 13. ③ O365 SPO の認証基盤と 認証の流れ (WS-Trust / WS-Federation) つまり、こんな感 じ . . . Microsoft Federation Gateway (MFG) Office 365 SharePoint Online
  • 14. ③ O365 SPO の認証基盤と 認証の流れ (WS-Trust / WS-Federation) ここに、AD FS が入ると、こんな感じ . . . Microsoft Federation Gateway (MFG) Office 365 SharePoint Online Active Directory Federation Services (ADFS)
  • 15. ③ Passive Auth • この方法では、「ブラウザー」が前提 • ブラウザーと同じことをプログラムでおこな うことは、事実 “不可能” に近い – Location、Cookie などのヘッダー処理 – フォームの処理 – JavaScript の実行 など • 利用者にログイン画面をいったん表示する必 要がある – Windows Phone、Office 製品などは、この方式を 採用 • つまり、バックエンド プログラムでの接続 は不可
  • 16. ③ Active Auth • Passive Auth の課題を解決した接続方法 • プログラムなどから能動的に SAML Assertion を取りに行く認証スタイル • 一般に、WS-Trust を使用 – 実装しているかどうかは STS 依存 – MFG、ADFS 共に、実装 • いくつかの注意点 – SSO の対象とはならない – ADFS などの配置方法を認識しておく必要あり