目次 | 前へ | 次へ

第 5 章

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

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

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

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

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

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

  • 「RMI コネクタ」:JMX Remote API 標準に準拠する実装では、この標準 Remote Method Invocation (RMI) プロトコルをサポートしなければなりません。
  • 「ジェネリックコネクタ」:JMX Remote API 標準では、TCP ソケットを直接基にしたオプションのプロトコルである JMX Messaging Protocol (JMXMP) を定義しています。標準の実装では、JMXMP コネクタを除外することもできますが、RMI コネクタは除外できません。Java SE プラットフォームにはオプションの JMXMP コネクタは含まれていません。

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 コネクタの基本セキュリティーメカニズムは向上します。

ジェネリックコネクタ

Java SE プラットフォームに含まれていない JMX Remote API のオプション部分は、ジェネリックコネクタです。このコネクタは、プラグイン可能なモジュールを追加することで構成でき、次の内容を定義します。

  • 要求をクライアントからサーバーに送信したり、応答や通知をサーバーからクライアントに送信したりするためのトランスポートプロトコル
  • クライアントからサーバーに送信され、そのクラスローダーがターゲット MBean に依存するようなオブジェクトのオブジェクトラッピング

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 の実装に常に含まれているわけではありません。Java SE プラットフォームにはオプションのジェネリックコネクタは含まれていません。

ユーザー定義プロトコル

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

 


目次 | 前へ | 次へ

Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.