図 1-1 は、Java Dynamic Management Kit の重要な概念がエージェントとマネージャにどのように関係するかを示しています。各コンセプトについては、以下の項で説明します。

コア管理フレームワーク (フレームワークとも呼ぶ) は、エージェント内のオブジェクトのレジストリです。オブジェクトの登録は、次の要素によって行えます。
エージェント自体
エージェント内のアダプタを通して接続されたマネージャ
オブジェクトをフレームワークの外から管理したい場合は、そのオブジェクトを登録する必要があります。登録すると、Java Dynamic Management Kit によってデフォルトのオブジェクト名がオブジェクトに割り当てられます。マネージャは、このオブジェクト名を使用して、管理オペレーションの対象となるオブジェクトを識別します。フレームワークに登録されるオブジェクトはすべて、m-bean のインスタンスでなければなりません。フレームワークは、Java Dynamic Management Kit に提供されているコンポーネントの 1 つです。
管理 bean (m-bean) は、一定のデザインパターンに準拠する Java オブジェクトです。これらのデザインパターンは、JavaBeansTM コンポーネントモデルから派生して作成されています。デザインパターンを使用すると、m-bean のプロパティ、アクション、およびイベントを定義できます。また、m-bean 内の読み取り専用のプロパティと読み書き両用のプロパティの区別もできます。m-bean のデザインパターンに準拠するには、個々の m-bean は JavaBeans コンポーネントでなければなりません。
m-bean インスタンスは、フレームワークへの登録が終わるとすぐに管理できます。m-bean のインスタンス化と登録は、次の要素によって行えます。
エージェント
エージェント内のアダプタを通して接続されたマネージャ
フレームワークを通してアクセスしたいオブジェクトはすべて、m-bean として記述されている必要があります。このようなオブジェクトには、次のようなものがあります。
エージェントで管理したいリソース
リソース管理に提供したいサービス
これらのオブジェクトを表現する m-bean は開発者自身で記述します。Java Dynamic Management Kit のコンポーネントの一部は、m-bean として実装されています。
エージェントが動作している間、m-bean はメモリー内に保持されます。
メモリー内の情報はすべて、エージェントが停止する時に消失します。そのためエージェントは、その起動時に情報をリポジトリに読み込み直す必要があります。コンパイルされた m-bean クラスは、エージェントの CLASSPATH 環境変数に指定されている任意のディレクトリに格納できます。
アダプタは、フレームワークを外部アプリケーションに接続します。アダプタは、インスタンス化されフレームワークに登録された m-bean の特定のプロトコルを通してビューを提供します。外部アプリケーションは、アダプタを通して次の処理を行えます。
既存の m-bean インスタンスのプロパティを取得または設定する
既存の m-bean インスタンスに対してメソッドを呼び出す
m-bean をインスタンス化し、その新しい m-bean インスタンスを登録する
Solaris Bandwidth Manager のポリシーエージェントには、HTTP アダプタが含まれます。
クライアント bean (c-bean) は、アダプタクライアント API を使用して開発されたマネージャに対して、リモートの m-bean を描写するためのスタブオブジェクトです。m-bean と同様に、c-bean は JavaBeans コンポーネントです。マネージャは、m-bean に伝播される次のオペレーションを c-bean に対して実行することによって m-bean にアクセスします。
属性の取得または設定
メソッドの呼び出し
m-bean が生成するイベントは、c-bean に伝達されます。