このページの本文へ

Microsoft.NETのコンセプト

インサイドMicrosoft.NET(その1)

2000年10月24日 15時39分更新

文● Tetsuya Hara and Peter Hamilton

  • この記事をはてなブックマークに追加
  • 本文印刷
 

 次に、Windows DNA 2000や既存のCGIのサーバ上で動くアプリケーションの方法と比較して、「.NET」の特徴を考えてみよう。

 サーバ上でアプリケーションを呼び出すときは、URLによってパスを指定し、「?」を付けてパラメータを指定する。すると、UNIXなどでは、アプリケーションのCGIプロセスが起動して、パラメータ1と2が渡される。

 「.NET」の場合、基本的にオブジェクトの呼び出しは、CGIのアプリケーション呼び出しと大きく変わらない。

  1. http://webserver/directory ? param1 = value1 & param2 = value2
  2. http://webserver/method ? param1 = value1 & param2 = value2

 1は、URL上で通常のCGIアプリケーションに引数を渡す方法である。従来どおりにアプリケーションを呼び出して、そこに引数を与える方法である。そして、2が「.NET」の新しい方法である。

 違いは、1は「ディレクトリファット」が指定されているが、2は「オブジェクトのメソッド呼び出し」が指定されている部分にある。この違いが、今回の「.NET」の一番の大きな特徴と言ってよいし、そこで出てくるのが、COM+やフレームワークでの違いである。

 2で呼び出されるオブジェクトというのは、呼び出される時点で、すでにトランザクションが発生し、セキュリティ機能を持っている。つまり効率がよい。それに対して1は、トランザクションのなかでCGIを動かすことができない。

 2のオブジェクトがデータベースにアクセスして以降の処理というのは、1つのトランザクションで動かすことが可能となる。セキュリティに関しても、どういったクライアントからセキュリティIDで呼ばれているかどうかが、Microsoft Transaction Server(MTS)と同様のロールベースセキュリティを使って、簡単にチェックできるというのが特徴である。

 1のCGIの場合は、それができない。たとえばもう1個ほかのオブジェクト呼び出しに変えて、そこから先でトランザクションを発生させる方法を取れば可能だが、エラー処理はトランザクションの処理として認められない。ここが非常に重要な違いである。

 その他にも、1は1つのアプリケーションの呼び出ししかできない。2はオブジェクトなので、たとえばDLLを作って、そのDLLのなかの複数のオブジェクトにアクセスすることができる。

 

カテゴリートップへ

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ