[製品紹介]

オープンソースEJBサーバのデファクトを目指す
JBoss 3

 JBossの今後 − Beyond J2EE

 現在JBoss 4の仕様確定および実装が進められている。そこから垣間見えるJBossの今後について説明しよう。JBossの革新がいまなお続いていることが分かるはずだ。

 まず、ロードマップであるが、現在、JBoss4DR2(Developer Release)が公開されている。8月から9月の間にJBoss4DR3のリリースが予定されていたが、執筆時現在まだ公開されていないため、スケジュールが若干遅れているようだ。そして、11月から12月の間にJBoss 4がリリース予定である。

 JBoss 4では、J2EE 1.4への対応も予定されているが、「Beyond J2EE」のキャッチフレーズに現れているように、J2EEを超えるフレームワークが実装される。既存のJ2EEをさらに使いやすくするようなフレームワークだ。それを支えるのが、Aspect Oriented Programming(AOP)の採用である。

 J2EEの課題

 J2EEを使えば、分散オブジェクトを組み立てるコンポーネントを構築したり、トランザクションやセキュリティの境界を宣言的に扱ったりすることができるので、確かに優れたフレームワークである。しかし、すべてのユーザーがJ2EEのすべての機能を必要としているわけではない。J2EEの仕様は重厚長大であり、その一部だけを利用したい場合もあるが、そのようにJ2EEを「アラカルト」として利用することはできない。また、実装面では、複数のファイルを連携して扱わねばならないので開発の手間が大きい。さらに、J2EEのクラス階層にしばられるため、クラス設計の自由度が低い。

 AOPを取り入れたJBoss 4

 このような課題に対する解決手段となるのがJBoss 4である。J2EEにあるようなさまざまな機能がJBoss内のアスペクトとして提供される。例えば、トランザクションやセキュリティ・キャッシング・リモートアクセスの機能を提供するアスペクトサービスなどがある。そのため、理想的には、通常のJavaクラス(Plain Old Java Objects[POJO])を開発してJBossにデプロイするだけで、そのクラスにJ2EEのような機能が備わることになる。アスペクトは選択可能なため、ユーザーが必要とする機能のみ使えばよい。このように、JBoss 4を使えば、より簡単にアプリケーションを構築できるようになる。

 AOPの採用により、1つ1つの機能の独立性が高まり、ユーザーの選択の幅が広がったわけだが、このような設計思想はJBossを貫くものである。上述したマイクロカーネルアーキテクチャでは、ひとつひとつのサービスの独立性が高く、サービスの追加や削除が再起動することなく動的にできるようになっている。さらに、JBoss 3のEJBコンテナにはインタセプタというアーキテクチャがあるが、これはある意味アスペクトだといってもよいものだ。従って、いままでの設計思想がAOPの力でより洗練されたものになったのがJBoss 4である。

インタセプタ(Interceptor
JBossのEJBにまつわる機能の多くは、コンテナ自身の実装にあるのではなく、1つ1つのインタセプタとして実装されている。そのため、機能の独立性が高く、機能の追加や選択をすることも可能だ。例えば、トランザクションやセキュリティ・キャッシング・プーリングなどの機能もインタセプタである。EJBのメソッドが呼ばれる際は、インタセプタスタックに指定されたインタセプタが順番に処理され、全体としてEJBの処理が行われる。

Aspect Oriented Programming(AOP)
AOPは、オブジェクト指向プログラミング(OOP)にアスペクト(Aspect)と呼ばれる構造をくわえたもので、オブジェクト指向を補完する新しい開発パラダイムである。アスペクトでは、pointcutを定義してクラスにまたがった機能(cross-cutting concern)を実装することが可能だ。クラス構造を幾何学の平面に例えれば、それを垂直方向から支えるのがアスペクトだ。アスペクトを用いれば、機能のモジュール性をより高めることができる。

JBoss 4には、JBossAOPというAOPの実装が含まれている。AOPの実装としてはAspectJも有名であるが、JBossAOPの長所は、POJOをリコンパイルすることなくダイナミックにアスペクトを利用できる点だ。だから、サーバにPOJOをホットデプロイ可能で、POJOに機能を追加したり、POJOの動作を変更したりできる。なお、JBossAOPは、JBossサーバ以外の環境でも、単独のライブラリとしても利用可能だ。

 以上のように、JBossは、商用・非商用を問わず利用価値の高いアプリケーションサーバである。

 フリーソフトウェアであるJBossは、さまざまなJavaのFree Software、Open Source Softwareを利用し、その成果の上に成り立っている。1つ1つのアイデアはJBossの独創というわけではないが、ほかのライブラリを理解して巧みに拡張し、現実的なプロダクトに昇華させている。いうなれば、Javaのオープンソースという食物連鎖の頂点に君臨するのがJBossだ。JBossを利用するとともに、その今後に注目していきたい。

HibernateがJBossのメンバーに
Javaの永続化エンジンの実装として有名なHibernateプロジェクトがJBossの一員となることが報じられた。JBGがHibernateのコア開発者を雇い入れ、Hibernateの開発を支援するというものだ。HibernateがJBoss専用になるという意味では決してなく、Hibernateは今までどおりに開発されていく。しかし、HibernateとJBossの親和性が高くなっていくはずであり、JBossのBeyond J2EEの機能を担うものとして注目したい。


3/3  

 INDEX

JBOSS
 

Page1
JBossの提供企業「JBoss Group LLC」
JBossのサポートとコンサルティングを事業に
JBoss誕生の経緯

  Page2
JBossの機能
使いやすアプリケーションサーバ
マイクロカーネルアーキテクチャ
クラスタリング
  Page3
JBossの今後 〜 Beyond J2EE
J2EEの課題
AOPを取り入れたJBoss 4

 



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

注目のテーマ

Java Agile 記事ランキング

本日 月間