このページの本文へ

Microsoft.NETのコンセプト

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

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

文● Tetsuya Hara and Peter Hamilton

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

 「1Web連携」は、XMLと非常に密接な関連がある。そして、これまでの「連携」を考えると、いわゆる「粗」結合と「密」結合の違いを意識しなければならない。

 Microsoftでは「DCOM」、CORBAでは「IIOP」といったプロトコルがあるが、これらは「密」結合の典型的なプロトコルであり、非常に高速な処理をバイナリで行なう。トランザクション処理やスループットなどに最適化を図っているプロトコルなので、いわゆる短期間で終わる「ショートトランザクション処理」に対して、有効な手段となっている。これらは、イントラネットやローカルエリアのような、高速なLANが引かれている物理的に狭い範囲で使用する。だから、インターネットから見ると、Webサイトのなかで使用するプロトコルに限定される。これについては、Windows DNA 2000や、今回のMicrosoft.NETでも変わらない部分である。

 ところが、B2Bなどのいわゆるインターネットコマースなどの場合を考えると、サイトからサイトへの連携があって、この部分は回線速度も遅く、いわゆる「粗」結合である。そして、ファイアウォールを通る場合には、DCOMやIIOPには不向きとなる。また、今まではHTTPとXMLを使って処理していたが、これを効率化し、さらにイントラネット内のDCOMやIIOPといったプロトコルとのシームレスで円滑な組み合わせや連携を考える上で、HTTPやXMLを組み合わせたより効率的なプロトコルが必要になってきた。これを実現したのが「Simple Access Object Protocol(SOAP)」である。

 ファイアウォールの問題も、SOAPを使えばスルーすることができ解決する(SOAPは、一番メインに使われるプロトコルはHTTPだろうが、仕様上はHTTPの上だけで動くという規定にはなっていない。今後、ほかのプロトコルの上でも動くようになるだろう)。つまり、今までのDCOMとSOAPの両方を組み合わせて、インターネットとイントラネットを意識しないで、アプリケーション間通信ができるというのが、Microsoft.NETの主要な考え方である。問題なのは、SOAPは単なる通信プロトコルなので、開発者は、どのようにして開発するのかといった問題がある。

 Microsoftはこの問題に対して、以下のような2つの選択肢を用意することにより、開発者に対してSOAPを使って簡単な開発が可能な環境を提供しようとしている。

     
  1. Web Form
  2. SDL(Service Discription Language)

 「1Web Form」は、Visual Basicのフォームに、ActiveXコントロールを貼り付ける開発スタイルを、サーバサイドの開発に当てはめたものだ。Web Formでは、クライアントの開発者用のマシンで、フォーム上にツールボックスから選んだコントロールを貼り付けて作業を進める。

 今までは、クライアント上にフォームを貼り付けて、ユーザーインターフェイスを開発する技術であったが、Web Formでは同じ方法で、サーバ側のASPの拡張機能である「Active Server Pages+(ASP+)」の上に、サーバ側のビジネスオブジェクト(COM+オブジェクト)を貼り付けることができるようになる。そして、これをWeb上にアップロードできるようになった。Active Server Pagesに、スクリプトエンジンとビジネスオブジェクトを連携させる作業が、簡単にできるようになったわけだ。

 今までは、Active Server Pagesの上に、CreateObjectでCOMのオブジェクトを呼び出す方法を取っており、貼り付けてオブジェクトを呼び出し連携させる作業のスタイルができなかった。またこれまでは、COMのオブジェクトは、個別にVisual BasicやVisual C++、Active Template Library(ATL)で開発し、そのCOMオブジェクトをスクリプトから呼び出すといった各作業が分離していた。つまり、オブジェクトを開発する作業と、それをスクリプトで連携させるための開発作業が別々であり、開発環境も別々であった。

 それを「Visual Studio.NET(Visual Basic7)」で一体化したわけだ。一体化されたと同時に、Visual BasicやVisual C++、C#、Visual InterDevでプログラミングする場合も、同一のIDEのなかで行なえるようになったというのが大きな特徴である。

Figure 2 Visual Studio.NETを使ったWeb Formでの開発

Figure 2 Visual Studio.NETを使ったWeb Formでの開発

 現在のクライアントアプリケーションを開発する時と同じドラッグ&ドロップの操作体系(メタファ)で、フォームにコントロールを貼り付ける要領で開発が行なえる。この開発スタイルの移行によって、開発はやりやすくなるが、実はここに、Microsoftにとって重要な戦略的な意味がある。

 プログラマは、圧倒的にVisual Basicの開発者が多い(米国では、約300万人とも言われている)。これらVisual Basicプログラマは、UIにコントロールを貼り付けるという開発スタイル(メタファ)に慣れている。つまり従来と同じ開発スタイルをサーバサイドに適用させることによって、既存のVisual Basicプログラマは、そのままサーバサイドの開発へ移行できることになる。そして、Visual Basicプログラマがサーバサイドに移行して、現在のJavaの開発者以上に参加するというのは、Microsoftにとって非常に重要な戦略なのである。

 

カテゴリートップへ

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

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

ピックアップ