この章では、JMXテクノロジを使用した管理でリソースを計測する際の概念について、次のセクションで説明します。
JMXテクノロジを使用すると、アプリケーション、サービスの実装、デバイス、ユーザーなど、様々なタイプのリソースを管理できます。指定されたリソースをJMXテクノロジで管理するには、そのリソースはJava言語で開発されているか、少なくともJava言語ラッパーが提供されている必要があります。また、リソースは管理対象Bean (MBean)として知られている1つ以上のJavaオブジェクトによって、JMX仕様に従って計測されている必要があります。
アプリケーションやデバイスの開発者は、MBeanとして計測されているオブジェクトの細分性を自由に選択できます。MBeanはアプリケーションで最小のオブジェクトを表すこともあれば、アプリケーション全体を表す場合もあります。管理インタフェースを念頭に置いて設計されたアプリケーション・コンポーネントは、通常、MBeanになることができるように記述されています。MBeanは、管理インタフェースを持たないレガシー・コードのラッパーとして、またはレガシー管理インタフェースを持つコードのプロキシとして使用できます。
リソースとその計測を実装したJavaオブジェクトは、管理対象Bean (MBean)と呼ばれます。MBeanはJMX仕様(JSR 3)に定義された設計パターンおよびインタフェースに従う必要があります。これにより、すべてのMBeanで管理対象リソースの計測が標準化された方法で提供されることが保証されます。
指定されたリソースの計測は、標準または動的な1つ以上のMBeanによって行われます。標準MBeanは、JavaBeans(TM)コンポーネント・モデルに由来する特定の設計パターンに準拠したJavaオブジェクトです。動的MBeanは、実行時に柔軟性が高い方のインタフェースに準拠します。MXBeanは、定義済の型セットのみを参照します。
JMXエージェントの使用で説明するように、リソースの計測により、リソースがエージェント・レベルで管理可能になります。MBeanでは、JMXエージェントでMBeanを操作するための知識は不要です。
MBeanは、実装が柔軟、簡潔、容易であるように設計されています。アプリケーション、サービス、またはデバイスの開発者は、標準的な方法で製品を管理することができ、複雑な管理システムに対する理解や投資は必要ありません。既存のオブジェクトは、標準MBeanを生成するように発展させることや、動的MBeanとしてラップすることが簡単に行えるため、既存のリソースは、最小限の労力で管理可能になります。
計測レベルは、MBeanが他のレベルのコンポーネントに対する通知イベントを生成して伝播できる通知メカニズムを指定します。
MBeanの管理インタフェースは、次で構成されています。
標準MBeanのJavaクラスでは、その属性や操作で直接管理可能なリソースを公開しています。属性は、ゲッターおよびセッター・メソッドを介して公開されている内部エンティティです。操作は、クラスのその他のメソッドのうち、管理側で利用可能なメソッドです。これらのメソッドはすべてMBeanインタフェースに静的に定義されており、JMXエージェントでは、イントロスペクションを通じてこれらのメソッドを確認できます。これが新しいリソースを管理可能にするいちばんわかりやすい方法です。
動的MBeanは、実行時にその管理インタフェースを定義します。たとえば、構成MBeanは、XMLファイルの解析により、公開する属性の名前と型を決定できます。
MXBeanは新しいタイプのMBeanで、定義済みの型セットだけを参照するMBeanのコーディングが簡単にできます。この方法なら、リモート・クライアントを含むクライアントは、MBeanの型を示すモデル固有のクラスにアクセスしなくても、MBeanを利用できます。