TOP設計・移行・活用> Javassist
オープンソースJ2EE APサーバ JBossの可能性
オープンソースJ2EE APサーバ JBossの可能性

第6回:JBoss Inc.の各種製品について
著者:ダイテックC&D  高橋 康弘   2005/6/3
前のページ  1  2  3  4
Javassist

   JavassistはJBossプロジェクトの一部を構成しており、JBoss AS、JBoss AOP、EJB 3.0など主要製品の中核部分で使われているJavaバイトコード操作ライブラリです。このライブラリは東京工業大学の千葉滋 助教授により開発およびサポートされています。
http://www.jboss.com/products/javassist.html
http://www.csg.is.titech.ac.jp/~chiba/javassist/

   Javassistを利用することで、ソースコードを変更することなしにJavaの挙動を変えることができます。例えば、コンパイル済みの*.classファイルに対して新しいフィールド、コンストラクタ、メソッドの追加/変更が行えます。しかもこういった操作をアプリケーションの実行時に行うことができます。JBoss AOPのように動的にJavaクラスの挙動を変更するような操作は、Javassistの機能を利用することで実現されています。

   このライブラリを用いて通常のWebアプリケーションやビジネス・アプリケーションを開発する機会は少ないと思われます。なぜなら、クラスファイルを動的に修正するような面倒な操作をすることなく、はじめからソースコードを修正すればよいからです。

   Javassistが強力に威力を発揮するのは、開発効率を向上させるためのフレームワークやライブラリを開発する場合においてです。一般にJ2EEやそれに付随する技術を用いてビジネス・アプリケーションを開発する場合は、多くの決まり事に従って開発を進める必要があります。この決まり事をきちんと理解して、適切に使うということは開発者にとって多大な負荷になります。

   こういった負荷を取り除くため、技術者には本来実現するべきビジネスロジックの実装に特化してもらい、その他の必要な決まり事はフレームワークが後から(動的に)追加してしまおう、ということが最近のフレームワークの流れとなってきています。

   もしこのようなフレームワークやライブラリを構築することを考えているのであればJavassistの利用をお奨めします。バイトコードに関する詳しい知識がなくても利用可能なAPIが用意されていますので、使いこなすまでにそれほど時間はかからないでしょう。


最後に

   以上、6回に渡ってJBoss ASおよびそれにまつわる技術や製品について解説を行ってきました。やや駆け足であったために深い部分までは解説しきれませんでしたが、少しでもJBossに興味を持っていただき、多くの方が利用していただけるきっかけになれば幸いです。ありがとうございました。

前のページ  1  2  3  4


株式会社ダイテックC&D
著者プロフィール
株式会社ダイテックC&D  高橋 康弘
入社以来Windowsを中心としたアプリケーション開発に従事。2000年頃からJavaを扱うようになり、2年ほど前からオープンソースを利用したシステム開発を開始。最近はJBoss+オープンソースの組み合わせでWEBアプリケーション開発に携わることが多い。
資格:JBoss認定コンサルタント


INDEX
第6回:JBoss Inc.の各種製品について
  JBoss Inc.が提供している製品
  JBoss Portal
  JBoss Eclipse IDE
Javassist