ASP.NET は、動的な Web アプリケーションを作成するためのテクノロジです。.NET Framework (英語) の一部であるため、Visual Basic や C# 、J# といったほとんどの .NET 互換の言語で ASP.NET アプリケーションを作成することができます。ASP.NET ページ (Web フォーム) は、コンパイルが行われるため、スクリプティング言語に比べ、優れたパフォーマンスを実現できます。Web フォームを使用すると、フォームベースの強力な Web ページを構築することができます。このようなページを構築する場合、ASP.NET サーバー コントロールを使用することで、共通の UI 要素を作成 (英語) し、共通タスクの実行をプログラムすることができます。このようなコントロールを使用することで、再利用可能なビルトイン コンポーネント、たとえば、新しい GridView や DetailsView、あるいはカスタム コンポーネントを利用して手軽に Web フォームを構築することができるため、ページのコードを簡素化できます。
ASP.NET は、従来の Web テクノロジに比べて、スケーラブルで安定性があり安全なアプリケーションの作成をより迅速かつ容易にするプログラミング モデルおよびインフラストラクチャを提供します。
ASP.NET により、実用的な Web アプリケーションの構築が驚くほど簡単になります。ASP.NET サーバー コントロールを使用すると、HTML のような宣言型のプログラミングが可能になるため、従来の ASP よりもはるかに少ないコードでより機能的なページを構築することができます。データ表示やユーザー インプットの検証、ファイルのアップロードといった処理はどれも驚くほど簡単です。何といっても、ASP.NET ページはブラウザを選ばずに動作します。Internet Explorer はもちろん、Netscape や Opera、AOL といったあらゆるブラウザで動作することができます。
ASP.NET では、これまでのプログラミング言語スキルをそのまま活かすことができます。逐次翻訳される VBScript と JScript しかサポートしない従来の ASP とは異なり、ASP.NET では、Visual Basic や C#、JScript.NET 等のビルトイン サポート (つまり他のツールを必要としない) をはじめ、25 を超える .NET 言語をサポートし、開発言語の選択においてこれまでにないフレキシビリティを実現しています。
どのようなテキスト エディタを使用しても、ASP.NET が持つ機能や能力は、すべて活用することができます。 もちろんメモ帳でも大丈夫です。ただし、Visual Studio を使用することで、Visual Basic スタイルの開発で得られる生産性を Web 開発で実現できます。ASP.NET Web フォームを、使い慣れたドラッグドロップやダブルクリックなどの操作でビジュアル的にデザインすることができる上に、コード補完機能やコードの色分け機能といった本格的なコーディングのサポートが用意されています。また、Visual Studio には、ASP.NET Web アプリケーションのデバッグおよび配置のサポートも統合されています。
かつては実装が難しかったアプリケーション機能や、サードパーティ製のコンポーネントを必要としていたアプリケーション機能などは、.NET Framework を使用すればわずか数行のコードの記述だけで付加することができます。.NET Framework には、データ アクセスやファイル アップロード、正規表現 (英語) 、画像の生成 (英語) 、パフォーマンスの監視およびログの採取、トランザクション、メッセージ キューイング、SMTP メール等、XML 同様、あらゆる機能をカプセル化した 4500 を超えるクラスが用意されています。
ASP.NET では、ASP の "just hit save" (保存するだけ) の更新モデルは残しつつ、従来の ASP に比べてはるかに処理速度が向上しています。その上、明示的にコンパイルを実行する必要がありません。ASP.NET では、変更があれば自動的に検出され、必要に応じて動的にファイルがコンパイルされます。コンパイル結果は、それ以降の要求に再利用できるよう保存されます。動的なコンパイルにより、アプリケーションは常に最新の状態に保たれ、コンパイル済みファイルを実行することで処理速度も向上します。従来の ASP から移行されたアプリケーションでは、ほとんどの場合、ページの処理速度が 3 〜 5 倍向上しています。 (英語)
ASP.NET の出力キャッシュにより、アプリケーションのパフォーマンスおよびスケーラビリティが飛躍的に向上します。ページで出力キャッシュを有効にした場合、ASP.NET でそのページを一度実行されると、実行結果はユーザーに送信した上でメモリに保存されます。他のユーザーが同じページに対して要求を実行すると、ASP.NET はメモリにキャッシュされている結果を使用します。このとき、ページは再実行しません。出力キャッシュは構成の変更が可能で、個々の領域あるいはページ全体をキャッシュすることもできます。出力キャッシュの使用により、要求ごとにデータベースにクエリを実行する必要がなくなるため、データドリブンなページのパフォーマンスを飛躍的に向上させることができます。
ASP.NET のセッション ステート (英語) を使用することで、Web ファーム内のすべてのコンピュータで、ユーザー単位のセッション データの状態値を共有することができます。そのため、ユーザーの複数の要求が Web ファーム内の異なるサーバーに分散されても、そのユーザーのセッションが損なわれることはありません。.NET Framework で作成されたビジネス コンポーネントはフリー スレッドであるため、スレッド アフィニティの心配をする必要はありません。
ASP.NET では、デッドロックおよびメモリ リークなどのエラーが自動的に検出、修復されるため (英語) 、アプリケーションをいつでも利用可能な状態に保つことができます。
たとえば、アプリケーションで小規模なメモリ リークが発生し、1 週間後にはサーバーの仮想メモリのかなりの割合を占めるようになったとします。ASP.NET では、この状態を検出すると、自動的に新しい ASP.NET ワーカー プロセスを起動し、それ以降の新しい要求はすべてこの新しいプロセスにリダイレクトされます。古い方のプロセスで保留状態になっていた要求の処理が終了すると、プロセスは速やかに破棄され、リーク状態のメモリは開放されます。ASP.NET では、管理者による操作を必要とすることも、サービスが中断されることもなく、エラーは自動的に修復されます。
ASP.NET では、アプリケーションのインストール作業が驚くほど簡単です。ASP.NET により、アプリケーション全体を 1 つの HTML ページと同じように簡単に配置することができます。サーバーにコピーするだけです。regsvr32 を実行してコンポーネントを登録する必要はありません。コンフィグレーションの設定情報等は、アプリケーション内の XML ファイルに格納されます。
ASP.NET では、コンパイル済みのコンポーネントの更新に、Web サーバーを再起動する必要はありません。これまで、従来の COM コンポーネントでは、更新を適用するたびに Web サーバーを再起動する必要がありました。ASP.NET では、既存の DLL にコンポーネントをコピーするだけです。 ASP.NET によって、変更内容が自動的に検出され、新しいコードの使用して処理が実行されます。
ASP.NET を使用を開始するに当たり、既存のアプリケーションを移行する必要はありません。Windows 2000 および Windows XP プラットフォーム上の IIS の場合、ASP.NET は、従来の ASP と同時に動作することができます。既存の ASP アプリケーションは ASP.DLL により引き続き処理され、新しい ASP.NET は新しい ASP.NET エンジンにより処理されます。アプリケーションの移行は、アプリケーション単位、あるいはページ単位で行うことができます。また、ASP.NET では、既存の従来型の COM ビジネス コンポーネントを継続して使用することができます。
XML Web サービスを使用すると、オペレーティング システム、あるいはプログラミング言語に関係なく、インターネット経由でのアプリケーション間の通信およびデータ共有が可能になります。ASP.NET により、XML Web サービスの提供や呼び出しが簡単になります。
どのクラスも、わずか数行のコードで XML Web サービスに変換することができ、任意の SOAP クライアントからも呼び出すことができます。
また、ASP.NET では、アプリケーションからの XML Web サービスの呼び出しが非常に簡単です。ネットワークや XML、SOAP 等の知識は必要ありません。
ASP.NET では、ASP.NET モバイル コントロール (英語) の使用により、携帯電話や PDA など 80 以上のモバイル Web デバイスを対象とした開発が容易になります。アプリケーションは一度記述するだけで、あとは要求元のデバイスに応じて、ASP.NET の モバイル コントロールが自動的に WAP/WML や HTML、iMode を生成してくれます。
ASP.NET についてもっと良く知りたいときは、ASP.NET デベロッパー センターあるいは Visual Basic ASP.NET Reference セクション (英語) を参照してください。
※製品と機能の対応については「Visual Studio 2005機能比較」をご参照ください。
|