写真2●Javaプログラム対戦コンテスト「Robocode」のサイト
Webサービスによる分散処理を行う。DBMSはMySQLを採用している
図4●課題と対策
表2●JBossに関するインターネット上のおもな情報源
図5●XDocletによるEJBの自動生成
JBossでは,EJBやEJB配備のための設定ファイルの生成を自動化するために,XDocletと呼ぶツールがよく使用される。Javaソースコードに,EJBを生成するための情報を埋め込んでおくと,XDocletがEJBのソース・コードやデプロイメント・ディスクリプタなどを生成する

Webサービスと組み合わせる

 XML Webサービスと組み合わせて使用している例もある。戦車をシミュレートするJavaプログラム同士を対戦させるコンテスト「Robocode」*8の対戦システムだ(写真2)。ボランティアの「Rumble-JPプロジェクト」が運営している。

 開発したのは黒澤直樹氏ら。黒澤氏の本業は野村総合研究所 情報技術本部 システム技術の技術者である。黒澤氏が原型を作成し,ボランティアのプログラマが参加して完成させた。

 ボランティアのプロジェクトであるため,費用はかけられない。また,対戦はトーナメントではなく総当たりで行うために,処理量も多く,多くのサーバーで分散して処理を行う必要があった。そのためにも,ライセンス料の発生するソフトウエアは使用できない。JBoss,Struts,MySQLとすべてオープンソース・ソフトウエアで固めた。

 多くのサーバーで行った対戦結果は,Webサービスによりメイン・サーバーに集め,集計する。WebサービスのためのソフトウエアにはApache Foundationが開発,配布しているオープンソース・ソフトウエアであるAxisを利用した。

課題は日本での情報やサポートの不足

 課題は,まだ普及途上にあるため,日本語の情報や,日本での実績,サポート・サービスを提供するインテグレータが少ないことだ(図4[拡大表示])。

 「英語を苦にしなければ情報はある」(野村総合研究所 中野氏)という声もあるが,日本語の情報としては,皆本房幸氏が運営しているサイト「NeverBird」や(表2[拡大表示]),同氏が管理人を務めるメーリング・リスト「JBoss FAN」がある*9

 実績に関しては,日本ではここで紹介したような活用例が出てきたもののまだ少ない。また,米国でも,主要なJ2EE APサーバーに比べれば大規模システムでの実績は少ない。

 ただし検証した野村総合研究所では「性能,信頼性についても,商用製品と同等かそれ以上」(情報技術本部システム技術部オープンソースソリューションセンター 寺田雄一氏)と評価する。

 商用サポートも,少ないが野村総合研究所やソフトエイジェンシーなどが提供を始めている。米国では,JBossの中核開発者自身がサポート会社JBoss Groupを設立し,有償サポート・サービスを提供している。英語で,インターネット経由であればこういった米国のサービスを利用するという方法もある。

 サポートに関しては,ソースコードが公開されていることは大きなメリットだ。前述の事例で見たように,野村総合研究所は,処理が遅い原因を,JBossのソースコードを調べて突き止めた。「問題があれば,野村総合研究所でパッチを作成することもできる」(寺田氏)としている。

統合開発環境も開発が進む

 「商用製品に比べると,運用監視ツールなどGUIが少ない」(NeverBird 皆本房幸氏)点も,注意点としてあげられる。ただし,コマンド・ラインのツールを活用すれば,機能的に不足する部分はない。

 開発環境としても,コマンド・ライン・ツールが重要だ。JBossでは,EJBやEJB配備のための設定ファイルの生成を自動化するために,XDoclet*10と呼ぶツールがよく使用される。JBossとは別のグループによって開発されているオープンソース・ソフトウエアだ。Javaソースコードに,EJBを生成するための情報を埋め込み,XDocletがEJBのソースコードやデプロイメント・ディスクリプタなどを生成する仕組みだ(図5[拡大表示])。オイシックスもXDocletによりEJBを生成した。

 XDocletのJBoss向け統合開発環の開発も進んでいる。JBoss Organizationは,オープンソースの統合開発環境であるEclipseのためのプラグインとして,「JBoss IDE」を開発,配布している。JBoss IDEからXDocletを操作できるほか,JBossへのアプリケーションのデプロイなども可能になっている。

 また皆本氏は「JBossの機能を引き出すためにはEJBの知識が必要だが,EJB自体が複雑な技術であり,その様々な概念や使用法に対する理解が欠かせない」と指摘する。

(高橋 信頼=nob@nikkeibp.co.jp,IT Pro編集)