JBossの基本的なアーキテクチャ
前回の連載でJBossのインストール手順について一通りの説明を行いました。J2EEでの開発経験がある方であれば、J2EE仕様の範囲でアプリケーションを構築すれば、それほど大きな問題はなく動作確認が行えると思います。
今回は、JBoss固有の話へと移りたいと思います。具体的にはJBoss内部の基本構造であるJMXとユニファイドクラスローダについて説明をします。
JMXとJBossマイクロカーネル
JBossはマイクロカーネルと呼ばれる構造を採用しています。"マイクロ(非常に小さい)"という言葉からもわかる通り、核となるプログラム(=カーネル)が小さく、非常に限定された機能しかありません。このマイクロカーネルのこと をJBoss JMXカーネルとか単にJBossカーネルと呼びます。
JBossカーネルが備えている基本機能は、JBossカーネルへのサービスの登録、サービスの呼び出し、サービスの停止、といったもので、 JBossカーネルへ登録されたサービスコンポーネントのライフサイクル管理のために存在します。つまりJBossカーネル自身は、例えばJ2EEの仕様で規定されているようなサービスは何ら提供していません。そういったサービスを提供するコンポーネントを束ねて管理しているだけです。

JBossカーネルはJMXという仕様に準拠して作成されています。既に何度も登場してい ますが、JMXはJava技術の仕様策定をする機関であるJCP(Java Community Process)によって規定されている標準規格のひとつで、Javaで開発したコンポーネントを管理するための規格です。JMXの規格に準拠した Javaコンポーネントを作成し、JBossカーネル(JMXサーバ)に登録することで、機能を追加することができます。
つまり、JBoss APサーバはJBossカーネルとJMXのコンポーネントを組み合わせることでJ2EEの機能を実現しています。JBossをダウンロードしてインストー ルした状態は、JBossがいくつか備えている機能群をJ2EEの仕様に準拠するようにパッケージングしたものです。