2009年11月25日水曜日

JBossAOP

JBossAOPとは、JBoss Group LLCが開発・サポートを行なう、Java言語においてアスペクト指向プログラミングを行なうオープンソースのフレームワーク。

 Java言語におけるアスペクト指向プログラミングの実装として「AspectJ」があるが、AspectJがJava言語を拡張した文法によってアスペクトを記述するのに対し、JBossAOPでは従来のJava言語のクラスとしてアスペクトを記述する。また、AspectJでは既存のソースコードのどこにアスペクトを挿入するかという(AspectJではジョインポイントと呼ばれる)情報をアスペクトモジュール中に記述したが、JBossAOPではXMLを用いて別ファイルに記述する。つまり、JBossAOPではアスペクトの処理内容を従来のJava文法で記述し、どこにアスペクトを組み込むかという情報をXMLで記述することになる。

 JBossAOPにはDynamic AOPと呼ばれる機能があり、プログラムの実行中に特定のメソッドへアスペクトを追加することや、特定のインスタンスにだけアスペクトを追加することが可能になっている。細かい違いとして、AspectJではアスペクトを組み込むことをウィービングと呼ぶが、JBossAOPではメソッドインターセプションと呼ぶことが挙げられる。アスペクトを含んだソースコードはJBossAOPに付属のAOPCによってXMLで記述した情報を反映したJavaのソースコードに変換され、その後javacによってコンパイルされる。

0 件のコメント:

コメントを投稿