5月18・19の両日、日本アイ・ビー・エム株式会社(以下、日本IBM)主催によるイベント「IBM Software World 2004」が東京国際フォーラムで開催され、19日には日本アイ・ビー・エム株式会社 ソフトウェア事業 テクノロジーエバンジェリストの米持 幸寿氏、および同社の牧野あすか氏により、「技術検証:.NETとJ2EE -これで納得、J2EEの実力」と題して講演が行われた。
.NETの登場により、J2EEとどちらを採用したらいいのかについて悩む企業も多い。このような疑問を解決するためには、それぞれのメリットとデメリットをあきらかにする必要がある。本講演では両氏が.NETとJ2EEの技術を比較し、その上でJ2EEの優位性について語った。
■ 「JVM」と「CLR」はどこが違うのか
|
日本アイ・ビー・エム株式会社 ソフトウェア事業 テクノロジーエバンジェリスト 米持 幸寿氏
|
J2EEの実行環境であるJVMと.NETの実行環境であるCLRは、仮想マシンという考え方も似ており、.NETとJ2EEは同程度の機能を持っていると感じさせられる。しかし米持氏は「現在のCLRはWIN32というアーキテクチャ、ひいてはインテルアーキテクチャ上でしか動作が保証されていません。しかも、次世代のWindowsであるLonghornでは、WIN32が動く保証もないのです。つまり現在開発したアプリケーションが、次の環境でも動くとは限らないのです」と語る。
またマイクロソフトという1企業にコントロールされる危険について「ユーザーがいればその技術は継続するとは限りません。実際にマイクロソフトはVBの開発を止めてしまいました」と語り、ベンダーによってユーザーが別の技術への移行をコントロールされてしまう危うさを示唆した。
■ コードの再利用性と開発ツール
JSPは、カスタムタグライブラリによってHTML部品のカスタム化ができるため、部品単位での再利用が容易な構造になっている。しかし.NETでは、独自の開発環境ですべてを開発するため、部品やアプリケーションの共有化が難しいと米持氏は指摘する。「ツールですべてを開発するのは最初はとても簡単に見えます。しかし作成する画面数が増えれば、その画面ごとに何度もプログラムを作成しなければならないのです」と述べ、開発の効率化という面からJ2EEの優位性を強調した。
しかし同時に、Visual Studio .NETという開発ツールの作業生産性そのものが非常に高いことは認めており、J2EEでも「Ease of Development」のコンセプトのもとに、各社が開発ツールの改善を行っているとした。本講演中も牧野氏による、同社の最新版開発ツール「WebSphere Studio Application/Site Developer V5.1.2」のデモが行われた。
|
|
日本アイ・ビー・エム株式会社 ソフトウェア事業 ソフトウェア・マーケティング 牧野あすか氏
|
開発ツール「WebSphere Studio Application/Site Developer V5.1.2」のデモ
|
■ エンタープライズシステムの開発
J2EE(Java 2 Enterprise Edition)は、その名が示すとおりエンタープライズシステムの開発を目的として多くの仕様が定められてきた。そのため、分散トランザクションをサポートする機能、大規模データベース連携を行うための機能、分散コンポーネントを実現するための機能などが充実している。.NETにもEnterprise Serviceと呼ばれるバックエンド部分の技術が用意されている。しかし米持氏は、Enterprise Serviceへの不安として以下の4点を列挙した。
・COM+という古いプログラム・モデル
・ネイティブコード/アンマネージドコード
・DCOMという遅いプロトコル
・Interoperability Wrapperによる大きなオーバーヘッド
特にネイティブコード/アンマネージドコードに関しては、ガベージコレクションなどエンタープライズ環境で必須となる部分が用意されておらず、プログラマーに責任が押し付けられている、古いポインタの概念が残っている、WIN32APIを使用しなければならない、また開発に .NETではなくC++やVBなどを利用しなければならないなど、多くの点で開発生産性に大きく影響することを指摘した。またJ2EEと.NETにおけるクラスタリングの実現方法の違いなどにも触れ、エンタープライズシステム開発においてはJ2EEに圧倒的な優位性があることを強調した。
■ フレームワークによる開発
J2EEではフレームワークによる開発が非常に盛んである。画面遷移型アプリケーション、ポータルシステム、コマースシステムなどさまざまなフレームワークが、すでに多くの企業で活用されている。このフレームワークが充実することによって、J2EEにおける開発生産性は大きく変化する。
しかし.NETフレームワークによる開発は、まだJ2EEほどには発展してないと米持氏は語る。「以前.NETの完成度が高いために、フレームワークの必要はないと書かれた論文を読んだことがあります。しかしフレームワークを用いた開発というのは、そういうレベルの問題でありません」と、フレームワークによる開発の意識があまり浸透していないことを指摘した。
■ クライアントの比較
クライアント部分の開発という観点では、やはりWindowsを抱えるマイクロソフトの.NETが圧倒的に優秀であることを米持氏も認めている。しかし非Windowsのクライアントの開発に関しては、J2EEにもメリットがあるとしている。
■ J2EEと.NETの使い分け
最後に米持氏は、「J2EEにはJ2EEの、.NETには.NETのメリットとデメリットがあります。すべてをどちらかに統一するのではなく、UIのフロントエンド部分には.NET、バックエンド部分にはJ2EEといった、それぞれの得意な分野を使い分けて開発することが開発の生産性の向上につながるでしょう」と語り、J2EEと.NETが決して対立する技術ではないことを主張している。これらの技術の違いは、アプリケーションサーバーのレベルで十分に統合可能なこともあわせて述べて講演を締めくくった。
■ URL
IBM Software World 2004
http://www-6.ibm.com/jp/software/isw/
日本アイ・ビー・エム株式会社
http://www.ibm.com/jp/
( 北原 静香 )
2004/05/21 00:08
|