2002年3月に.NET Framework[用語解説] が国内出荷され,1年と少しが経過した。2003年5月には,初めて.NET Frameworkを標準搭載するOS,Windows Server 2003が出荷される見込みである。環境が整いつつあり,システム構築に携わる開発者は,Javaの対抗となり得るシステム構築基盤として.NET Frameworkを真剣に評価すべき時期に来ている――。日経システム構築では,こうした考えから,5月号で「.NETかJavaか」という特集記事を企画した。

.NETの起爆剤になっていないXML Webサービス

 以前から気になっていたのは「.NETには,Javaと異なる独自の適応領域や市場が存在するのか」という点だ。

 Microsoftの次世代システム構築基盤である.NET Frameworkは,Javaを研究して開発されたと言われる。仕組みや,アーキテクチャは似ており,かつ後から作られただけあって,随所にJavaにはない機能が見られる。Webアプリケーションでイベント・ドリブン型のアプリケーションを実現する仕組みなどだ。

 とはいえ「Javaより何割良い」というだけでは,Java開発者がわざわざ乗り換える動機としては弱い。

 Javaは先行して実績を積み重ねていたため,弱点を補うノウハウや,フレームワークなどツールも蓄積されている。Javaが入り込みにくい用途や市場がなければ,Javaの拡大を食い止めるだけの存在になりかねない。

「情報システム部参加型コーディング」が.NETのメリット

 Microsoftは,当初,XML Webサービスの開発の容易性を.NETのメリットとして喧伝していた。XML Webサービスを前提としてデザインされた.NETはWebサービスとの親和性が高い。しかし,XML Webサービスの立ち上がりは遅かった。期待や関心は高いものの,XML Webサービスを活用した“儲かる”ビジネス・モデルが確立されておらず,現時点ではまだ,Webサイトに比べて微々たる市場しかない。そのうちに,JavaでもXML Webサービスの開発を容易にする仕組みの整備も進んできた。

 それでは,.NET独自の用途は他にないのか。特集の取材で得た答えは,.NETの開発ツールであるVisual Studo.NETの使いやすさが,Javaでは実現しにくかった「ユーザー企業(情報システム部門)もコーディングを行えるシステム」である。このような領域が存在するのではないかと考えている。もちろん,.NETの標準的な言語であるVB.NETやC#はJavaと同様に複雑なのだが,Visual Studo.NETがうまくその煩雑さを覆い隠している。

 例えばノエビアは,Webの代理店支援システムを,情報システム部門だけで企画からコーディングまで行った。あるインテグレータは,過去にJavaのシステムを納入したユーザー企業が.NETを「.NETを選ぶユーザー企業の情報システム部は,自分達で開発できる,あるいは修正できると期待している」と語る。

 Java自体が複雑で,習得が困難であるがゆえに「ユーザー企業は企画だけを行い,プログラミングはインテグレータに任せるもの」という傾向を推し進めてしまったように感じている。

 COBOLやVisual Basic(クライアント/サーバー)が全盛の時代は,情報システム部も,ちょっとした修正や追加は当たり前のようにコーディングしていたように思う。軽微な修正も外注することになれば,システムの保守コストは高くなり,柔軟性は失われる。情報システム部の力を弱めてしまった面もあるのであはないか。企画と言えば聞こえはいいが,泥臭い細部を知らないとベンダーとの交渉力も弱る。Javaの“弊害”と言えるかもしれない。

 そのほか「UNIXよりコストが低い」「Windowsの技術資産を生かせる」という理由からも,.NET Frameworkの採用が進みつつある。クライアント/サーバー・システムの開発環境としては,Visual Basicの正統な後継である.NETの「Windowsフォーム」は最も有力な選択肢だ。インテグレータもシステム構築の実績を作りつつある。日経システム構築の5月号特集では,.NETを採用したユーザー12社の事例や,インテグレータ19社の実績もまとめた。

.NETの弱点は実績と“オープン性”

 逆に,.NETの弱点となっているのは,大規模なシステムでの実績の少なさと,“オープン性”の欠如である。

 前者の実績は,これから積みあがっていくだろう。例えばカブドットコム証券は,2003年度中に,現在ASP(Active Server Pages)で構築している同社のシステムを,.NET Frameworkで全面再構築するという。

 しかし,後者の“オープン性”についてはどうだろうか。Javaが普及した要因はいくつかあるが,最大のポイントはこの“オープン性”であったと,記者は考えている。様々なOSで動作し,Webアプリケーション・サーバーや開発ツールも様々なベンダーが提供したため,ユーザーは自由に選択できた。ベンダーは機能や性能を競い合って製品を進化させた。

 これに対し,.NET Frameworkはどうか。業務システムに使おうとする限り,事実上,OSはWindowsに限られる。Microsoftは,FreeBSD版の.NET Frameworkを提供しているものの,目的は学術研究に限定される。

 今後,期待できそうなのが,Mono Projectだ。Microsoftと全く独立に,オープンソース版の.NET Frameworkを開発しているプロジェクトだ。主導しているのが,Linuxの標準的なデスクトップ環境GNOMEを開発したXimianというLinux関連企業であることもあり注目を集めている。

 2003年1月には,WebアプリケーションASP.NETを動かせるWebサーバー・ソフトウエアXSPもリリースした。まだまだ開発中の機能は多いものの,開発は着々と進んでいる模様だ。現在LinuxとWindowsをターゲットOSとして開発を進めている。Mono Projectによれば,Linuxに依存した部分は多くないので,他のUNIX系OSにも容易に移植できるという。

 Monoのようなオープンな環境が育つかどうかが,.NET普及のカギを握っているように思える。Microsoftは,.NETの仕様を標準化機関であるECMA(European Computer Manufacturers' Association)に提出しており,オープンな標準にしようという姿勢を見せている。しかし,それが単なるポーズなのか,本当に.NETをオープンにしようとしているのか。今後もMicrosoftが十分な仕様や情報を標準として公開していくかどうかによって明らかになるだろう。

(高橋 信頼=日経システム構築 副編集長)