目次 | 前の項目 | 次の項目 Java Management Extensions (JMX) テクノロジ概要

第 5 章

JMX コネクタを使用したリソースのリモート管理

『Java Management Extensions Instrument and Agent Specification』では、「コネクタ」という概念を定義しています。コネクタを使用すると、Java Management Extensions (JMX) API MBean サーバが、Java テクノロジベースのリモートクライアントからアクセス可能になります。コネクタのクライアント側は、MBean サーバと基本的に同じインタフェースをエクスポートします。

コネクタは、コネクタクライアントとコネクタサーバからなります。コネクタサーバは MBean サーバに接続して、クライアントからの接続要求を待機します。コネクタクライアントは、コネクタサーバとの接続を確立します。通常、コネクタクライアントは、コネクタサーバとは別の Java 仮想マシン (JVM) 内にあり、別のマシン上で実行されることもあります。

コネクタは、さまざまな実装が可能です。特に、クライアントとサーバの間の接続で通信するためのプロトコルは多種多様です。

コネクタサーバには通常、アドレスがあり、コネクタクライアントとコネクタサーバの間で接続を確立するために使用されます。コネクタによっては、接続の確立のために、接続スタブを用意している場合もあります。接続を確立する方法は、使用する検索・検出テクノロジによって異なります (第 6 章「検出・検索サービス」参照)。

この章では、JMX Remote API 仕様で定義されたさまざまな種類のコネクタと、コネクタで使用されるプロトコルについて説明します。

RMI コネクタ

JMX Remote API 標準では、RMI を基にした標準プロトコルを定義しています。RMI コネクタは、JMX Remote API の各実装に存在しなければなりません。

RMI では、Java Remote Method Protocol (JRMP) と Internet Inter-ORB Protocol (IIOP) という 2 つの標準トランスポートを定義しています。RMI コネクタは、両方のトランスポートをサポートしています。

JRMP 上の RMI コネクタでは、クライアントとサーバの間の接続をセキュリティ保護および認証するための単純な機構を備えています。この機構では、RMI コネクタを使用する環境に対して、基本的なレベルのセキュリティを提供します。汎用の JMXMP コネクタでは、より高度なレベルのセキュリティを提供しています。

クライアントとサーバの間の接続で Secure Socket Layer (SSL) を使用するために RMI ソケットファクトリを使用することで、JRMP 上の RMI コネクタの基本セキュリティ機構は向上します。

汎用コネクタ

汎用コネクタは、JMX Remote API の任意指定部分であり、J2SE プラットフォームには含まれていません。このコネクタは、プラグイン可能なモジュールを追加することで構成でき、次の内容を定義します。

JMX Messaging Protocol (JMXMP) コネクタは、トランスポートプロトコルが TCP ベースで、オブジェクトラッピングがネイティブ Java 直列化であるような構成の汎用コネクタになります。セキュリティは RMI コネクタの場合より高度です。セキュリティは、Java Secure Socket Extension (JSSE)、Java Authentication and Authorization Service (JAAS)、および Simple Authentication and Security Layer (SASL) が基になります。

汎用コネクタとその JMXMP 構成は省略可能です。つまり、JMX Remote API の実装に常に含まれているわけではありません。J2SE プラットフォームに汎用コネクタは含まれていません。


注 – JMXMP コネクタを使用する場合は、JSR 160 リファレンス実装を http://java.sun.com/products/JavaManagement/download.html からダウンロードし、jmxremote_optional.jar ファイルを classpath に追加してください。JSR 160 リファレンス実装に含まれる『JMX Remote API Tutorial』には、JMXMP コネクタの使用例があります。

ユーザ定義プロトコル

RMI コネクタは JMX Remote API の各実装に含まれている必要がありますが、JMX Remote API 標準で定義されていないプロトコルを基にしたコネクタを実装することもできます。この典型的な例としては、HTTP/S を使用するプロトコルを基にしたコネクタがあります。他のプロトコルも可能です。

『Java Management Extensions Remote API 1.0 Specification』では、ユーザ定義プロトコルを基にしたコネクタの実装方法について説明しています。

 


目次 | 前の項目 | 次の項目 Java Management Extensions (JMX) テクノロジ概要
Java Management Extensions (JMX), Java 2 Platform Standard Edition 5.0