連載:〜ScottGu氏のブログより〜

Microsoft AJAX CDNのお知らせ

Scott Guthrie 著/Chica
2009/10/02

 本記事は、Microsoftの本社副社長であり、ASP.NETやSilverlightなどの開発チームを率いるScott Guthrie氏のブログを翻訳したものです。氏の許可を得て転載しています。
【元記事】 Announcing the Microsoft AJAX CDN (2009/09/15)

 今日(2009年9月15日)の早い時間に、ASP.NETチームがAJAXライブラリ(jQueryやASP.NET AJAXなど)に対してキャッシュのサポートを提供する新しいMicrosoft AJAX CDN(コンテンツ・デリバリ・ネットワーク)サービスを公開しました。このサービスは無償で、登録など何も必要なく、商業用としても非商業用としても使用可能です。

CDNが提供するものは?

 コンテンツ・デリバリ・ネットワーク(CDN)は、世界中の主要なインターネットのネットワーク・ポイントに戦略的に設置された“エッジ・キャッシュ(edge cache)”で成り立っています。これらの“エッジ・キャッシュ”は、画像、動画、CSS、JavaScriptファイルなどのすべてのコンテンツ・タイプをキャッシュし、配信するために使用できます。

 CDNを使用すると、ブラウザがより素早くコンテンツを取得またはダウンロードできるため、Webサイトを利用するエンドユーザーのパフォーマンスを大幅に改善できます。例えば、ある画像へのブラウザからのリクエストで、インターネットを横断してWebサーバからダウンロードしてもらう代わりに、CDNでは、顧客からネットワークのホップ数がたった1つだけになるくらい近くの“エッジ・キャッシュ”サーバにより、直接そのリクエストに対応できます(これにより応答が非常に速くなるので、ページがより速くロードされます)。

Microsoft AJAX CDNが提供するものは?

 Microsoft AJAX CDNでは、jQueryやASP.NET AJAXのスクリプト・ライブラリを自分のWebサイトへ非常に簡単に追加でき、そしてそれらは、世界中に何千個所もあるエッジ・キャッシュ・サーバの1つからも自動的に配信されます。

 例えば、もしMicrosoft AJAX CDNからjQueryを使用したい場合は、以下のようなURLを使用した標準的なスクリプト・タグをページに追加するだけです。

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>

 ブラウザがスクリプト・ファイルをリクエストした場合、自動的にエンドユーザーに一番近いCDNの“エッジ・キャッシュ”サーバから提供されます。つまり、

  • そのリクエストは、あなたのWebサーバにアクセスしなければならない場合に比べて、非常に高速に処理されます(エンドユーザーのページのロードが非常に速くなります)
  • ファイルはマイクロソフトが回線費用を支払っているサーバから来るので、このファイルの帯域幅に対して支払いは不要です(コストを削減できます)
  • スクリプトは複数のWebサイト間で簡単にキャッシュできるため、ファイルをリクエストしたWebサイトにユーザーがすでにアクセスしていた場合、ダウンロードすら必要ないかもしれません(その場合はすでにブラウザのキャッシュにあります)

 すでにCDNキャッシュにロードされているJavaScriptライブラリ(および関連URL)の全一覧は、ここ(www.asp.net/ajax/cdn)から取得できます。

 新しいバージョンのASP.NET AJAXを出荷する際はCDN内の利用可能なライブラリを更新し、またASP.NETおよびVisual Studioで出荷するすべてのJavaScriptファイル(jQuery、jQuery検証プラグイン、そのほか今後出荷する追加ライブラリを含む)が含まれるように更新は継続します。

 CDNサービスは無償であり、コミュニティにおいて、誰でも商業・非商業両方の目的で利用できます。利用するための登録も必要ありません。

ASP.NET 4.0スクリプト・マネージャとともにMicrosoft AJAX CDNを使用

 <script>要素を使用して直接スクリプト・ファイルを参照できるのに加え、ASP.NET 4.0では、<asp:ScriptManager/>サーバ・コントロールを使用するASP.NET Webフォームのアプリケーションから、CDNが簡単に利用できます。

 ASP.NET 4.0の<asp:ScriptManager>コントロールには、EnableCdnという新しいプロパティが含まれています。このプロパティにtrueの値を割り当てると、アプリケーションは自動的にMicrosoft CDNを使用してJavaScriptファイルを使用します(図1)。


図1

 ScriptManagerでCDNを有効にすると、アプリケーションは通常System.Web.dllまたはSystem.Web.Extensions.dllアセンブリから取得するすべてのJavaScriptファイルを、代わりにCDNから取得します。これにはASP.NET AJAXのJavaScriptおよび、ビルトインのWebフォームのJavaScriptファイルの両方が含まれています(例:クライアント側の検証にはWebUIValidation.jsファイル、そしてTreeView、MenuなどのコントロールにはそのJavaScriptファイル)

 これによりエンドユーザーに対して素晴らしいパフォーマンスの改善を提供できます。つまり、ASP.NETのWebサイトにアクセスしたユーザーが、もしCDNを使用するほかのASP.NETのWebサイトを訪れていた場合、これらのファイルを再ダウンロードする必要がありません。

■CDNからのASP.NET AJAXプレビュー 5を使用

 AJAX CDNサイトの公開に加え、ASP.NETチームは最近、ASP.NET AJAXプレビュー 5もリリースしました。ASP.NET AJAXプレビュー 5(サンプル・コード付き)はCodePlexからダウンロードできます(http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32770

 単純にCDNをポイントする以下のライブラリ・タグを追加すると、ASP.NET AJAXライブラリを現在でも利用できます。

< script src ="http://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjax.js" type ="text/javascript"></script >

<script src="http://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjaxTemplates.js" type="text/javascript"></script>

 これらのスクリプト・タグは、ASP.NET AJAXライブラリ(URLの/0909/の部分はASP.NET AJAXのバージョンがリリースされた年月を表します)の2009年9月リリースのベータ版を参照します。

 ASP.NET AJAXライブラリを参照するスクリプト・タグを追加した後、ページ内でライブラリを使用開始できます。例えば、以下のコードは、クライアントのDataViewコントロールをアタッチし、ページのbody内のDIV要素へ写真の配列を表示します。


図2

 “photos”のidを持つDIV要素には、写真の配列にある各写真をフォーマットするためのテンプレートが含まれています。写真の要素の宣言は次のようになります。


図3

 DataViewがレンダリングされるとき、写真のDIV要素のコンテンツには写真の配列にある各写真が表示されます。以下のように写真が表示されます。


図4

 ASP.NET AJAXは純粋なJavaScriptライブラリであるため、上記のコードはASP.NET Webフォーム、ASP.NET MVC、HTML、またクラシックのActive Server Pageとさえも完ぺきにうまく動作します。またそのコードは、現代のすべてのブラウザで動作します。

 CodePlexプロジェクトからサンプル・コードをダウンロードすれば、ASP.NET AJAXプレビュー 5について、より詳細を習得できます(http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32770)。

 以下は、ASP.NET AJAXプレビュー 5の機能をより深く掘り下げているブログ投稿です。

  • ASP.NET Ajax プレビュー 5 とUpdatePanel − Jim Wang氏は、標準のASP.NET UpdatePanelコントロールを使用している既存のWebサイトとプレビュー 5をどのように使用できるかを説明しています。

まとめ

 Microsoft AJAX CDNにより、ASP.NET AJAXまたはjQueryを使用するASP.NET WebフォームやASP.NET MVCアプリケーションのパフォーマンスを大幅に改善できます。このサービスは無償で、登録などは必要なく、商業・非商業の両方の目的で使用可能です。

 ASP.NET 4.0により、ASP.NET Webフォームの開発者は特にCDNの利用が簡単になります。ScriptManagerコントロールのプロパティを1つ設定するだけで、すべてのビルトインのASP.NET JavaScriptファイルへのリクエストをCDNへリダイレクトでき、Webフォーム・アプリケーションのパフォーマンスを改善できます。

 Hope this helps,

 Scott

 P.S. ブログに加え、Twitterを使った素早い投稿やリンクの共有も行っています。http://www.twitter.com/scottguにて、わたしをTwitterでフォローできます(@scottguがわたしのTwitter名です)。End of Article

   
 
インデックス・ページヘ  「〜ScottGu氏のブログより〜」


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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間