SDKのディレクトリ(デフォルトではC:\Program Files\Windows Azure SDK\v1.0)には、samples.zipというファイルが含まれる。このファイルを新規作成したディレクトリに解凍すると、Azure SDKのさまざまな側面を知ることができる9つのサンプルが現れる。それぞれのサンプルをコンパイルし、詳細に目を通せば、それらの働きを理解できるはずだ。それがAzureを学習するための理想的、かつ最も実際的なアプローチである。ここではPersonalWebSite(名前にスペースは含まない)ディレクトリにあるPersonal Web Siteというサンプルを見ていこう。
Azure SDKには、すべてのツールにアクセスできるコマンドラインが用意されている。サンプルはこのコマンドラインから、それぞれのサンプルに付属するバッチファイルで個別に構築することも、また1つのバッチファイルですべてのサンプルを構築することも可能だ。このアプローチを採るかどうかは開発者の自由だが、それぞれのサンプルにはVisual Studioでオープンできる独自のソリューションが用意されており、むしろそちらの方がおすすめだ。サンプルを構成する各パーツを視覚的に確認することができる。
ここでPersonalWebSite.slnというサンプルをオープンしてみよう(プロジェクトをオープンすると、セキュリティ警告を受ける場合がある。しかし、とくに問題はない。「Load Project Normally」をクリックしよう)。このプロジェクトを実行すると、どこかで見たことがある画面が現れる。おなじみのASP.NET Personal Web Site Starter Kitと非常によく似ているのだ。
しかし、このコードを詳細にチェックすると、AspProvidersというプロジェクトがあり、そこにはAzureのさまざまな局面で利用できる非常に便利なC#ファイルのセットが含まれている。それらのクラスは、基本的にはAzure APIをASP.NETの視点から使いやすくするラッパーだ。例えば、メンバーシッププロバイダやストレージサービスの利用を可能にするロールプロバイダのクラスがある。これらのクラスは、ユーザーが独自開発したクラウドベースのソフトウェアでも再利用することができる。
こうしたクラスに注目する理由の1つは、Amazon.comのAWSに欠ける(とわたしが個人的に思う)何かを提供してくれているからだ。AWSはユーザー認証の仕組みが大きく異なり、多くの部分を開発者自身がコーディングしなければならない。AWSにはセキュリティ機能があり、うまく機能している。だがユーザー認証はビルトインされておらず、少なくともASP.NETのメンバーシッププロバイダのレベルにはない。ASP.NETで開発の経験を積めば、ASP.NET 2.0に導入されたユーザー認証クラスが、いかに堅牢で有用かが分かるだろう。それらのクラスは驚くほど機能的なメンバーシップおよびロールプロバイダを含んでいる。AWSに取り組んだとき、わたしはかなり失望した。
もちろん、公平を期すために言えば、AWSはアーキテクチャがまったく異なり、AWSの下にWindowsサーバをアロケートして、ASP.NETを実行することは可能だ。そこからASP.NETのユーザー認証を利用できる。ただしこの認証は、AWSのHTTPコールで用いられるリクエスト認証とは別個のものとなる。個人的には、Azureのサンプルに含まれるクラスのほうが好ましいと思う。
さて、ここからは読者にサンプルをもっと深く探求し、綿密にコードを検討することを勧めたい。Azure SDKインストレーションの詝bin"、詝ref"ディレクトリ内で用いられているネームスペースや、そこに置かれたサンプルが利用するアセンブリに、特段の注意を払おう。また、docディレクトリにあるドキュメンテーションも忘れてはいけない。そこには膨大な情報を含んだ.chm Window Helpファイルが置かれている(ただし、まだプレリリースの状態ではあるが)。
次回は、いよいよAzureの実際のコーディングサンプルに取りかかる。より興味深い内容になるだろう。
Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.