狠狠撸

狠狠撸Share a Scribd company logo
APPS FOR OFFICEの開発と配布
  オンプレミスとクラウド
     株式会社マジックチューブ
      システムアーキテクト
         渡辺博理
自己紹介
?   渡辺 博理(わたなべ ひろただ)
?   株式会社マジックチューブ
?   開発(主にPM)
?   社内のO365管理者
はじめに
?   Apps for OfficeはExcelなどOffice製品上で動くWebアプリケーション
?   Webアプリケーションの配布にはWebサーバが必要
?   Apps for Officeを組み込んだOfficeファイル自体はこれまでと同様の配布
    (メール添付、ファイルサーバ、SharePointなどオンラインストレージ)


             ファイルとして配布できる利便性はそのままに
    ExcelなどOffice製品がWebアプリケーションのインターフェイスとなる
     例:書式の整ったExcelブック上に帳票データを直接Webから適用する
はじめに
その反面…
?    Officeファイルは気軽に転送できる
?    インターネットにつながっていなくても編集できる
?    パスワードを掛けなければ誰でも編集できる


        Apps for Office を介して入出力するデータへのアクセス制御を
                  Webアプリケーション側で行う必要がある
    企業内での配布とSaaSのような一般向けサービスの配布ではポリシが異なる
              アプリケーションの設計は慎重に!
目的
?   Apps for Officeをサービスとして配布するまでの構成概要を理解する
?   オンプレミスのIIS+SQL Serverの開発と
    Windows Azureを使ったサービス開発の差異を理解する


デモ
?   Apps for Officeを介しWebサービスから取得した請求情報を
    Excelブック上にダウンロードし帳票印刷を行う
?   詳細な開発手順は別の機会に!(もしくはあとで)
目次
?   Apps for Office の構成概要
?   企業内ネットワークへの配備構成(Windows Server)
?   クラウドへの配備(Windows Azure)
?   企業内ネットワークとクラウドの違いによる
     ?   アプリケーションの違い
     ?   开発の违い
?   開発手順
     ?   調達
     ?   開発
     ?   デプロイ
?   デモ
?   まとめ
APPS FOR OFFICEの構成概要
Excel 2013(例)               Webサーバ
 スプレッドシート                   Apps for Office
                            アプリケーション
 データ
                            (HTML, JavaScriptコンテンツ)


  Apps for Office           Web API (REST)
  アプリケーション                   JSON, XML on HTTP
  (HTML, JavaScriptコンテンツ)
                                                          DB

 Office用ランタイム                                         ※バックヤード
                                                       システムのDBも可
企業内ネットワークへの配備構成
WINDOWS SERVER

     IIS (Windows Server)
      Apps for Office
      アプリケーション
      (HTML, JavaScriptコンテンツ)


      ASP.NET Web API

                                SQL Server
クラウドへの配備構成
WINDOWS AZURE WEB SITES

     Azure Web Sites(例)
      Apps for Office
      アプリケーション
      (HTML, JavaScriptコンテンツ)


      ASP.NET Web API

                                SQL Database
企業内ネットワークとクラウドの違いによる
アプリケーションの違い
            オンプレミス配布               クラウド配布
想定利用シナリオ    自社システムの一部としてApps for   自社システムとして持たず、SaaSとしてApps
            Officeを利用する            for Officeを利用する

流通形態        オンプレミスのファイルサー          Microsoft社のマーケットやOfficeファイ
            バ?コラボレーションウェアか         ルにアプリを保存した状態でWebサー
            ら配布                    バからダウンロード
オンライン動作     企業内ネットワーク内でOffice      インターネットに接続できればどこか
            ファイルを開いた時のみにすべ         らでも接続可能であるほうがいい
            き
他社への配布と認証   自社ネットワーク外では動作し         どこからでも呼べてしまうためアプリ
            ないようにすべき(認証に失敗         ケーションは認証ベースであるべき
            か、APIが呼べない)
开発の违い
                  オンプレミス                 Windows Azure
Web               ASP.NET                ASP.NET
                  ASP.NET MVC            ASP.NET MVC
API(JSON/XML)     ASP.NET Web API        ASP.NET Web API
データベース            SQL Server             SQL Database
セッションの構成          単独のIISインスタンスならばインプロ    Web Sitesの場合はSQL Databaseでセッ
                  セスセッション(オンメモリ)         ションを構成
                  スケールした構成ならばアウトプロセ      Web Roleの場合はAzure Cachingで分散共
                  スセッション(SQL Serverなど)   有オンメモリセッションを構成可能


Windows Azure の SQL Database はハイスペックな SQL Serverである。
セッションの構成は、インストールするモジュールとWeb.configの違い。

つまり、オンプレミスもAzureも、同じ開発モデルである。
VisualStudioからのデプロイ先をオンプレミスかAzureを選択するだけ。
開発手順
プラットフォームの調達

                   オンプレミス                         クラウド
1. インフラの準備         1. マシンの購入                      1. Windows Azureアカウントの契約
                   2. ラッキング?ネットワーク機器の設定
2. SQL Serverの構成   1. Windows Serverのインストール?役割と   1. SQL Databaseの作成
                      機能の設定
                   2. SQL Serverのインストール?設定
3. IISの構成          1. Windows Serverのインストールと設定    1. Web Sitesの作成
                   2. IISのインストールと設定(役割と機能)
開発手順
モデルファーストでの開発

                            オンプレミス                            クラウド
4. VisualStudio プロジェクトの作成   1. ASP.NET MVC 4 アプリケーションとして作成

5. データモデルの作成                1. データベースへテーブルを作成
                            2. ADO.NET Entity Data Modelを作成



6. Web APIの作成               1. API コントローラーを作成



                            2. コードを作成
開発手順
デプロイ

             オンプレミス                    クラウド
1. デプロイの構成   1. IIS にアプリケーションプールおよびサ   1. Web Sitesのダッシュボードより
                イトを作成する                   「発行プロファイル」をダウンロード
                                       2. VisualStudioの発行プロファイルの構成ダイ
                                          アログでインポート
2. デプロイ      1. ビルド                    1. ビルド
             2. サイトとして参照中のディレクトリへ      2. 「発行」よりデプロイの構成(Azure Web
                コピー                       Sites)へ発行
             3. アプリケーションの再起動


インフラの調達及びデプロイにおいて違いがあるが、
開発モデルおよびコードは同一である。
デモ
?   Excelブックで作成された「請求書」
?   Webアプリケーション側に保持された請求データをApps for Officeを介して
    Excelブックに読み込む


?   WebアプリケーションはAzure Web Sites上に配備されている
    ? APIを提供する
    ? データ確認のためHTMLページも実装
デモアプリの配備全体像
請求書EXCELブック


                     Azure Web Sites x1

   Excelブック       請求情報API
   (Apps埋め込み済み)   請求情報Apps(HTML, JS)


                     SQL Database x1

                      請求情報
まとめ
?   データへのアクセスポリシをWebアプリケーションでコントロールすると
    いうのはApps for Officeにおいても必要な概念である
?   IIS+SQL Serverという構成はAzure上でも構成できる
    しかも非常にお手軽なWeb Sitesで
ご清聴ありがとうございました
ご質問等ございましたら、のちほどお声かけください。

More Related Content

Apps for office オンプレミスとクラウド

  • 1. APPS FOR OFFICEの開発と配布 オンプレミスとクラウド 株式会社マジックチューブ システムアーキテクト 渡辺博理
  • 2. 自己紹介 ? 渡辺 博理(わたなべ ひろただ) ? 株式会社マジックチューブ ? 開発(主にPM) ? 社内のO365管理者
  • 3. はじめに ? Apps for OfficeはExcelなどOffice製品上で動くWebアプリケーション ? Webアプリケーションの配布にはWebサーバが必要 ? Apps for Officeを組み込んだOfficeファイル自体はこれまでと同様の配布 (メール添付、ファイルサーバ、SharePointなどオンラインストレージ) ファイルとして配布できる利便性はそのままに ExcelなどOffice製品がWebアプリケーションのインターフェイスとなる 例:書式の整ったExcelブック上に帳票データを直接Webから適用する
  • 4. はじめに その反面… ? Officeファイルは気軽に転送できる ? インターネットにつながっていなくても編集できる ? パスワードを掛けなければ誰でも編集できる Apps for Office を介して入出力するデータへのアクセス制御を Webアプリケーション側で行う必要がある 企業内での配布とSaaSのような一般向けサービスの配布ではポリシが異なる アプリケーションの設計は慎重に!
  • 5. 目的 ? Apps for Officeをサービスとして配布するまでの構成概要を理解する ? オンプレミスのIIS+SQL Serverの開発と Windows Azureを使ったサービス開発の差異を理解する デモ ? Apps for Officeを介しWebサービスから取得した請求情報を Excelブック上にダウンロードし帳票印刷を行う ? 詳細な開発手順は別の機会に!(もしくはあとで)
  • 6. 目次 ? Apps for Office の構成概要 ? 企業内ネットワークへの配備構成(Windows Server) ? クラウドへの配備(Windows Azure) ? 企業内ネットワークとクラウドの違いによる ? アプリケーションの違い ? 开発の违い ? 開発手順 ? 調達 ? 開発 ? デプロイ ? デモ ? まとめ
  • 7. APPS FOR OFFICEの構成概要 Excel 2013(例) Webサーバ スプレッドシート Apps for Office アプリケーション データ (HTML, JavaScriptコンテンツ) Apps for Office Web API (REST) アプリケーション JSON, XML on HTTP (HTML, JavaScriptコンテンツ) DB Office用ランタイム ※バックヤード システムのDBも可
  • 8. 企業内ネットワークへの配備構成 WINDOWS SERVER IIS (Windows Server) Apps for Office アプリケーション (HTML, JavaScriptコンテンツ) ASP.NET Web API SQL Server
  • 9. クラウドへの配備構成 WINDOWS AZURE WEB SITES Azure Web Sites(例) Apps for Office アプリケーション (HTML, JavaScriptコンテンツ) ASP.NET Web API SQL Database
  • 10. 企業内ネットワークとクラウドの違いによる アプリケーションの違い オンプレミス配布 クラウド配布 想定利用シナリオ 自社システムの一部としてApps for 自社システムとして持たず、SaaSとしてApps Officeを利用する for Officeを利用する 流通形態 オンプレミスのファイルサー Microsoft社のマーケットやOfficeファイ バ?コラボレーションウェアか ルにアプリを保存した状態でWebサー ら配布 バからダウンロード オンライン動作 企業内ネットワーク内でOffice インターネットに接続できればどこか ファイルを開いた時のみにすべ らでも接続可能であるほうがいい き 他社への配布と認証 自社ネットワーク外では動作し どこからでも呼べてしまうためアプリ ないようにすべき(認証に失敗 ケーションは認証ベースであるべき か、APIが呼べない)
  • 11. 开発の违い オンプレミス Windows Azure Web ASP.NET ASP.NET ASP.NET MVC ASP.NET MVC API(JSON/XML) ASP.NET Web API ASP.NET Web API データベース SQL Server SQL Database セッションの構成 単独のIISインスタンスならばインプロ Web Sitesの場合はSQL Databaseでセッ セスセッション(オンメモリ) ションを構成 スケールした構成ならばアウトプロセ Web Roleの場合はAzure Cachingで分散共 スセッション(SQL Serverなど) 有オンメモリセッションを構成可能 Windows Azure の SQL Database はハイスペックな SQL Serverである。 セッションの構成は、インストールするモジュールとWeb.configの違い。 つまり、オンプレミスもAzureも、同じ開発モデルである。 VisualStudioからのデプロイ先をオンプレミスかAzureを選択するだけ。
  • 12. 開発手順 プラットフォームの調達 オンプレミス クラウド 1. インフラの準備 1. マシンの購入 1. Windows Azureアカウントの契約 2. ラッキング?ネットワーク機器の設定 2. SQL Serverの構成 1. Windows Serverのインストール?役割と 1. SQL Databaseの作成 機能の設定 2. SQL Serverのインストール?設定 3. IISの構成 1. Windows Serverのインストールと設定 1. Web Sitesの作成 2. IISのインストールと設定(役割と機能)
  • 13. 開発手順 モデルファーストでの開発 オンプレミス クラウド 4. VisualStudio プロジェクトの作成 1. ASP.NET MVC 4 アプリケーションとして作成 5. データモデルの作成 1. データベースへテーブルを作成 2. ADO.NET Entity Data Modelを作成 6. Web APIの作成 1. API コントローラーを作成 2. コードを作成
  • 14. 開発手順 デプロイ オンプレミス クラウド 1. デプロイの構成 1. IIS にアプリケーションプールおよびサ 1. Web Sitesのダッシュボードより イトを作成する 「発行プロファイル」をダウンロード 2. VisualStudioの発行プロファイルの構成ダイ アログでインポート 2. デプロイ 1. ビルド 1. ビルド 2. サイトとして参照中のディレクトリへ 2. 「発行」よりデプロイの構成(Azure Web コピー Sites)へ発行 3. アプリケーションの再起動 インフラの調達及びデプロイにおいて違いがあるが、 開発モデルおよびコードは同一である。
  • 15. デモ ? Excelブックで作成された「請求書」 ? Webアプリケーション側に保持された請求データをApps for Officeを介して Excelブックに読み込む ? WebアプリケーションはAzure Web Sites上に配備されている ? APIを提供する ? データ確認のためHTMLページも実装
  • 16. デモアプリの配備全体像 請求書EXCELブック Azure Web Sites x1 Excelブック 請求情報API (Apps埋め込み済み) 請求情報Apps(HTML, JS) SQL Database x1 請求情報
  • 17. まとめ ? データへのアクセスポリシをWebアプリケーションでコントロールすると いうのはApps for Officeにおいても必要な概念である ? IIS+SQL Serverという構成はAzure上でも構成できる しかも非常にお手軽なWeb Sitesで