JBossとアスペクト指向プログラミングの密接な関係

2004/3/17

講演を熱心に聞く参加者たち

 日本アイオナテクノロジーは3月16日、「オープンソースJBoss有効活用セミナー」を開催した。基調講演に登壇したのは、千葉滋氏(東京工業大学/JBoss Developer)。JBossを中心としたJ2EEアプリケーションサーバの技術動向とアスペクト指向ソフトウェア開発について、解説を行った。

 JBossとはGNU LGPLのライセンス形態で配布されるオープンソースのJavaアプリケーション・サーバである。LGPLはソースコードの公開義務がないという点で、GPLと比較して自由なライセンス形態である。ただし、JBoss本体を改造した場合には、改造部分のソースコードを公開する義務がある。現在は、最新バージョンであるJBoss 4.xが米JBossによって準備されている段階で、千葉氏の講演も4.xで実装予定の機能に関する解説が中心となった。

 JBossに限らないが、J2EEサーバの技術面のトレンドとしては、通常のJavaクラスをEJBクラスに自動的に変換する機能の実装やアスペクト指向プログラミングと呼ばれる、オブジェクト指向プログラミングの弱点を補完するアプローチの実装が注目されている。前者の技術は「POJO(Pain Old Java Object)」と呼ばれ、J2EEの開発コストを低減する試みとしてエンジニアからの期待を集めている。「要は、JBossがdeploy時に自動的にバイトコード変換を行い、足らないインターフェイスやメソッドを追加する、ということなのだが、いままでこういう技術はなかったように思う」と千葉氏はいう。バイトコード変換自体は、1990年代後半から研究レベルで盛んに用いられてきた技術だが、Javassistなどの高機能ライブラリが開発されるなどの状況の変化があり、実用的に使われる技術となった。

 アスペクト指向プログラミング(AOP)は、「ポスト・オブジェクト指向技術のような位置付けであり、つまりは、ソフトウェアのコンポーネント化技術の一種と考えればいい」と千葉氏はいう。コンポーネント化、コンポーネントの再利用を目指して登場したオブジェクト指向だが、実際には、各機能が独立したコンポーネントにならないことも少なくない。結果として、EJBコンポーネントとして実装できない機能があるのも確か。その結果、再利用の神話は現在では、崩れかけている。アスペクト指向は、散らばる機能を特別なコンポーネント「アスペクト」に集約し、オブジェクトの中から必要に応じてアスペクトを呼び出すという考え方に基づく。

 JBoss 4.xは、POJOやAOPの基本機能を取り込むことで、商用J2EEサーバを脅かす強力な存在に育ちつつある。

(編集局 谷古宇浩司)

[関連リンク]
日本アイオナテクノロジーズ
JBoss

[関連記事]
JBoss 3 (Java Solution)
オープンソースの構築相談を受け付けます、アークシステム (@ITNews)
「Mac OS X Server 10.3」、あるいはオープンソース技術の集積体 (@ITNews)
「3カ月は短納期とはいえない」、チーム生産性向上を狙うボーランド (@ITNews)
Tomcat、Strutsで基幹システムを構築、NRIが支援サービス (@ITNews)

情報をお寄せください:



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