特集
Windows Azure開発入門(前編)

無償開発環境で試すWindows Azureクラウド開発

デジタルアドバンテージ 一色 政彦
2009/01/14
Page1 Page2

WebロールのWindows Azureクラウド・サービスの作成

 「Webアプリ」はクラウド上に乗ると、その呼び方が「サービス」に変わる。つまり「Windows Azureクラウド・サービス」の中身は、基本的に「ASP.NET Webアプリ」である。そして、Windows Azureでは、通常の「Webアプリ」に相当するプロジェクトを「Webロール」と呼んでいる(ちなみに「Workerロール」というプロジェクトもあるが、これは非同期で何らかの処理を実行したいときに使用する)。

 それでは、「Webロールのクラウド・サービス」(以降、Webクラウド・サービス)のプロジェクトを作成しよう。

Webクラウド・サービス・プロジェクトの作成

 [スタート]メニューから[すべてのプログラム]−[Microsoft Visual Web Developer 2008 Express Edition]を選択してIDEを起動し、メニューバーから[ファイル]−[新しいプロジェクト]を選択する。これにより、次のような[新しいプロジェクト]ダイアログが表示される。

[新しいプロジェクト]ダイアログによる「Webロールのクラウド・サービス」プロジェクトの作成

 左側の[プロジェクトの種類]ツリーから「Visual Basic」−「Cloud Service」もしくは「Visual C#」−「Cloud Service」を選択し、右側の[テンプレート]一覧から「Web Cloud Service」を選択する。そしてプロジェクト名は「CloudService1」のまま、[OK]ボタンをクリックしよう。

 これにより、次のようにプロジェクトが作成される。

自動生成された「Webロールのクラウド・サービス」プロジェクトのひな形

Webクラウド・サービスに含まれる2つのプロジェクト

 上の画面の[ソリューション エクスプローラ]を見ると、ソリューションの配下には、以下の2つのプロジェクトが作成されているのが分かる。

  • CloudService1
  • CloudService1_WebRole

 「CloudService1」は、クラウド・サービスを管理するためのプロジェクトである。詳細は後編で説明する。

 一方、「CloudService1_WebRole」は、名前からも分かるように、Webロール(=Webアプリ)のプロジェクトで、このプロジェクトの内容を開発していくことになる。

 基本的に、Webロールの開発は従来のASP.NET Webアプリの開発と変わらない。筆者が実験してみたところ、そのほかの.NET関連技術であるSilverlight 2や、WCF(Windows Communication Foundation)によるWebサービスも問題なく作成できた。このように、これまでに身に付けたASP.NETのスキルが生かせる(ただしデータアクセスに関しては、データベースやファイルを直接扱うことができず、Windows AzureストレージやSQLデータ・サービスなどのWebサービスを利用する必要がある)。

 また、既存のASP.NET Webアプリ(やASP.NET Webサイト)をWebクラウド・サービスに移行することもそれほど難しくない。これについては「実証実験:Webアプリケーションをクラウドの中に移行した例」という記事で、その手法や注意事項を簡単にまとめている。

Webロールの開発

 上記のとおり、Webクラウド・サービスの開発は、通常のWebアプリの開発と変わらず、これを説明することは本旨ではないので、本稿ではASP.NET開発部分の詳細は説明しない。今回はシンプルな例として、写真をアップロード投稿して、これまでの投稿画像の一覧を表示するWebアプリを作成する。

 次の画面はその開発画面の様子である。

Visual Web Developer 2008 Express EditionにおけるWebクラウド・サービスの開発例

ローカル環境で実行

 メニューバーから[デバッグ]−[デバッグなしで開始](もしくは[デバッグ開始])を選択すれば、ローカル環境でWebクラウド・サービスが実行される。

 ただし、実行を開始する前に「Development Fabric」(=開発用ファブリック*1)と「Development Storage」(=開発用ストレージ)を起動しておく必要があるが、基本的に、Visual Web Developer 2008から実行しようとしたときにこれらは自動起動する(ので、実際には何もしなくてよい)。

 何らかのトラブルによりDevelopment Fabricが起動されない場合は[スタート]メニューの[すべてのプログラム]−[Windows Azure SDK (October 2008 CTP)]−[Development Fabric]を直接実行してから再度、実行してみてほしい。

*1 ファブリックは、地理的に分散されたデータ・センター上に構築されたインターネット・スケールのホスティング環境のこと。Development Fabricは、本物のファブリックである「Windows Azure Fabric」をローカル環境でシミュレートするもの。

 次の画面は実際にWebクラウド・サービスをローカル環境で実行したところだ。

Webクラウド・サービスの実行例

 以上のように、ASP.NET Webフォームと同じようにデザイン、開発でき、ASP.NET開発とほぼ同じように実行、デバッグできる。

 以上、ローカル環境でWindows Azure開発を行うための基礎中の基礎を紹介した。Windows Azure開発をより詳しく学ぶにはサンプルを参照、実行してみることが大いに役立つだろう。Windows Azure SDKのサンプルは、そのインストール・フォルダの場所にあるので、ぜひそれらのサンプルをじっくりと試してみてほしい。

C:\Program Files\Windows Azure SDK\v1.0\samples.zip

 次回後編は本番サイトをWindows Azureへ展開する方法について紹介する。End of Article


 INDEX
  [特集] Windows Azure開発入門(前編)
  無償開発環境で試すWindows Azureクラウド開発
    1.Windows Azure開発環境の構築
  2.WebロールのWindows Azureクラウド・サービスの作成
 
  [特集] Windows Azure開発入門(後編)
  Windows Azureクラウド・サービスの配置/運用
    1.Azure Services Developer Portalでのプロジェクト作成
    2.クラウド・サービスの構成
    3.クラウド・サービスの配置
    4.Windows Azure/Azure Services Platformの利用申請
Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

.NET未来展望台

未来展望台コーナースポンサーからのお知らせ


- PR -
- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

SEOは総合格闘技である――「SEOおたく」が語る普遍のマインド
SEOの最新情報を発信する「SEOおたく」の中の人として知られる著者が、SEO担当者が持つべ...

HubSpot CMSにWebサイトの「定石」を実装 WACUL×100のパッケージ第1弾を提供開始
WACULと100は共同で、Webサイトの「定石」をHubSpotで実装する「Webサイト構築パッケージ...

電通調査で「料理は面倒」が6割超 なぜそうなった?
電通の国内電通グループ横断プロジェクト「電通 食生活ラボ」は、「食生活に関する生活者...