Visual Basic.NET                   [Top]

■CLRとは
Common Language Runtime
Microsoft社が提唱するMicrosoft .NETで、.NET対応プログラムすなわちアプリケーションソフトを実行させるための環境を提供するソフトウェア。
.NET対応プログラムはMSILという形式によって保存されている。MSILはMicrosoft Intermediate Languageの意で「Microsoft .NET」環境で使用される、実行可能ファイルの標準形式。中間コードの一種で、実行する段階でCLRがMSIL形式からマイクロプロセッサが理解できる ネイティブ形式に変換する。
すなわち、MSILのコードを実行できる環境を提供するするのがCLR。
MSILは開発言語に依存せず、開発言語からMSILへのコンパイラさえ用意すれば、どのような言語でもMSIL形式のプログラムを作成できる。C# VisualBasic.NETも同じCLRを使う。20以上のプログラミング言語がCLRをサポートしつつある。


ランタイムとはWindowsの場合はDLLファイルの形で提供される。懐かしいがVB6.0の場合はMSVBVM.DLLが必要であった。

CLRはJavaVMと同義である。Java仮想マシンと同様の役割を担う。
■.NET Frameworkとは
Microsoft .NET対応アプリケーションの動作環境。クラスライブラリの集合体という形で提供される。
 .NET対応アプリケーションソフトは、コンパイル時に.NET Framework用の中間コード(「MSIL」と呼ばれる)に変換され、.NET Frameworkのランタイムが中間コードを再コンパイルし、OSごとのネイティブコードに変換して動作する。

 したがって、.NET対応アプリケーションは、.NET Frameworkがインストールされている環境であれば、OSなどに依存せず動作することができる。

 Java仮想マシンに近い性格を持つが、.NET Framework自体は特定の開発言語に依存しない。Microsoft社が提供する主要な開発言語であるVisual Basic/C++/C#などのほか、サードパーティがこれ以外の開発言語を.NET Frameworkに対応させることもできる。

 .NET Frameworkはランタイムとして動作するため、.NET対応アプリケーションを動作させる環境では必ずインストールが必要になる。Windows 98/NT 4.0以降のWindowsに対して.NET Frameworkが用意されるが、この他のOS上で動作する.NET Frameworkを作成することも可能とされている。
Windows XPだったら不必要になるのだろうか。ビルドで実行可能なexeファイルを作ってノートパソコンで動かしたところ動いた。VB6.0の場合はMSVBVM.DLLが必要であったがこのようなファイルも必要なく動いた。

.NET Frameworkは.NET対応アプリケーションを動作させるために必要なソフトウェアがまとめられたパッケージでMicrosoftから無償でダウン ロードできる。
■Webアプリケーションとは
Webアプリケーションにはブラウザ上で動作するクライアントサイド型とWebサーバー上で動作するサーバーサイド型がある。
ASP.NETで作成するWebアプリケーションはサーバーで実行されるアプリケーションである。
クライアントからアクセスがあるとWebサーバは指定されたASP.NETで作成されたWebページ(拡張子.aspx)
を表示するとともに必要に応じてコードモジュールと呼ばれるファイル(拡張子.aspx.vb)をプログラムを呼び出して実行する。
サーバサイドのWebプログラムを実行するにはWebアプリケーションサーバーと呼ばれるソフトウェアが必要になる。
■IISとは
Internet Information Server
Webサーバーの機能に加え、ASP.NETによるWebプログラムを実行するためのWebアプリケーションサーバの機能を搭載している。
Microsoft社のインターネットサーバソフトウェア。WebサーバやFTPサーバ、SMTPサーバ、限定的なNNTPサービスなど、様々なサーバの機能を統合している。同社のOSであるWindows NT Server/Windows 2000に標準で付属する。バージョン4.0からはトランザクションサービスを提供するMTSも付属し、ASPやCOMを組み合わせて開発された高度なWebアプリケーションを動作させることができる。同社の次世代WebアプリケーションアーキテクチャのWindows DNAの中核となるサーバソフトウェアである。ちなみに、IISの正式名称はバージョン5.0(Windows 2000付属版)から「Internet Information Services」になった。

Internet Information Server がなければWebアプリケーションを実行できないのか、どこのサーバがIISをサーポーとしているのか。
■ASP.NETとは
active server pages 
.NET Frameworkで提供されるWebサービス向けのクラスライブラリ。Windowsサーバ上でダイナミックなWebページを動作させるための基盤となるソフトウェアで、WebアプリケーションやWebサービスの開発・構築に用いられる。

 位置付けとしては従来のASPの後継にあたり(そのため「ASP+」と呼ばれていたこともある)、従来のASPとの互換性も一応維持されるが、コードを事前にコンパイルするようになり、.NET Frameworkで使用できるあらゆる言語に対応するなど、大幅な拡張が行われる。

 コンパイルは自動的に行われるため、開発者が手動でコンパイルを行う必要はない。また、コンパイル後のコードはキャッシュされるため、一度コンパイルすれば変更を加えるまで再コンパイルの必要はない。

 ユーザインターフェイスの作成には「Web Forms」と呼ばれる特殊な記述方法が用意されており、実行時にASP.NETサーバがWebブラウザの種類を認識し、自動的に最適なHTMLソースを出力するなど、HTTPサービスの機能も強化されている。

Webサーバー上で実行されるサーバーサイドアプリケーション開発を実現するための技術がASP.NETである。