図1●Microsoft.NET戦略に沿って提供される製品や機能
Microsoft.NETは,「あらゆるシステムやサービス,デバイスを連携させる」ことを目指した戦略。そのインフラとして,(1).NET Enterprise Servers,(2).NET Building Block Services,(3).NET Framework/Visual Studio.NET,(4)OS(Windows 2000/Whistler/Blackcomb)などを提供する

米Microsoftは2000年6月,新戦略「Microsoft.NET」を発表した。今後同社は,.NETに沿って開発ツールやOSを強化していく。ただ,.NETは今後2~3年かけて実現するもので,まだ検討段階にはない。今は.NET自体よりも,.NETに沿った各製品の動きに注目すべきである。

 マイクロソフトは,開発者向けイベント「Tech Ed 2000」(7月26~28日)で次世代戦略「Microsoft.NET」の概要を明らかにした。

 .NETは,今後2~3年をかけて実現していくものである。現時点では不透明な部分が多く,評価はできない。企業ユーザーも,まだ.NET自体を検討する必要はない。ただし,同社の製品を使い続けていく上では,.NETを理解しておくべきである。同社は今後,OSや開発ツールの機能強化の方向を.NETに沿って進めようとしているからだ。以下では,これまで明らかになっている内容から,.NETで何ができるようになるのか,製品がどう変わっていくのか,を見ていこう。

4つのフレームワークで構成する

 マイクロソフトはMicrosoft.NETを,「あらゆるシステムやサービス,デバイスを接続するためのインフラ」と言う。同社が今後提供を予定する製品からこの言葉を解釈すれば,WWW上で公開されたプログラムを連携する基盤を提供し,その上で構築したシステムをWWWブラウザや各種携帯端末から利用できるようにする,ということだ。

 Microsoft.NETを理解する上で重要なキーワードが,「Webサービス」である。ここでいうWebサービスとは,単純にWWWサイト上に構築されたサービスではない。認証やカレンダなどの基本機能から在庫確認といったビジネス・ロジックまで,インターネット上に公開された単機能のサービスのことである。しかも,COMやCORBAなどのオブジェクトとして実装する必要がある。こうしたWebサービスを容易に構築,連携できるインフラを提供する――これがMicrosoft.NETのビジョンである。

 米Microsoftは.NET関連の製品や機能として,4つのフレームワークを示した(図1[拡大表示])。(1)サーバー・ソフト製品群「.NET Enterprise Servers」,(2)Webサービス「.NET Building Block Services」,(3)開発環境とツール「.NET Framework/VisualStudio.NET」,(4)Windows 2000とその後継OS(Whistler,Blackcomb,いずれも開発コード名)--である。

表1●.NET Enterprise Serversを構成するサーバーとその概要

BackOfficeが.NETサーバー群になる

 4つのフレームワークの中で最初に提供されるのが,「.NET Enterprise Servers」である。製品の内容と大まかな提供時期が明らかになっている。ただしこれは,これまでBackOfficeと呼んでいたサーバー・ソフト群の新版と言える(表1[拡大表示])。2000年後半から順次出荷される予定である。

 .NETにおける位置付けを見ると,Webサービスを作成するためのバックエンドとなる。つまり,WebサービスがDBアクセスを必要とする場合にはMS SQL Server 2000を,ホスト連携が必要な場合にはHost Integration Server 2000を利用する,といったもの。名称が変わっても,.NET向け新機能が追加されるわけではなく,これまでの路線は変わらない。

 ただ,.NETのビジョンに即し,インターネット系システムの構築に向けた新たなサーバー・ソフトが登場する。Application Center 2000とBizTalk Server 2000の2つである。Application Center 2000は,WWWサーバーやCOM+へのアクセスを複数のサーバーに分散させるためのサーバーである。一方,BizTalk Server 2000は,XML(eXtensible Markup Language)を利用してアプリケーション間を連携するサーバー。あらかじめユーザーが定義したワークフローに基づいて,XMLデータの変換や交換を処理する。

図2●.NET Building Block Servicesの仕組み
ユーザーは1つのWWWサイトにアクセスしながら,同時に複数のWebサービスを利用できるようになる。複数のWebサービスは,SOAPと呼ぶプロトコルを利用して連携,XMLでメッセージを交換する

他社が提供するWebサービスと連携

 .NETとして新味が出てくるのは,.NET Building Block Servicesが登場してからになる。すなわち,Webサービス群とその連携技術SOAP(Simple Object Access Protocol)が実現されてからだ*1。ただ,実現時期については明確になっていない。

 .NET Building Block Servicesが実現されれば,インターネット上に公開されたWebサービスを1つのコンポーネントとして,自社のWWWサイトに組み込めるようになる。例えば,自社のWWWサイトに他社が公開している認証サービスや在庫確認サービスを組み込む,といった形だ(図2[拡大表示])。

 こうしたWebサービスは,企業が構築したWebサービスのほか,ASP(Application Service Provider)や独立系サード・ベンダー(ISV)のWebサービスが想定されている。Microsoft自身も.NET Building Block Servicesを提供する。既にMicrosoft Passportと呼ぶ認証サービスを提供しているほか,検索やカレンダなどの基本機能を提供する予定である*2

連携にはSOAPを利用

 Webサービスを連携する仕組みには,SOAPと呼ぶプロトコルを利用する。SOAPは,RPC(Remote Procedure Call)メッセージをXMLで記述,カプセル化する機能を備える。トランスポート層は規定していないが,ファイアウオール経由の連携を可能にするため,HTTPやSMTPなどと組み合わせて利用することが想定されている。

 これまで,異なるシステム間の連携にはDCOM(Distributed COM)やCORBA(Common ORB Architecture)といった技術が提案されてきた。これを,インターネット上のプロトコルを使った形にしたのがSOAPである。SOAPに対応するだけでは駄目で,SOAPを利用するには,所望のオブジェクトにメッセージを渡して実行する仕組みが必要だ。これに関しては,米MicrosoftはROPE(Remote Object Proxy Engine)と呼ぶモジュールを提供する*3

写真1●Visual Studio.NETの開発環境
開発環境はVisual InterDevと似ている。Webサービスをドラッグ・アンド・ドロップしながら開発できる。画面はVisual Studio.NET PDC Tech Previewのもので,最終的な製品は写真と異なる場合がある

Win32から.NET Frameworkへ

 Webサービスを構築するための開発ツールとしては,Visual Studio 6.0の次期版「Visual Studio.NET」が2001年の夏頃に提供される予定である。Visual Studio.NETでは,Visual InterDevと同様な開発スタイルでWebサービスを構築できる(写真1[拡大表示])。ドラッグ・アンド・ドロップの操作でWebサービスを取り込む機能,XMLを自動生成する機能などを提供する。

 Visual Studio.NETにおける開発基盤も大きく変わる。既存のWin32,MFC(Microsoft Foundation Class)は捨て,新たに「.NET Framework」と呼ぶクラス・ライブラリを提供する。Win32とMFCも引き続きサポートするが,今後は.NET Frameworkを開発基盤にする(図3[拡大表示])*4。.Net Frameworkでは,SOAPを利用してWebサービスを構築,公開する機能,XMLデータ処理機能,などが提供される。

 このほか,.NET Frameworkでは「Common Language Runtime(CLR)」と呼ぶ実行環境を提供する。これにより,複数の開発言語をサポートする。マイクロソフトではVisual Studio.NETでVBやVC,.NET用に開発した新言語「C#」をサポートするほか,サード・ベンダーがCOBOLやPerlなどに対応したツールを提供する。

 CLRは,Javaの仮想マシンと似た仕組みを採用している。一度中間コードに変換してから実行する形態をとる。メモリー管理を自動化するガベージ・コレクション機能,複数言語で「型」情報の受け渡しが可能なCommon Type System機能などを備える*5

 .NET Frameworkで開発したアプリケーションの実行環境が整うのはしばらく先だ。.NET FrameworkやSOAPなど,.NETの機能が標準装備されるのは,2001年以降に登場するWindows 2000の後継OS「Whistler(開発コード名)」や「Blackcomb(開発コード名)」からになる。Windows95/98/NT/2000にも同様な実行環境は提供するが,時期は未定である。

図3●.NET Platformにおける開発環境
既存のVB,VCのほか,COBOLやC#など複数の言語をサポートする。すべてのプログラムは一度中間コードに変換してから,Common Language Runtimeと呼ぶ実行環境を介して実行する仕組みをとる。新規に「.NET Framework」と呼ぶクラス・ライブラリ群も提供する

SOAPの普及がカギを握る

 Microsoft.NETを実現する上でコアとなる技術は,Webサービスを連携するSOAPである。しかし,SOAPが業界標準として普及するには,いくつかの壁がある。

 まず,SOAPの標準化はまだ始まったばかりで,先が見えないこと*6。現在はSOAP 1.1の仕様が公開されているが,Webサービスを検索するための仕組みやセキュリティなどが決まるのはこれからである。Webサービスを連携した場合の課金方式など,ビジネス・モデルもまだ見えていない。不透明な部分が多く,まだ判断できないような状況である。

 SOAPをパートナ企業が採用しなければ,Microsoft.NETはMicrosoftのみのソリューションで終わってしまう。Windows以外のプラットフォームで使えるようにするには,CORBA-SOAPブリッジのようにそれぞれの製品ごとにSOAPと連携する仕組みが必要である。さらに,企業やISVなどはSOAPを採用した上で,SDL(Service Description Language)を用いてWebサービスを公開する必要がある*7

(榊原 康=sakakiba@nikkeibp.co.jp)