O/Rマッピング・ツールHibernate,JBossのフレームワークSeamの作者Gavin King氏。King氏はEJBなどJavaのコンポーネントを統合するWeb Beansを提唱し,Javaの標準化プロセスである「The Java Community Process」で標準化が行われている。金融業のシステムや商用フレームワークに採用されているDI(Dependency Injection)コンテナSeasar2の作者ひがやすを氏。ひが氏はSeasar2で,アジャイルな開発を実現するためのツール作成に取り組んでいる。日米のトップJ2EE(Java2 Enterprise Edition)フレームワーク・アーキテクトがWebアプリケーション・フレームワークの未来について語った。

(構成:高橋信頼=ITpro編集,写真:吉田明弘)

ひが:Ruby on Railsなど,アジャイル(俊敏)と言われているフレームワークが注目を集めています。

米Red Hat JBoss Division フェロー Gavin King氏
Gavin:Railsが登場することによって,Web関連技術の使い勝手,ユーザビリティ,あるいは学びやすさに関する課題をいくつか浮上させたと思います。

動的言語と静的言語の得意な領域

 Railsの中で使われているテクノロジー自体は,それほど新しいものではありません。オールドスタイルとさえ言える。

 しかしRailsは完全に統合化されている。Railsによって,そういったスタック化されたソリューションの重要性が注目されるようになりました。あたかもひとつのプログラミング環境を使っているような雰囲気がいかに大切か,ということが注目されたかと思います。

 そして,(ソースコードの変更が再コンパイルすることなく即座に反映される)ホット・デプロイメントの重要さが注目されるようになった。この点に関してはJavaのバーチャル・マシン(JVM)はあまり良くなかった。そして,Javaのフレームワークもさらに悪かった。

Perlのようなコンパイルが不要で変数の型が実行時に決定される)動的言語に対する関心が復活したのはCoolなことだと思っています。人によって,また問題によっては,そういった(動的言語のような)アプローチというのは非常に適切であり,非常に強力な選択肢であると言えます。

電通国際情報サービス 事業推進本部 開発技術センター Seasar2技術推進グループ 統括マネージャ/特定非営利活動法人 Seasarファウンデーション Chief Committer ひがやすを氏
 個人的には,(Rubyや しかし,大半のビジネス・アプリケーションの場合,特にビジネス用のソフトウエア開発で,大勢の人間が自由に参加している場合に,そのライフサイクルのプロジェクトが半年とか1年単位ではなく5年から10年ぐらいの単位のものであった場合には,アプローチしては(JavaやC++などのコンパイルが必要で強く型付けされた)静的言語のほうが向いているように思います。

 現在のJVMは,クラスのホット・デプロイメントなど課題はあるものの,いまだにJVMが最も静的言語のデプロイメントに向いていると思います。

 しかし,いろいろなOSに対応するためにそれぞれ違った取り組みをするという状況には戻りたくありませんし,また現在のJavaVMほどうまく機能するJVMを実現するためには相当時間がかかる。また既存のJavaのソフトウエアに関する相互運用性ということも考えなければならない。

 そのため,将来の課題としては,どうやってより良いフレームワーク,およびJVMプラットフォーム上におけるフレームワークのより良いユーザー・エクスペリエンスをどう実現するかになるでしょう。次にJVMに対する静的言語の展開に対する関心が復活すると思います。

ひが:動的言語は短い開発なら向いているけど,Javaは長い開発には向いていると?

Gavin:絶対にそう言えます。