2000年6月の「Microsoft .NET」の発表からもうすぐ2年が過ぎる。2002年3月には.NETアプリケーションのソフトウエア開発キット(SDK)である「.NET Framework SDK」や,このSDKに対応した統合開発環境「Visual Studio .NET」がリリースされている。開発/実行環境がリリースされたことで,.NET戦略が製品レベルで実際に始動したことになる。
しかし,.NETとは一体なんなのか,いまだに十分に理解されていないというのが実感だ。問題は,.NETを構成する製品/技術が多岐にわたることにある。ほとんどすべてのMicrosoft製品/サービスが何らかの「.NET対応」を施しているため,個別の機能について理解できても,全体のシステム像がどのようなものになるのか,非常にイメージしづらいのだ。
私が所属している日経Windowsプロでも少しずつ.NETを取り上げてきたが,難解さに業を煮やして,.NETへの取り組みを始めている企業がどの.NET技術に利用価値を見出しているのか,特集することにした。
取材の過程で分かってきた,.NETを読み解くためのポイントを紹介しよう。ポイントは2つある。1つは「.NET=Webサービス」というイメージを捨て去ること。もう1つは.NET Frameworkの位置付けをはっきりさせることだ。
「.NET=Webサービス」ではない
現在,多くの人がWebサービスを実現するための技術として.NETを認識しているはずだ。Microsoft自身,テレビ・コマーシャルなどを通じた.NETキャンペーンでWebサービスを連想させるシステムを登場させ,この認識を助長している。
自動車ディーラが顧客に応対しながらタブレット型のPCを操作すると,工場でロボットが塗装を始めるというテレビ・コマーシャルをご覧になった方も多いだろう。「企業と顧客のニーズを一瞬で結ぶ」というキャッチ・コピーのみで,Webサービスという言葉は出てこないが,「Webサービスなら.NETで作れますよ」というメッセージが込められているのは明らかだ。
Webサービス自体は各社が急ピッチで関連技術の研究/開発を進めており,標準仕様の策定や相互運用性を確保するための活動でもめざましい進歩が見られる。しかし研究の進展と同時に,すぐにでも実現可能なことだけではなく,実現までに時間がかかることがあることも分かってきている。
Microsoft自身が「.NET=Webサービス」であるというイメージを強調してきたのは,先のコマーシャルのように,.NETのメリットを広く訴えやすい,と考えたからかもしれない。だが逆に,このために多くの人が「.NETは自分には関係ない」あるいは「まだ先の話だ」と感じてしまっているように思う。
私自身は.NETを,Webサービスには興味のない多くの技術者にとっても,重要な意味がある技術だと思っている。Webサービスの技術が.NETの重要な要素であることは間違いない。ただ,これはあくまでも一要素としての重要性である。
.NET Frameworkで.NET Serverの機能を先取りする
では.NETのアイデンティティにすら見えたWebサービスを除いて考えると,後には何が残るのか。
それは.NET Frameworkだと私は考えている。「何を当たり前な」と思った方はソフトウエア技術者の方ではないだろうか。.NET環境向けのプログラミング解説書などでは既に詳しい解説がなされているからだ。しかし生のプログラム・コードを扱っていない人にはまだまだ正しく理解されていない。
非技術者の理解を妨げる原因は「フレームワーク」という名称だ。一般の人に.NET Frameworkを説明する一番分かりやすい例えは「Javaのようなもの」だろう。これに「Javaと違って様々な言語を使える」,「Webサービスのホスティング機能を持っている」などの差分情報が付くこともあるが,いずれにしてもOSを隠ぺいする中間層のイメージだ。
しかし私は「Windows 2002」という例えのほうが適切だと考えている。.NET Frameworkは,もうまごうことなくWindowsの一部,つまりOSそのものと理解すべきなのだ。
Windows NT 4.0をご存じの方ならOption Packという拡張パッケージをご記憶だろう。.NETの前身であるWindows DNA(Distributed interNet Applications)アーキテクチャと同時期に発表された,Windowsへのアドオン・ソフト群である。パッケージ形態こそアドオンの形を取っているが,NT 4.0+Option Packの環境は後継OSであるWindows 2000(当時はWindows NT 5.0と呼ばれていた)の機能を先取りした,「Windows NT 4.5」と例えられるものだった。
.NET Frameworkは,ちょうどWindows 2000 Serverに対するOption Packのようなものである。つまり次期版OSであるWindows .NET Serverに標準搭載予定の機能が詰まっている。しかもまったくの新機能ではなく,既存の機能をさらに強化したものがほとんどである。Windows NTをWindows 2000相当に強化するOption Packと,Windows 2000をWindows .NET Server相当に強化する.NET Frameworkとを比較してみれば,Webサーバー機能の強化やコンポーネント・サービスの強化など,両者の強化ポイントが驚くほど似通っていることが分かるはずだ。
.NETを従来とまったく違うものに見せていたWebサービスのアイデアが現実には限定的な世界であったり,.NET Frameworkが結局はWindowsのアップデート版だったりという落ちにがっかりする必要はない。現在Windowsシステムを利用している多くの企業にとっても利用価値が大いにあることを意味するからだ。
しかもWebサービスを含めた一つひとつの機能は調べれば調べるほど強力である。.NET Frameworkが提供する「ベターなWindows環境」が情報システムをどう変えるのか,詳細は2002年6月号にて特集したので,興味がある方はご一読いただければと思う。
(斉藤 国博=日経Windowsプロ編集)