.NETは本当にオープンスタンダードか

  • このエントリーをはてなブックマークに追加

 IBMとMicrosoftは9月17日、Webサービス分野で両社が成し遂げた成果を華々しく発表した。米ニューヨークで開かれた共同記者会見にはMicrosoft会長のBill GatesとIBMソフトウェアグループ幹部のSteve Millsが出席し、2社の協力関係を力強くアピールした。

 IBMとMicrosoft。私には何だかちぐはぐな組み合わせに思える。

 IBMはともかく、Microsoftが顧客の生産性や費用対効果を高めるために標準準拠を目指しているとはいい難い。2社は肩を並べてWebサービスの相互運用性について語ったが、Microsoft側に何かが欠けていることは明らかだった。

 確かに両社は数々の重要な業界標準を共に開発し、それを普及させるよう取り組んできた。こうした標準は今後もしばらくの間は企業のビジネスに大きな影響を与えていくだろう。しかし、IT部門にとって重要なのは、こうした標準を現実のソリューションに落としこむことであり、スペックの先進性はたいした問題ではない。このことはWebサービスにもあてはまる。

 Webサービスに対するMicrosoftのアプローチは、すべてのユーザーをWindowsシステムという単一のコンピューティングモデルに押し込むものだ。ユーザーにはハードウェアやOSを選ぶ自由はない。メインフレーム、Unix、Linuxなど、Microsoft製以外のプラットフォームを利用している何百万人ものユーザーの存在はMicrosoftの頭にはないようだ。

 Microsoftの言葉とは裏腹に、オープンスタンダードとは必ずしもオープンな環境を意味するわけではない。MicrosoftのSteve Ballmer はかつて、.NETが実現するXMLベースのWebサービスは、ユーザーに多くのメリットもたらすものだと語った。しかし、この見解は単純すぎる。確かにオープンスタンダードを取り入れた環境では、XMLやWebサービスが障壁をうち崩すものになるだろう。しかし、現実には.NETはユーザーをMicrosoft環境に囲い込むことで、いつの間にか新しい障壁を作りあげてしまうのだ。

 結局.NETはオープンスタンダードを妨害するものでしかない。Microsoftの製品は、Windowsアプリケーションの開発者に限ってのみオープンとなっているからだ。私なら.NETをオープンとは呼ばない。Microsoftがまたひとつ、オープンとはほど遠い環境を作り出したにすぎない。

 プロプライエタリな環境下では、自社のビジネス要件に合った最善のソリューションを選ぶことは難しい。金融サービス企業なら、異なる種類のシステムをひとつに統合できるセキュアなWebサービスを必要とするだろう。しかし、Microsoft製品につきまとうセキュリティ上の不安を思うと、つきあいのある銀行が.NETを導入するなんて考えただけでもぞっとする。

 J2EEミドルウェアと違い、.NETは情報をWindowsデスクトップに結びつける以外にこれといったことをするわけではない。すでに企業はアプリケーション統合の段階を卒業している。今企業が必要としているのは、大量のトランザクションや多種多様の顧客データを管理してくれるソフトウェアであり、複雑な業務プロセスを統合し、IT環境を自動的に集中管理してくれる仕組みだ。しかし、このすべてにおいてMicrosoftは後れをとっている。

 またMicrosoftは、.NETがコスト削減につながると主張しているが、この言い方にも語弊がある。確かに初期投資は抑えられるだろう。しかし、移行コストをトータルでみた場合はどうだろうか。Gartnerは最近の報告書のなかで、企業が既存のプログラムを.NETに移行する際のコストは、.NET対応のプログラムを新しく開発する場合の40%から60%だと予測している。

 .NETでWebサービスプラットフォームを構築するなら、これまでのアプリケーション投資は溝に捨てる覚悟が必要だ。たとえば、IBMのCICSシステムは1日300億件ものトランザクションを処理し、その費用は1兆ドルにものぼっている。企業はこのように膨大な処理能力を持ったシステムを捨ててしまうほど余裕があるわけではないし、これをほかのアプリケーションに利用しようと考えるだろう。しかし、.NETを導入するなら古いCICSは倉庫行きになると考えた方がいい。MicrosoftのHost Integration Serverは、メインフレーム上のCICSに限定的なアクセスしか許していないからである。

 Webサービスの開発・実装プラットフォームとして.NETが十分でないことを示す理由はほかにもある。拡張性に欠けること、開発ロードマップが定まらないこと、移行に5年から6年もかかることなどだ。

 しかしMicrosoftは、標準化団体に参加したりIBMと手を組んだりするだけではオープンといえないことに気づいていないようだ。同社はあいかわらず、Windows専用アプリケーションを開発するために、あるいはパートナー企業にそうしたアプリケーションの開発を奨励するためにWebサービス標準を利用している。Microsoftは今後も.NETを「相互運用性の高い」Webサービスを実現する最良のプラットフォームだと主張し続けるだろう。それが現実にはオープンとはほど遠い代物だったとしても。

 Windowsはデスクトップ市場を支配しており、Windows PCは今後も幅広く利用されるだろう。だからこそ、IBMはニューヨークで行われたデモでMicrosoft製品との相互運用性をアピールしたのかもしれない。しかし、Webサービスの世界にはほかにもすぐれた製品が存在する。Microsoftの支配がWebサービスにも及ぶと結論づける理由はどこにもない。

 本当の意味で相互運用性の高いWebサービスプラットフォームを導入したいなら、必ずしもオープンとはいえない.NETを選択する前に、もう一度よく考えてみる必要がありそうだ。

筆者略歴
Bob Cancilla
30年にわたり、大手保険会社や独立系ソフトウェア開発会社の大規模システム開発や技術マネジメントに携わる。なかでもIBMのAS/400インターネットテクノロジーには発表以来深く関わっており、現在は自らが設立したユーザーグループIgnite/400(メンバー数6500人)のマネージングディレクターをつとめている。

  • このエントリーをはてなブックマークに追加