第1回の記事では、マイクロソフトのクラウドサービスである「Windows Azure(アジュール) Platform」を手軽に学べる無償セミナーやトレーニングについて、第2回では無料で構築できるWindows Azure&Silverlightの開発環境について紹介した。
最終回である今回は、それらを駆使した実際のアプリケーション開発について述べていこう。本連載を読んで、マイクロソフトの開発環境やクラウド開発に少しでも興味を持っていただければ幸いだ。
今回の挑戦するアプリケーションの柱は 「Windows Azure+Silverlight 4+WCF」
前回の記事の結びに、「Web対応のメモ帳」として構想中のサンプル画面を紹介したが、その後に実装を進めた結果、このようなアプリケーション画面になった。
なにぶん実験的なアプリケーションなので、画面がややシンプルな点はご容赦いただきたいが、今回のこのアプリを実現するにあたっての技術的な柱は、大きく分けて以下の3つが挙げられる。
- 動作プラットフォームとしてWindows Azureを利用。Silverlightを含めたすべてのファイルは、クラウド上に配置される。
- 画面表示にはSilverlight 4を利用し、HTMLで作成した静的ページでは不可能な“画像ファイルのドラッグ&ドロップ”などを使った直観的な操作を実現する。
- サーバー(Windows Azure)からSilverlightへのデータの読み込み、保存といった通信には、WCF(Windows Communication Foundation)を利用する。実際のデータの保存などのサーバー側処理も、WCF内の処理として行なう。
まず、【1】については、今回のメインテーマなので言うまでもないが、Windows Azureを利用することによって、作ったアプリケーションを手軽にWeb公開できる環境が手に入れられる、という点が重要なポイントだ。
例えば、この写真は今回作成したアプリケーションを、ASCII.jpの編集者が普段使っているノートパソコンで試用したところだ。
会議室には無線LAN環境が用意されており、Webサイト上で公開されているアプリケーションを、WindowsパソコンのInternet ExplorerやFirefoxだけでなく、MacBook Air上のSafariでも問題なく動作できていることが見て取れるだろう。
次に【2】だが、もちろんASP.NETのみでも高度なWebアプリケーションの開発は可能であるが、今回は通常のHTMLやJavaScriptでは実現できない、より高度な機能を実現するためにSilverlight 4を利用している。
Silverlight 4を使うもうひとつのメリットは、前述のようにWindows以外の環境でも動くという点にある。
ご覧のようにMac環境でも無事動作した。マイクロソフトのアナウンスによると、今後はWindows Phone 7といったモバイル環境でもSilverlightのサポートが強化されていくようなので、こちらも楽しみだ。
最後に【3】についてだが、WCFとは.NET Frameworkに含まれる通信用の機能であり、通信部分の実装をカプセル化できるというメリットがある。そのため、今回のように「SilverlightとWebサーバーの通信」といった機能も.NETの技術を用いて比較的容易に実装が可能となる。
◆
これら3つの技術的な柱を念頭に置いたうえで、今回のアプリケーションを開発する際のポイントについて、ピックアップして解説しよう。
なお、今回は開発環境の操作や、サンプルコードの解説は「Visual C#」を前提としているので、その点はご了承頂きたい。
(次ページ「Visual Web Developer Express 2010でWindows Azure開発を始める」に続く)
この連載の記事
-
第2回
クラウド
.NET on Windows Azure でクラウド・アプリケーション開発 -
第1回
クラウド
無償セミナー&ハンズオンでクラウド開発をがっちりマスター! -
クラウド
クラウドに興味ありな開発者なら、3ステップで楽々Azureに移行 - この連載の一覧へ