6 検出、検索サービス
Java Management Extensions (JMX)仕様バージョン1.4では、既存の検出、検索インフラストラクチャを使用してJMX APIエージェントを通知したり検索したりする方法が説明されています。この仕様では、JMXテクノロジ固有の検出、検索APIについては定義されていません。
この章では、JMXテクノロジで使用できる既存の検出、検索インフラストラクチャの概要を簡単に説明します。
検索サービスについて
JMXエージェントとJMXクライアントが検索サービスを使用できます。1つのJVMには、多数のJMXエージェントやJMXクライアントが含まれている場合があります。
JMXエージェントは、次の機能からなる論理サーバー・アプリケーションです。
- 1つの管理対象Bean (MBean)サーバー
- JMXコネクタ・サーバーが1つ以上。JMXコネクタ・サーバーにより、そのMBeanサーバーに格納されるMBeanに対してリモート・クライアントがアクセスできるようになる
JMXクライアントは、JMXエージェントとのクライアント接続を開く論理クライアント・アプリケーションです。
『Java Management Extensions (JMX)テクノロジのチュートリアル』では、検索サービスを使用してJMXエージェントを通知したり検索したりする方法が示されています。
ノート:
既存の検出、検索サービスの使用はオプションです。JMX APIエージェントのアドレスをURLの形式でエンコードし、そのURLをマネージャに通知することもできます。
Service Location Protocol (SLP)の使用
Service Location Protocol (SLP)では、企業ネットワーク内でネットワーク化されたサービスの存在、位置、および構成をネットワーク機能アプリケーションが検出できるフレームワークを提供します。
次のステップは、SLP検索サービスを使用してJMXエージェントを通知および検索するための、JMX仕様で定義された手順をまとめたものです:
- JMXエージェントは1つ以上のJMXコネクタ・サーバーを作成します。
- 公開される各コネクタについて、JMXエージェントはSLP検索サービスを使用して、そのアドレスを登録します。このとき場合によっては、エージェントやコネクタを限定し、フィルタとして使用できるような追加の属性を指定します。
- JMXクライアントはSLP検索サービスをクエリーし、クエリーに当てはまる1つ以上のアドレスを取得します。
- 最後に、JMXクライアントは、取得したアドレスで特定されるサーバーに対して接続しているコネクタを取得します。
JMX仕様のJMX Remote API仕様の項では、SLPプロトコルに準拠したURLスキームを定義しています。仕様では、登録時に指定される、必須およびオプションのSLP検索属性も定義しています。
LDAPバックエンドでのJava Naming and Directory Interface (JNDI) APIの使用
Java Naming and Directory Interface(JNDI) APIは、Javaプラットフォームの標準の機能拡張です。Javaテクノロジ対応のアプリケーションに、複数のネームおよびディレクトリ・サービスに対する統一的なインタフェースを提供します。
JMX仕様では、LDAPサーバーを使用して、JMXエージェントに公開されたJMXコネクタの情報を格納および取得する方法が説明されています。
次のステップは、JNDI検索サービスを使用するための、JMX仕様で定義された手順をまとめたものです:
- JMXエージェントは1つ以上のJMXコネクタ・サーバーを作成します。
- 公開する各コネクタについて、JMXエージェントはJNDI検索サービスを使用して、そのアドレスを登録します。このとき場合によっては、エージェントやコネクタを限定し、フィルタとして使用できるような追加の属性を指定します。
- JMXクライアントはJNDI検索サービスをクエリーし、クエリーに当てはまる1つ以上のアドレスを取得します。
- 最後に、JMXクライアントは、取得したアドレスで特定されるサーバーに対して接続しているコネクタを取得します。
JMX仕様のJMX Remote API仕様の項では、アドレスを登録するためのLDAPスキーマを定義し、クライアントが登録済エージェントを検出する方法について説明しています。仕様では、リース・メカニズムも定義しています。