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スキーマを定義し、クライアントが登録済エージェントを検出する方法について説明しています。仕様では、リース・メカニズムも定義しています。