ここでは、ASP.NETにおけるWebアプリケーションの開発と、関連する主要なテクノロジを体系的に解説します。

 ASP.NETをベースとしたWebアプリケーション開発では、統合開発環境であるVisualStudioがもたらす高い開発生産性のもとで、高機能なWebアプリケーションを容易に構築することができます。さらに、AJAXやMVCといったフレームワークを利用することで、顧客ニーズや、チームの開発手法に合わせたさまざまな形態のWebアプリケーション開発を柔軟に行うことが可能となっています。ここでは、それらのASP.NETを始めとした主要なWeb開発テクノロジのアーキテクチャや特徴、利点、使い分けのポイントなどをシンプルなサンプルコードを通して紹介します。

ASP.NET

ASP.NETとは

 ASP.NETは、動的なWebサイトやWebアプリケーションを作成するための開発テクノロジ(フレームワーク)です。ASP.NETを使用することで、個人規模のWebサイトからエンタープライズクラスの大規模なWebアプリケーションまで、さまざまな規模のWebアプリケーションを統一された開発環境のもとで構築することができます。

 .NET Frameworkの登場と共に、従来の動的なWebサイトを構築するためのテクノロジであるActive Server Pages(ASP)※1の.NET Framework版として登場したASP.NETは、現在の.NET Frameworkのバージョン3.5に合わせてASP.NET 3.5とも呼ばれています。そのASP.NETでは、Visual Studioなどの統合開発環境を使ったWebフォームと呼ばれるGUIベースのWebページ開発(デザイン)が可能で、HTMLなどの直接の記述を最小限にとどめることができます。さらに、イベント駆動型のプログラミングモデルを用い、C#Visual Basicなどの.NET Frameworkに対応したさまざまな開発言語と、.NET Frameworkに用意された高機能なクラスライブラリを使用してサーバー側の処理ロジックを記述することが可能で、これによりWebアプリケーションの開発生産性が飛躍的に向上しました。

※1 Active Server Pages(ASP)は、動的にWebページを生成するためのサーバーサイドスクリプト実行環境です。HTMLにスクリプトを埋め込んだコードをWebサーバー側で処理し動的なWebページを生成します。

 また、もう1つの大きな特徴として、コードビハインド(分離コード)と呼ばれるWebページデザインと処理ロジックを完全に分離した形で開発を可能とするしくみが提供されています。これにより、開発生産性はもちろんのこと、アプリケーションの保守性も向上しています。

■Note
 先ほど、ASP.NETを従来の ASPの.NET Framework版とご紹介しましたが、従来の ASPでは、開発者がシステム的なロジック(例: HTTPベースの Webアプリケーションに固有なページ遷移のロジック、など)も意識して構築する必要がありました。また、HTML内部にスクリプトコードが記述されるため、デザインと処理ロジックの分離が不完全になることから開発生産性や保守性といった面でのデメリットもありました。ASP.NETでは、上述のとおり、こうした点がすべて改善されています。開発者は、この後見ていくように、Windowsクライアントのアプリケーションを構築する際と同様のスタイルでビジネス的な処理に集中して開発できます(システム的な手続きは、すべてサーバー側の ASP.NET内部で処理されます)。

 図1にASP.NET Webアプリケーションの動作概念図を示します。

図1●ASP.NET Webアプリケーション概念図
[画像のクリックで拡大表示]

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

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