マイクロソフト、無償提供「Web Matrix」でOSSに対抗(1/2 ページ)

ASP.NETの普及は思う通りに進んでいない。マイクロソフトのこの悩みは、Java陣営の強みとなっている無償提供開発ツールへの対抗となり、形を見せた。

» 2004年06月03日 15時05分 公開
[嶋川祐馬,ITmedia]

 マイクロソフトがリリースした「ASP.NET Web Matrix」(以下、Web Matrix)は、無償提供されるWebアプリケーション開発のツール。.NET Framework上で動作し、ASP.NETを利用したWebアプリケーション開発をVisual Basicライクに行うことができる。マイクロソフトの狙いは? そして、ツール登場に至った背景へと触れていってみよう。

ASP.NET Web Matrixの登場背景

 ASP.NET、およびVisual Studio .NET(以下、VS.NET)登場以前のWebアプリケーション開発は、主にテキストエディタが最もポピュラーな開発ツールであった。Visual BasicやVisual C++などの統合開発製品をリリースし続けているマイクロソフトでさえ、ASP.NET以前のActive Sever Pages(ASP)では、テキストエディタを用いた開発が主流であったほどだ。そのような背景の中、VS.NETはその手法を根本から革新し、Webアプリケーション開発に実用的な統合開発環境を提供することが目的となり、ASP.NETはその開発環境実現の基底技術として登場した。

 Web Matrixは、そのASP.NETの長所を生かすことのできる統合開発環境であり、無償で提供されるという点におどろきを感じる。マイクロソフトは、プロフェッショナル開発者向けの「VS.NET」と、趣味によるプログラマや小規模開発をターゲットとした「Web Matrix」の2つの統合開発ツールを用意し、ASP.NETの普及を目論んでいるようだ。

 Web Matrixを実際に使用してみると、「これが無償なのか」とおどろきを覚える。Web Matrixは、VS.NETと比較すると、全体的にシンプルな作りであり、インテリセンス(コード入力補完機能)チーム開発機能デバッグ機能が提供されていないなど見劣りはするが、Webアプリケーション開発についてはVS.NETとほぼ互角ともいえる程度の機能を搭載している。

 また、Internet Information Service(IIS)無しにWebアプリケーション開発を行うための簡易サーバ「Web Matrix Server」の搭載、Web Matrix独自のデータベースコントロール、FTPサポートなど、VS.NETでは実装されていない機能(※1、最終行に補足)もWeb Matrixには備わっており、単純にVS.NETのサブセットというひと言で片づけられるものではない。実際、VS.NETのよりもWeb Matrixの方が使いやすいというユーザーも存在するほどだ。

 これほどの機能性を持ち備えたWebアプリケーション開発ツールを無償提供するに至った、マイクロソフトの狙いは何だろうか。

 ひとつは昨今の無償ソフトウェア(オープンソース)の波である。特にインターネット環境を整備する場合、無償で入手可能なソフトウェアは無くてなならない存在といえる。Linux、Apache、MySQL、PHPと、いわゆるLAMPによるWebサーバ構築は、その象徴とも呼べるものだ。

 一方、商用ソフトウェアであるWindowsは、ソフトウェア自体の価格面(※2、最終行に補足)でLinuxと競合することは不可能であり、価格面でのアドバンテージを誇示していかなければならない。特にアプリケーション開発という面では、常に最先端の開発環境を提供してきたマイクロソフトにとってみれば、Webアプリケーションであっても、その地位を獲得しなければならないと考えるのは自然だ。

 しかし、ASP、ASP.NET、Java、Perlなどがひしめき合うWebアプリケーションテクノロジーの世界では、その言語仕様的な容易さと導入コストの低さからPHPがひとつ抜け出た格好になっているとも言える。マイクロソフトは、ASP.NETによりPHPに対抗しなければならないと考えているだろう。LAMPに対抗するために、.NET Framework SDKは当初より無償提供されていたが、基本的に開発ツールでのアプリケーション構築を前提としているASP.NETでは、PHPと競合できるだけの力が無かった。

 そこで登場してきたのが「Web Matrix」という回答だ。通常PCにプレインストールされているWindows XPさえあれば、Web Matrixと、(これまた無償の)Microsoft SQL Server 2000 Desktop Engine(MSDE)の入手で追加コスト無くWebアプリケーション開発が可能なのだ。LAMPとは違い、Web MatrixやMSDEは他のマイクロソフト製品同様インストールに技術的な知識は要求されない。つまり環境整備といった面倒な事抜きにWebアプリケーション開発に専念できるという事だ。また、Web Matrixは、LAMPには提供されていない強力な開発環境というアドバンテージを与えている。つまり、マイクロソフトは、LAMPに対抗の手段としてWeb Matrixを位置づけていると見るのが正しいのではないだろうか。

普及が進まないASP.NET

 Web Matrixのリリース背景には、実際問題としてASP.NETの普及が進んでいないマイクロソフトのジレンマからもきている。ASP.NETでは、開発者が、Webアプリケーション開発時に、生成されるHTMLを意識しないようにするために、HTMLをコントロール化した。そして、開発者は、そのコントロールを利用して、UIデザインをするというアプローチを採用している。これはJava陣営も追従し、Java Server Faces(JSF)を登場させることとなる。また、Java陣営では、VS.NETに対抗するための統合開発ツールが各社からリリースされてきているのも周知だ。

 ASP.NETはその性能的にも従来のスクリプトベースのASPとは比較にならない。.NET Frameworkの恩恵により、信頼性の高いアプリケーション開発が可能であり、テキストファイルのソースコード(この点は従来のASPと同様)→Microsoft Intermidiate Language(MSIL)→JITコンパイラによるネイティブ変換、のプロセスを通過することにより、高いパフォーマンスを実現する。ただし、上記のプロセスを通過するため、初めて実行される際はかなり遅い。しかし、Webアプリケーションでは問題とならない場合が多い。

 このように機能的性能的にも優れるASP.NETの普及は成功しているとは言い難い。これがWeb Matrixが無償提供されている二つ目の理由ではないか?Webアプリケーションを採用するのは、この2点以上に信頼性が重要になってくる。機能的・性能的に優れているという点を評価するのは開発者である。機能的に優れていれば開発は容易になるし、高い性能が期待できるのであれば、プログラムロジックの効率化によるパフォーマンスチューニングも不要である。つまり、開発者は楽ができるのである。

 しかし、ASP.NETを採用した場合、サーバー管理者は経験的に楽ができない(あるいはできそうにない)どころか、危険な物と認識されてしまった。ASP.NET登場の前年、2001年に強い逆風が吹いた。セキュリティホールを塞いでいなかったIISをターゲットとしたウィルスNimdaとCodeRedが登場したのだ。

 当時は、セキュリティパッチ適用時のアプリケーションの動作確認問題や、ファイアウォールの内側は比較的安全と思われていたため、セキュリティパッチは迅速に適用するものではないという風潮があった。このために大きな被害をもたらし、Windowsを含めてIISはセキュリティ上問題があるような捉えられ方をされた。開発者はASP.NETの利点を理解してもIIS無しでは利用ができなかったのだ。

 マイクロソフトの名誉の為に説明しておけば、セキュリティホールが皆無なWebサーバーは過去を振り返っても存在せず、現在、もっともポピュラーなWebサーバApacheにも数多くのセキュリティホールは存在する(どころか、セキュリティ的に問題のあるバージョンのApacheがアップデートされない状態で平然と利用されているのをよく見かける)。Nimda/CodeRedがターゲットとしたセキュリティホールをふさぐためのIIS向けパッチはすでに数カ月前にリリースされており、防ぐことは可能だったのだ。つまり、IIS以外なら安全で、IISが危険ということではなくセキュリティ管理体制自体の問題だということだ。

 そうとはいえ、IISにセキュリティホールがあったのは事実であり、イントラネット環境はともかく、インターネット環境でIISを利用するのに不安は感じることがあるのは否めない。それがひとつの原因となり、ASP.NETの普及がいまいち進んでいないのも事実である。

Linuxの企業内進出とWebアプリケーションとWindowsの関係

 さらにマイクロソフトが恐れているのは、Linuxの企業内進出だ。LAMPという組み合わせは、インターネット環境で一定の地位を得ることに成功した。また、World Wide Webの普及と共に、インターネット環境での利用から始まったWebアプリケーションは、次第にイントラネットでも利用されるようになった。Webアプリケーションのバージョンアップには、サーバのファイルを書き換えるだけで終了、というインストールコストの低さが評価されたのだ。

 そのような場面では、インターネットで利用されている技術がそのままイントラネットで利用されるのは至極自然だ。それは、LAMPがWebアプリケーションを通じて企業内に展開されることを意味する。また、それを足がかりにして、最もニーズの高いファイルプリントシェアリングという要件に対しても、Linuxが展開される可能性が増すという事を意味する。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ