米Microsoftが2000年に「.NET」テクノロジを発表した当初,「これはCOMの終わりを示す兆候なのか」という議論が多く交わされたものである。結局のところ,.NETはCOMをベースにしておらず,ランタイム環境とバイト・コードをベースにしたものであった。その時点では,Microsoftの関係者を含むほぼすべての人が「.NETはCOMの終わりを示すものではない」と結論付けた。しかしテクノロジの世界は変化し続けている。いよいよCOMは,ビジネス・アプリケーションの世界で寿命を迎えようとしている。

 誤解しないでいただきたいのは,筆者は「COMに対するMicrosoft製品のサポートが終わる」とか「Microsoft製品の核として使われているという意味での標準としてのCOMの使用が終わろうとしている」と言いたいわけではない。筆者がいいたいのは,ほとんどのビジネス・アプリケーションがCOMを使って実装できなくなる日が間近に迫っていると言いたいのである。この違いは重要だ。簡単に言うと,MicrosoftがCOMのサポートを終了するのではなく,市場がCOMを受け付けなくなりつつあるのだ。

 現在市場では,より多くのメモリーとより高速なプロセッサを必要とするアプリケーションが求められている。

 もしあなたがベテラン開発者なら,最近あった最後の「技術的な大ジャンプ」,つまりWindows 3.1からWindows 95への移行を覚えているだろう。技術的には16ビットOSから32ビットOSへの移行と言った方が分かりやすいかもしれない。この経験が楽しいものだったと思っている開発者を,筆者は知らない。一部のコンサルタントにとっては稼ぎ時だったかもしれないが,彼らコンサルタントにとっても決して楽しい仕事ではなかったはずだ。

 現在われわれは,次の大ジャンプ,32ビットOSから64ビットOSへの移行に向けて準備中である。「64ビット」と聞くと,サーバーを思い浮かべる人が多い。結局,32ビットOSの限界が最初に見えたのは,企業のWebベース・アプリケーションで使用している高負荷のデータベース・サーバーであった。ただし,移行への取り組みが進むにつれ,ハイエンド・ユーザー(64ビット・プラットフォームの開発者,ゲームをより高速に実行するためより多くのメモリーを必要とするゲーマーなど)も,64ビットへの移行を視野に入れていることが分かった。平均的なWebサーバーでは64ビットへの移行の優先度はまだ高くないが,複数サイトのホストとして使用されるサーバーが増えてくるにつれ,Webサーバーに関しても最終的には64ビットへの移行を検討することになるだろう。

 その結果,バイナリ・プロトコルであるCOMには厳しい状況になる。COMベースのアプリケーションは,彼らのコンパイル状態に基づいて含まれたりフォーマットされたりするデータに基づいて通信を実行する。従って,32ビットOSで実行するためにコードをコンパイルすると,そのコードには32ビット環境をベースにしたプロトコルが実装される。問題は,32ビット環境で良好に動作するオブジェクトが64ビットの世界でも同じように動作するとは限らないということである。

64ビットに移行するつもりなら,今から「.NET」

  Microsoftや多くのハードウエア製造業者は,64ビット製品を既存の32ビット・アプリケーションとの互換性を持つように作成している。しかし,互換性をいくら高めても,32ビットと64ビットのアプリケーションがどちらも良好に動作するプラットフォームにはかなわない。このようなプラットフォームの例が,Windowsの「.NET Framework」である。重要なのは,Microsoftが.NET Frameworkを数年前に公開していることである。これは32ビットOSから64ビットOSへの推移が,16ビットOSから32ビットOSへの推移よりもはるかに容易であろうことを意味する。

 今後もCOMベースのインターフェースを使用してアプリケーションを構築する企業もあると思われるが,それほど遠くない将来,このような企業は標準ではなく例外となるだろう。 ほとんどの企業が.NET 2.0や後継バージョンである.NET 3.0を使用してコードを構築し,構築されたアプリケーションは全く問題なく64ビットの世界に移行できるようになるだろう。