目次||

第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-Object Request Broker (ORB) Protocol (IIOP)トランスポートをサポートしています。

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, 2020, Oracle and/or its affiliates. All rights reserved.