2,521 views(since 2013/10/08)

Office用アプリをWindows Azure に配置する方法 1(Azure Web ロール編)

Office用アプリをWindows Azure に配置する方法(Apps for Office)

  1. Office用アプリをWindows Azure に配置する方法 1(Azure Web ロール編)
  2. Office用アプリをWindows Azure に配置する方法 2(SSL編)
  3. Office用アプリをWindows Azure に配置する方法 3(Office Web Apps編)
  4. Office用アプリをWindows Azure に配置する方法 4(SQL Azure編)
  5. Office用アプリをWindows Azure に配置する方法 5(IIS, ASP セッション管理)
  6. Office用アプリをWindows Azure に配置する方法 6(データベースバックアップ)

今回の課題

 Office用アプリ(Apps for Office)をWindows Azure に配置する方法を実践してみます。

Office用アプリはWebサーバは、WebサーバならApacheであろうと、IISだろうとなんでもOKです。

今回はCloud(クラウド)のWindows Azureに配置してみます。

※もちろんAWSでも、クラウドでない、WebホスティングサービスでもなんでもOKです。

Azure_AppsForOffice_010

次回以降の課題

  1. Azure WebロールのIISのセッション管理の実装をします。(ログインとかサーバ再度でのセッション管理)
    1. ASP.NET Universal Providersによるセッション管理
      http://codezine.jp/article/detail/6405
  2. Azure WebロールとSQL Azureとの連携プログラムを作成します。
  3. Azure WebロールにSSLを実装します。(SkyDrive, Office 365 Excel Web Appsで動作させるために必要)
    1. 「Officeアプリ」の作り方と、できること/できないこと (3/4)
      下の方に, Excel Web App(Office Web Apps)のSkyDrive, Office365は、SSLなので、オフィス用アプリもSSLにしないと動かないとかいてある。
      http://www.atmarkit.co.jp/ait/articles/1303/04/news091_3.html
    2. GeoTrustさんが、AzureのSSL証明書の設定方法についてマニュアル化をしている。
      ジオトラスト クイックSSL プレミアムを取得し、WindowsAzure でSSL環境を構築する手順を教えてください。
      https://www.geotrust.co.jp/support/ssl/faq/900102/
      ワンコインSSL
      (100/1日)
      https://www.verisign.co.jp/press/2011/pr_20110519.html
  4. Azure WebロールでのSSLには独自ドメインが必要なので、適用します。
    Webロールに独自ドメイン名にするには、DNSにCNAMEふるだけでOKのようです。
    http://www.windows-maniax.com/kuniteru/azure591.html

サンプルプログラム

サンプルプログラムは以下です。(保障等はしませんので、参考程度にしてください。)

OfficeAppAzure

1. 事前準備

1-1. 開発環境を作成しておきます。

私の環境は こんな感じです。

Windeos 2012 + Office2013 + Visual Studio 2012 + Microsoft Office Developer Tool for Visaul Studio 2012

詳細は以下を参照して下さい。

  1. 環境セットアップ(Windows Server 2012 + SharePoint 2013 Preview + VisulaStudio 2012)
  2. SharePoint 2013/Office365([Visaul Studio Projcet] [App for SharePoint])/Office2013(App for Office) のVisaul Studio 2012 開発環境

1-2. Windows Azureを契約します。(無償3か月があります)

2. Visual Studio 2012でサンプルを作成します。

2-1. Office用アプリのプロジェクトを作成します。

  1. Visual Studioにて[ファイル][新規作成][プロジェクト]を選択します。
    [Office2013用アプリ]を選択して[OK]をクリックします。
    Azure_AppsForOffice_020
  2. Office用アプリのプロジェクトができます。
    Azure_AppsForOffice_030

2-2. Cloud Serviceを追加します。

豆知識

Windows AzureのWebサービスには大きく分けて2種類あります。

  1. お手軽な「Windows Azure Webサイト(共有インスタンス)」
  2. 高機能な「Webロール(専用インスタンス)(クラウド・サービス)」
    ※自分専用のVM(windows2008)が作成されます。
    参考(比較表): Webサイトとクラウド・サービス
    http://www.atmarkit.co.jp/fdotnet/special/introazwebsite_01/introazwebsite_01_01.html

今回は、Webロール(クラウドサービス)でいきます。

Webロールのメリットとしては以下のような感じです。

  1. ロードバランサー機能
    http://msdn.microsoft.com/ja-jp/magazine/jj618299.aspx
  2. インスタンス(VM)を自由に増減できる。
    http://msdn.microsoft.com/ja-jp/library/ee405486.aspx
  3. WebRole.cs などからログ機能、WorkerRoleとの連携等のAzureのフル機能を使用できる。
    http://d.hatena.ne.jp/waritohutsu/20100603/1275586879

手順

  1. Office用アプリのソリューションで右クリックして[追加][新しいプロジェクト]を選択します。
    [Windows Azure クラウドサービス]を選択して[OK]をクリックします。
    Azure_AppsForOffice_041
  2. 以下の画面があるがなにも選択しないで、[OK]をクリックします。
    ※後で、Office用アプリをロールに追加します。
    Azure_AppsForOffice_050
  3. 以下のようにプロジェクトが3つになります。
    Azure_AppsForOffice_060
  4. ロールで右クリックして[追加][ソリューション内のWebロールプロジェクト]を選択する。
    以下の画面がでてくるので、Office用アプリのプロジェクトを選択して、[OK]を押します。
    Azure_AppsForOffice_070
  5. 以下のようにCloud サービスにロールが追加されます。
    Azure_AppsForOffice_080

2-3. ローカルデバックします。

  1. スタートアッププロジェクトをOffice用アプリにします。
    オレンジ色のOffice用アプリのプロジェクトを右クリックして[スタートアッププロジェクトに設定]をクリックします。
  2. ロカールデバック(F5)すると以下のように仮想的にローカルでWindows Azureが動作します。
    Azure_AppsForOffice_090
  3. タスクバーの時計の横のほうにWindowsマークが表示されます。
    右クリックして、[Show Storage Emulator]をクリックすると、
    Windows Azureの仮想環境がたちあがります。
    AzureのストレージサービスのBlob, Queue, Table等もローカルに仮想的に存在しております。
    ※うまくいかない場合はVisual Studio が管理者権限で起動していない場合はうまく Azure Emulator が起動しません。
    また [Cloudサービスプロジェクト追加後]、[ASP.NETプロジェクト]、[ Cloudeサービス]プロジェクトを[スタートアッププロジェクト]にして [IIS],[ Azure Emulator]を立ち上げないといけなくなるようです。
  4. Azure_AppsForOffice_100
  5. 正常に動作すると、Excelが起動してOffice用アプリが動作します。
    Azure_AppsForOffice_110

2-4. Azureに配置します(アップロード, Upload)。

  1. ロールの設定でインスタンス数を2個にします。
    ロールに追加したプロジェクトを右クリックして[プロパティ]をクリックする。
    Azure_AppsForOffice_120
  2. インスタンス数を2個に変更
    診断を有効にするを”Off”にする。
    Azure_AppsForOffice_130
  3. Cloud Service プロジェクトを右クリックして[パッケージング]をクリックします。
    Azure_AppsForOffice_140
  4. 以下の画面でパッケージをクリックします。
    Azure_AppsForOffice_150
  5. 正常にパッケージが作成されると、パッケージのあるフォルダーが開きます。
    Azure_AppsForOffice_160
  6. Azureにログインします。
    https://manage.windowsazure.com/
  7. クラウドサービスを選択する。
    左下の[新規]をクリックします。
    ※2回目以降はパッケージのみアップロードできます。
    Azure_AppsForOffice_170
  8. URLと地域を選択して[クラウドサービスを作成する]をクリックする。
    Azure_AppsForOffice_180
  9. 作成されると以下の画面が表示されるので、[新規運用環境のデプロイ]をクリックする。
    Azure_AppsForOffice_190
  10. [デプロイ名]を適当に入力して、
    パッケージは[WindowsAzureOfficeApp.cspkg]※サイズが大きい方
    構成ファイルは[ServiceConfiguration.Cloud.cscfg]※サイズが小さい方
    [1つ以上のロールに単一のインスタンスが含まれていてもデプロイします。]もしかRoleの設定でインスタンスを1つしか作らないようにした場合はチェックが必要です。
    右したのレ点を押すと、Webロールで指定したインスタンス(VM)2個の作成が開始されます。
    Azure_AppsForOffice_200
  11. [インスタンス]タブでVMの状況が確認できます。2個のインスタンス(VM)が作成されるのに5分程度かかります。
    Azure_AppsForOffice_210
  12. 完了後、[ダッシュボード]を確認してサイトURLをメモっておきます。
    2コア動いているのもわかります。(2個のインスタンス)
    例)http://azureexceedonetest.cloudapp.net/
    Azure_AppsForOffice_220
  13. 参考
    1. Windows Azureクラウドサービス再入門~Webロールを作ってみる
      http://tatsuakisakai.net/archives/286
    2. Visual Studio から直接 Windows Azure に配置す
      http://code.msdn.microsoft.com/windowsazure/WindowsAzure-howto-855286fc

2-5. Office用アプリのManifestファイルのURLを編集してAzure Webロールを見るよう修正します。

  1. Manifest ファイルを修正してOffice用アプリのURLを [ローカル ASP.NET ]から[Azure Web Role(ASP.NET)]に修正します。
    例)
    変更前
    <SourceLocation DefaultValue=”~remoteAppUrl/App/Home/Home.html” />
    変更後
    <SourceLocation DefaultValue=”http://azureexceedonetest.cloudapp.net/App/Home/Home.html” />

  2. デバック実行[F5]でオフィス用アプリを動かします。
    [Windows Azure] [Webロール]の[Office用アプリ]で動作できるようになりました。
    Azure_AppsForOffice_230

2-6. さらに、Visual Studioを使用しないで実行してみます。

  1. Excelで新規デバック実行で開いたExcelを名前をつけて、[オフィス用アプリ]付き(Manifest情報埋め込み)Bookを保存します。
    Azure_AppsForOffice_240
  2. そのBookを直接Excelで開いてらOffice用アプリが動作します。
    Azure_AppsForOffice_230

以上で終了です。

参考

  1. Windows Azure サンプル コード集 10 行コードで作る .NET アプリケーション 10 行でズバリ! – Code Recipe – MSDN
    http://msdn.microsoft.com/ja-jp/windowsazure/ff708720.aspx
  2. Apps For officeのMSDNサンプルコード
    http://msdn.microsoft.com/ja-jp/library/jj220075.aspx
    http://msdn.microsoft.com/ja-JP/library/office/apps/fp142185
    http://msdn.microsoft.com/ja-jp/library/office/apps/fp161120.aspx
  3. 10 行でズバリ!! Windows Azure の Web ロール (ASP.NET) を開発する (C#)
    http://code.msdn.microsoft.com/10-Windows-Azure-Web-C-ccbd7d58/
  4. 「Officeアプリ」の作り方と、できること/できないこと (多言語対応、多デバイス対応、SSLの問題:SkyDrive,Office365 )
    http://www.atmarkit.co.jp/ait/articles/1303/04/news091.html

Filed Under: AzureOffice Add-ins

Tags:

About the Author

野呂清二(ご連絡はこちらまで (http://www.exceedone.co.jp/inquiry/)

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.