ASP.NETをベースとしたWebアプリケーション開発では,統合開発環境であるVisualStudioを使って高機能なWebアプリケーションを容易に構築できます。今回は,ASP.NET AJAX,ASP.NET MVC,ASP.NET Dynamic DataといったASP.NETを構成するテクノロジの概要を説明します。

ASP.NET AJAX

AJAXとは

 AJAXは,近年登場したWebのテクノロジですが,AJAXのベースとなるテクノロジはWebサイトやWebアプリケーションでインターネットの発展と共に長年にわたって使われてきたJavaScriptDHTML(Dynamic HTML)といった既存技術です。これらを組み合わせた1つの応用技術がAJAXといえるでしょう。

 ここで今一度,広義のAJAXについて簡単にまとめておきます。まずAJAXは,次の意味(語源)を持つ略称です。

AJAX = Asynchronous JavaScript + XML

 この語源のAsynchronousという単語が示す「非同期」という言葉が,AJAXを理解するうえで大変重要なキーワードとなります。

■非同期処理と部分更新

 従来の(AJAXテクノロジを使用しない)Webアプリケーションでは,クライアントからの要求(リクエスト)に対しWebサーバーで何らかの処理を行った後に,その応答(レスポンス)として新たなHTMLデータを生成してクライアントへ送り返します。クライアントのWebブラウザはWebサーバーから受け取ったHTMLデータを使って表示領域をすべて再描画することでWebページの更新を行います(図1)。

図1●従来の Webアプリケーションの基本動作(ASP.NET)
[画像のクリックで拡大表示]

 この方式では,クライアントのWebブラウザとWebサーバー間でのデータの送受信が行われるたびにWebブラウザではページ遷移による表示領域の再表示が発生することとなり,これがWebアプリケーションのユーザビリティの面で1つのデメリットとなっていました。たとえば,Webページ上でスクロールを行って作業を継続している場合には,画面の再表示によってこのスクロール情報が初期化され,利用者は再度スクロールをやり直す羽目に陥るでしょう。

 一方,AJAXテクノロジを使用したWebアプリケーション(AJAX Webアプリケーション)では,Webブラウザのページ遷移による表示領域のちらつき(ページ全体の再表示)を減らしてユーザビリティを向上させることが可能となることから,Webアプリケーションの利用者や開発者などの間で大変注目を浴びることになりました。

 このAJAX Webアプリケーションの1つの特徴であるWebブラウザの表示領域のちらつきの低減を実現するために重要な要素がXMLHttpRequest※1というクライアント(ブラウザ側)のオブジェクト(API)です。このXMLHttpRequestオブジェクトをクライアント側のJavaScriptで使用することで,Webサーバーと非同期通信を行ってデータを要求します。そして,更新が必要なデータだけを取得し,DHTML(Dynamic HTML)を使用してWebブラウザの表示領域を部分更新するといった手法が使われるようになりました(図2)。この一連の動作がAJAXの代表的な処理の1つです。

※1 各種ドキュメントなどでは,XMLHttpRequestは略してXHRと記述される場合もあります。
図2●AJAX Webアプリケーションの基本動作
[画像のクリックで拡大表示]

この先は会員の登録が必要です。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら