Java目線でコンパイラの仕組みをのぞいてみよう!

オープンソース イベントレポート

JavaとOSSの最新事情を探る OSC 2007


@IT編集部
平田修
2007/3/26


 Apache族最後の戦士Geronimo

 日本Apache Geronimoユーザグループの梶山隆輔氏によるセッション「Apache Geronimoってなんだ?」を見てみよう。Apache GeronimoはオープンソースのJava EEサーバであり、多種類のソフトウェアを組み合わせて利用できるのが、大きな特徴だ。

 利用できるソフトウェアはTomcatAxisDerbyといったApache製のものから、ActiveMQTranQLOpenEJBJettyMX4JHowlと幅広い。Apache Geronimoはこれらのソフトウェアを開発の状況に応じて自由に組み合わせることができるし、管理機能とWebコンテナだけのLittle−Gという最小限のパッケージとしても利用できる。

セッション中の梶山氏
セッション中の梶山氏

 また、Web開発用のEclipseプラグインであるWTP(Web Tools Project)サーバアダプタがApache Geronimoに対応していて、Apache Geronimo自身にもプラグインがある。例えば、スケジューラである「Open Symphony Quartz」、帳票作成ツール「Jasper Reports」、Java製ブログ「JRoller」、LDAPサーバ「Apache Directory」、ポータルサーバ「Liferay」など、Apache GeronimoにはEclipseのようにプラグインを増やす楽しみもあるようだ。

 梶山氏はJBossとApache Geronimoについて次のように比較していた。「JBossは1999年から開発が開始されJava EE 5対応が進んでいたり導入実績もありますが、Red Hatの買収により、オープンソースとしての自由度はどうなるか分からなくなりました。一方、Apache Geronimoはソフトウェアやプラグインの組み合わせによる自由度が象徴するように、複数のオープンソースプロジェクトの連合体のため、コミュニティの技術力を最大限に活用できるという利点があります。そして、Apache Geronimoも次期バージョン2.0にてJava EE 5に対応予定です」。

関連リンク

 Ajax、EJB、JSF、O/Rマッピングを縫い合わす

 JBoss関するセッションにも触れてみよう。日本JBossユーザ・グループの皆本房幸氏によるセッション、「JBoss Seamの新機能」だ。JBoss SeamはWeb2.0アプリケーションのためのフレームワークで、AjaxJSFEJB 3.0JavaポートレットBPM(Business Process Management)といったSOAテクノロジーを統合する。

 その特徴としてまず、対話コンテキストが紹介された。

 従来のJava Webアプリケーションは、HTTPセッションのスコープ管理にPC単位までという限界があった。しかし、対話コンテキストが導入されたことによって、JBoss Seamで扱えるスコープの種類はもっと豊富にある。StatelessEventConversationBusiness ProcessがHTTPセッションにないスコープで、特に、Conversationスコープは単一PCでの複数ユーザーによるブラウザ使用に対応していることが大きな特徴だ。

セッション中の皆本氏
セッション中の皆本氏

 セッションでJBoss Seamは「Contextual Componentsを管理するもの」だと定義されていた。Contextual Componentsとは、対話コンテキストによって管理されるコンポーネントのことで、皆本氏いわく「対話コンテキストは今後のWebアプリケーションの本流になると思います」。

 また、JBoss Seamのもう1つの大きな特徴として、O/Rマッピングと相性が良い、ステートフル・アーキテクチャが紹介された。

 「JBoss Seamは、そもそもO/RマッピングのフレームワークであるHibernateを作成したGavin King氏によって開発されたものです。そのため、従来のO/RマッピングとWebアプリケーションの相性の悪さを克服しています。状態の管理を重視するステートフル・アーキテクチャは、スケーラビリティを優先して状態をなるべく保持しないというステートレス・アーキテクチャと逆の考え方です。しかし、スケーラビリティをまったく無視しているのではありません。O/RマッピングとWebアプリケーションの連携で発生することがある遅延ロードの問題を克服することによって、スケーラビリティを実現しています」(皆本氏)。

 JBoss Seamの新機能としては、Springの統合やSeam Application Frameworkが挙げられていた。Seam Application Frameworkは、JPA(Java Persistence API)やHibernateのひな型になるもので、Seamコンポーネントを保護し、単純なCRUD(Create、Read、Update、Delete)操作のソースコードを削減できるという。

関連リンク

 Javaのオープンソースコミュニティをのぞいてみよう

 サン・マイクロシステムズの岡崎隆之氏は、セッション「オープンソースになった Java のいろいろ」でコミュニティへの参加を呼び掛けた。

セッション中の岡崎氏
セッション中の岡崎氏

 岡崎氏はJavaのオープンソース化のメリットの1つを「参加」による技術革新だと強調した。Javaの技術は実に広範囲にわたり、成熟してきている。しかし、成熟してきた技術というのは、落ち着いてしまい革新的な技術が生まれにくいものである。その局面を打開するためにも、オープンソース化してユーザーや開発者にコミュニティへ「参加」してもらうことが必要だった。

 しかし、オープンソース化の懸念事項としてJDKの互換性のフォーク(枝分かれ)が考えられる。互換性を確認するための手段として、TCK(Technology Capability Kit)という、Javaの互換性を確認するテストプログラムやツール類が挙げられた。

 このTCKによるテストと要件を満たしたものだけが、Java互換と呼べるものになる。2006年12月に正式リリースされたJava SE 6のときには、TCKに含まれる約1万2000項目の互換性テスト、現実のアプリケーションを用いた実行テスト、高負荷環境での実行テストなどが24種類のOS、577台のマシンで行われたそうだ。

 Javaのオープンソースコミュニティについて具体的に紹介すると、2007年3月現在、Java SE(Standard Edition)の「OpenJDK」コミュニティ、Java ME(Micro Edition)の「Mobile&Embedded」コミュニティ、Java EE(Enterprise Edition)の「GlassFish」コミュニティの3つがある。

 岡崎氏は上記3つのコミュニティについて、「いまのところは良くも悪くもサンの者が大多数ですが、いい換えると、商用で使われている製品を開発しているトップエンジニアの集団です。そのメーリングリストには、リリースに向けたバグ管理に関する考え方など、いろいろな議論がされています。ブログには、ガベージコレクションの仕組み、JVMの起動を速くする方法、チューニングに関する話題などがあふれています。また、多くの人がコミュニティに参加することによって、フィードバックが増えるなどして、新しいバージョンのJavaのリリースが早まることがあるかもしれません」と述べていた。実際に、岡崎氏も質問メールを送って活用しているということだった。

関連リンク

 Rubyのセッションは減少傾向―― 秋はどうなる?

 Java関連の最新技術を中心に紹介してきたが、もちろん、Java関連以外にも多くの技術紹介があった。

各ブースの様子
各ブースの様子

 特に多かったのが、仮想化技術LinuxPHPMySQLPostgreSQLに関するものだろう。ほかにも、昨年の秋に比べて、OpenSolarisMacOSX、さらにセキュアOSに関するセッションの数が増えるなど、多様化するOS技術の紹介も増える傾向にある。また、Rubyのセッションがほとんどなくなり、Java関連のセッションが増えていることも注目すべき点である。

 秋に開催予定の「オープンソースカンファレンス 2007 Tokyo/Fall」でも、さらに多様なOS技術やJava関連の技術が紹介されるだろう。

2/2

Index
イベントレポート JavaとOSSの最新事情を探る OSC 2007
  Page1
ExcelからJava、.NET、PHPのソースができる?
拡張機能はHTMLとCSSだけで作れる
Web地図サービスはGoogle Mapsだけじゃない
Page2
Apache族最後の戦士Geronimo
Ajax、EJB、JSF、O/Rマッピングを縫い合わす
Javaのオープンソースコミュニティをのぞいてみよう
Rubyのセッションは減少傾向―― 秋はどうなる?


ご意見、ご感想はJava Solution 会議室へどうぞ


Java Solution全記事一覧





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間