SlideShare une entreprise Scribd logo
1  sur  18
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で
ご清聴ありがとうございました
ご質問等ございましたら、のちほどお声かけください。

Contenu connexe

Tendances

第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編ksimoji
 
[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...
[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...
[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...Naoki (Neo) SATO
 
20131210 classmethod re:Growth session04
20131210 classmethod re:Growth session0420131210 classmethod re:Growth session04
20131210 classmethod re:Growth session04Kazuki Ueki
 
2013.12.10 Classmethod re:Grwoth
2013.12.10 Classmethod re:Grwoth2013.12.10 Classmethod re:Grwoth
2013.12.10 Classmethod re:Grwothshinyaa31
 
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性de:code 2017
 
TeamPageとSharePointの特色比較
TeamPageとSharePointの特色比較TeamPageとSharePointの特色比較
TeamPageとSharePointの特色比較Takashi Okutsu
 
サーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンドサーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンドTsukasa Kato
 
Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Osamu Monoe
 
Vsug20100522
Vsug20100522Vsug20100522
Vsug20100522hr_sao
 
データローダについてちょっと詳しくなる
データローダについてちょっと詳しくなるデータローダについてちょっと詳しくなる
データローダについてちょっと詳しくなるJunko Nakayama
 
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~decode2016
 

Tendances (12)

第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編
 
[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...
[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...
[オープンソースカンファレンス2017 Hokkaido] Azureのグローバル分散NoSQLデータベース サービス「Azure Cosmos DB」を...
 
20131210 classmethod re:Growth session04
20131210 classmethod re:Growth session0420131210 classmethod re:Growth session04
20131210 classmethod re:Growth session04
 
SQLWorld★大阪#8
SQLWorld★大阪#8SQLWorld★大阪#8
SQLWorld★大阪#8
 
2013.12.10 Classmethod re:Grwoth
2013.12.10 Classmethod re:Grwoth2013.12.10 Classmethod re:Grwoth
2013.12.10 Classmethod re:Grwoth
 
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
 
TeamPageとSharePointの特色比較
TeamPageとSharePointの特色比較TeamPageとSharePointの特色比較
TeamPageとSharePointの特色比較
 
サーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンドサーバーレスアーキテクチャで作るモバイルバックエンド
サーバーレスアーキテクチャで作るモバイルバックエンド
 
Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門
 
Vsug20100522
Vsug20100522Vsug20100522
Vsug20100522
 
データローダについてちょっと詳しくなる
データローダについてちょっと詳しくなるデータローダについてちょっと詳しくなる
データローダについてちょっと詳しくなる
 
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
PRD-009_クラウドの ERP による業務システム開発 ~OData エンド ポイントから Power BI 連携~
 

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

Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSAmazon Web Services Japan
 
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライトハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライトGoAzure
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説kumo2010
 
Java/Android開発者のためのWindows Azure入門 (パート2)
Java/Android開発者のためのWindows Azure入門 (パート2)Java/Android開発者のためのWindows Azure入門 (パート2)
Java/Android開発者のためのWindows Azure入門 (パート2)Naoki (Neo) SATO
 
Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版junichi anno
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデートAkira Inoue
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Osamu Monoe
 
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Daisuke Masubuchi
 
SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発Tusyoshi Matsuzaki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~Akira Inoue
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた日本マイクロソフト株式会社
 
Microsoftのクラウド戦略
Microsoftのクラウド戦略Microsoftのクラウド戦略
Microsoftのクラウド戦略FITEA
 
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめAkira Inoue
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft AzureYoshio Terada
 

Similaire à Apps for office オンプレミスとクラウド (20)

Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWS
 
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライトハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
 
Java/Android開発者のためのWindows Azure入門 (パート2)
Java/Android開発者のためのWindows Azure入門 (パート2)Java/Android開発者のためのWindows Azure入門 (パート2)
Java/Android開発者のためのWindows Azure入門 (パート2)
 
Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート.NET の過去、現在、そして未来 ~ .NET 最新アップデート
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
 
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~ Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~
 
20090328
2009032820090328
20090328
 
SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
 
Microsoftのクラウド戦略
Microsoftのクラウド戦略Microsoftのクラウド戦略
Microsoftのクラウド戦略
 
Forguncy 4 製品概要資料
Forguncy 4 製品概要資料Forguncy 4 製品概要資料
Forguncy 4 製品概要資料
 
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめWebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
 

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で