.NET Framework とは、アプリケーションの開発および実行環境です。この環境に備えられたプログラミング言語とライブラリを連携することによって、構築、管理、展開、他のネットワークシステムとの統合が容易なWindows クライアントやインターネットベースのアプリケーションを作成できます。.NET Framework 3.0 は、Windows Vista には既定でインストールされていますが、Windows Server 2008 では、役割管理ツールを使用してWindows の機能として.NET Framework 3.0 をインストールします。

CLRが最下層

 .NET Framework は、いくつかの抽象化層によって構成されています。最下層はCLR(Common Language Runtime :共通言語ランタイム)です。CLR には、言語統合、ガーベジコレクション、セキュリティ、メモリ管理を実行するコンポーネントのセットが含まれています。.NET Framework 用に作成されたプログラムは、プログラムのランタイム要求を管理するソフトウェア環境で実行されます。CLR はアプリケーションのVM(仮想マシン)として働くため、開発者はプログラムを実行する特定のCPU の特性を考慮する必要はありません。また、CLR はセキュリティ機構、メモリ管理、例外処理などの重要なサービスも提供します。

 CLR 内でランタイムにコンパイルされたアプリケーションコードは、MIL(MicrosoftIntermediate Language)という中間言語になります。MIL は、CLR の管理環境内で機能するバイトコードです。CLR は開発者に、有効期間管理サービスおよび構造化例外処理を提供します。.NET Framework 内のオブジェクトの有効期間は、ガーベジコレクタ(GC :Garbage Collector)によって決まります。GCのプロセスによって、メモリリークは自動的に防止され、開発者は下位レベルのシステムリソースに対処するコードを書く必要はありません。

 CLR の最上位にあるのは、クラスライブラリ層です。ここには、フレームワークの抽象化層内で使用されるインターフェイスとクラスが含まれます。このBCL(Base Class Library :基本クラスライブラリ)は、データタイプ、データアクセス、入出力方法などを定義するインターフェイスのセットです。BCL は上位層に継承され、Windows、Web フォーム、Web サービスのためのサービスを提供します。

 たとえばフォームの設計に使用される基本コントロールは、すべてBCL 内で定義されるクラスから継承されます。BCL の中心にあるXML 使用可能化クラスは、継承されてフレームワーク全体で使用され、データアクセスが含まれるさまざまな追加サービスを提供します。データアクセス層とXML 層の最上位でこれらの機能をすべて継承するのは、Windows フォームとWeb フォームのビジュアルプレゼンテーション層です。

最上位にはCLS

 .NET Framework の最上位にはCLS(Common Language Specification :共通言語仕様)があります。これは、基本的な言語機能のセットを提供します。ランタイム環境で言語タイプが宣言、管理、および使用される方法を定義する規則は、共通タイプシステムによって提供されます。CLS は、その共通タイプシステムのサブセットを定義します。すべての言語に共通の機能要件のセットを定義することによって、言語の相互運用性が確保されます。

 したがって、CLS インターフェイスを公開している言語は、CLS をサポートしている他の言語からアクセスできます。つまり、この層によって、.NET Framework はCLS 準拠の言語について言語の種類を意識しなくていいことが保証されるのです。たとえば、Visual Basic .NET とC#はどちらもCLS に準拠しているため、相互運用が可能です。

.NET Framework 3.0の新機能

 .NET Framework 3.0 は、既存の.NET Framework 2.0 CLR およびランタイム環境の機能が拡張されたものであり、.NET Framework 2.0 の拡張性を利用するように設計されています。以下に説明するようないくつかの新しい機能はありますが、既存のアプリケーションに対する大きな変更はありません。

Windows CardSpace(CardSpace)

 Windows CardSpace とは、アプリケーションユーザーがオンラインで個人情報の交換を安全に管理および制御するための、Windows および.NET Framework 3.0 の新しい機能です。Windows CardSpace は、ユーザー中心の考え方に基づきオンラインでIDの制御ができるように意図されたもので、ユーザーに自分自身を識別させることによって、オンラインエクスペリエンスを簡略化しています。

WPF(Windows Presentation Foundation)

 WPF は、Windows の次世代プレゼンテーションサブシステムです。WPF が提供する統合プログラミングモデルによって、開発者や設計者は、UI、メディア、ドキュメントを取り入れた優れたWindows スマートクライアントのユーザーエクスペリエンスを構築できます。WPF は、クライアントサイドアプリケーションの開発用に設計されています。また、アプリケーションクライアントワークステーションで動作する優れたWindows フォームアプリケーションやRIA(Rich Internet Application)も提供します。

WF(Windows Workflow Foundation)

 WF は、開発者がワークフロー対応アプリケーションを作成するときに使います。ワークフローのビルディングブロックであり、実行が必要な作業単位であるアクティビティは、コードを使用して、あるいは他のアクティビティを基にして作成します。

WCF(Windows Communication Foundation)

 WCF は信頼性が高く、安全に処理が行われ、相互運用が可能な分散アプリケーションを構築するためのマイクロソフトの統合フレームワークです。WCF は、あらゆる点でサービス指向を意識して設計されました。WCFは、.NET Framework CLR の最上位にクラスセットとして実装されます。