後藤弘茂のWeekly海外ニュース


着実にポイントを重ねるJava

●NetscapeがNavigatorをPure Java化

 一時の熱狂が収まったあとも、Javaが着実にポイントを上げている。先週、ニューヨークでJava関連のイベント「Java Internet Business Expo」が開催された。その発表の内容などを見ていると、Javaへの支持は着実に厚くなっているようだ。

 今回の発表のなかで、いちばん話題になったのは、米Netscape Communications社が、'98年早期に「100% Pure Java」バージョンのNetscape Navigatorを出すと発表したことだ。もちろん、Netscapeは当初からJavaを積極的にサポートはしており、自社製品も一部のモジュールのJava化は進めていた。6月にはコンポーネントモデルにJavaBeansを採用すると明らかにしているし、NC用のJava版Navigatorの開発も行って来た。しかし、Navigator本体の100% Pure Java版開発を明確にしたのは今回が初めてだ。

 この新ブラウザは、米Sun Microsystems社がインターネットアクセスのためのクラスライブラリとして提供しているHotJavaとインテグレートされるという。そして、NavigatorのHTMLレンダリングエンジンは、JavaBean(Javaベースのソフト部品)のひとつとして将来のJava Development Kit (JDK)に入れられるという。つまり、Navigatorのテクノロジを使ってカスタム化したアプリケーションを作ることもできるようになるわけだ。Netscapeが100% Pure Javaへの注力を明確にしたことは、Sunにとっては大きなポイントとなる。NetscapeがJavaに完全に移行するには時間がかかるとしても、これで移行の階段に片足をかけたことになるからだ。Netscapeの動きにより、他の企業の100% Pure Java対応、JavaBean化に弾みがつく可能性は高い。

 また、それと同時にSunとNetscape、そして米IBM社は、Javaのインプリメンテーションでの性能向上を図るための「Java Porting and Tuning Center」の解説も発表した。今のJavaのネックのひとつになっている、プラットフォームごとのばらつきをなくし、Javaを現実的なプラットフォームとして整備しようというわけだ。

●野心的なIBMのSan Franciscoプロジェクト

 このセンター開設でもわかる通り、最近のIBMのJavaへの入れ込みはなかなかすごい。それを象徴するのが、同社が7月に発表した「San Francisco」プロジェクトだ。これは、企業内の業務アプリケーションの開発用に、再利用可能なJavaコンポーネント群を提供するというもの。各業務に共通な機能や、業務別に必要な機能をそれぞれフレームワークとして提供、企業の開発部門は、そのフレームワークを組み合わせ、多少のカスタマイズをするだけで自社向けの業務アプリを開発できるという。

 これまで、業務アプリ開発は基本的に手造りの世界であり、オープンシステムやGUIになってどんどん開発が複雑になるのに、開発期間とコストが増し、保守が難しくなるという状況に追い込まれていた。そこで、ソフトウェアを部品に分け、再利用することで開発効率を高めようという発想が出てきた。テスト済みで完成度の高い標準部品がどんどんできれば、それを組み合わせるだけで、早く安く高品質のソフトができるようになるというわけだ。この理屈は、標準部品を集めて作られるデスクトップパソコンが、早く安く高品質の製品が簡単にできることを思い浮かべてみればよくわかる。

 じつは、IBMはこの構想を、Java以前から進めていた。3~4年前には、SOM (SystemObject Model)というIBMのオブジェクトモデルとCORBA(Common Object RequestBroker Architecture)をベースにした構想を考えていた。この時は、プログラミング環境にVisualAgeを用意し、また粒度(オブジェクトのサイズ)の小さいSOMオブジェクトは扱いにくいので、複数のオブジェクトをまとめて、粒度の高いオブジェクトとして扱えるフレームワークを用意する「Taligent」という構想を持っていた。

 ちょうどその頃、Taligent関係でIBMに何回か取材をしたことがあるのだが、そこで重視されていたのは、オブジェクトの流通の問題だった。いくらオブジェクトを再利用できると言っても、結局利用するオブジェクトを全て自社で開発していたのでは、メリットは出ない。しかし、業務アプリに利用できる小さなオブジェクトが流通して売り買いできる状況になれば、意味合いが全然違ってくる。そのためには、そのオブジェクト指向技術が普及して、オブジェクトの開発・販売者が増え、それが流通する仕組みができていかないとならない。

 Javaは、そうしたオブジェクト流通にはうってつけの技術だ。Javaの場合は、ネットワークを前提としているため、インターネットなどをオブジェクトの流通に利用しやすい。しかもプラットフォーム非依存で、おまけに勢いがあるのでどんどん利用可能なプラットフォームが拡大、開発者もユーザーも増えている。これまで何度も言われながら実現されなかった、再利用可能な流通コンポーネントによるアプリケーション開発が、Javaにより現実のものになるわけだ。

 San FranciscoプロジェクトやJavaBeansによるコンポーネントの提供が一般化すると、Javaによる開発は、かなり様相が変わってくる。開発者は、コンポーネント自体を開発する高レベルなエンジニアと、RADツールでそれを組み合わせカスタマイズするエンジニアに二分されるようになるだろう。コンポーネントがどんどん普及すれば、Javaによる開発効率は、ますます上がることになる。また、ワープロや表計算のようなアプリも、Javaベースのコンポーネントになれば、それが業務アプリでも利用できるようになる。Navigatorがその例だし、LotusのKonaも似たようなところを目指している。そこまで来れば、本格的にJavaがアプリ開発を支配する時代が来るかも知れない。

●Javaの道は分散OSへと続く

 これはMicrosoftにとっては大きな脅威だ。Microsoftは、Javaを単なる開発言語のひとつとして位置づけ、コンポーネントアーキテクチャとしては、自社のCOM/DCOMをベースにしたいからだ。コンポーネント技術での主導権争いに破れると、Microsoftの根幹の戦略が揺らぐ。だから、Microsoftが100% Pure Javaに激しく抵抗しているのも、生存本能のある企業としては当然というわけだ。

 そして、その先には分散コンピューティングでの覇権争いが待っている。分散オブジェクト化の道は、本格的な分散コンピューティングへとつながっている。

 以前にも少し書いたが、Javaを前提として登場したNC (Network Computer)の意義は短期的にはTCO(Total Cost of Ownership)の削減などだが、長期的に見た場合、分散コンピューティングの世界の扉を開く点にあると思う。PCでも分散コンピューティングはできるだろうが、サーバーとクライアント間での処理の分散化を目指すNCの方が真の分散コンピューティングにより近い位置にいる。

 JavaでSunが構想していると報道されている分散OS構想「JavaSpaces」は、その意味で非常に重要だ。これは、ネットワークに接続されたすべてのマシンをベースにして動くOSのようなものになると言われている。もちろん、まだ報道されているだけでなので、真偽はわからないが、Sunがこうした分散OS技術の開発をしている可能性は非常に高い。そもそも、Sunのモットーは“The Network is the Computer”だからだ。こうした分散OSが実現すると、ユーザーは、自分のマシンだけでなくネットワーク上のあらゆるコンピューティングパワーを意識することなく自在に利用できるようになる。よく使われる例えでは、水道から水を出すように、ネットワークを通じてコンピューティングパワーが自由に使えるようになるわけだ。

 Javaは、すでに単なる開発言語ではない。どんどん拡大するJava構想は、一体どこへ行くのだろう。

('97/9/4)

[Reported by 後藤 弘茂]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当 pc-watch-info@impress.co.jp