1 JMXテクノロジの紹介

Java Management Extensions (JMX)テクノロジについてすでに理解している場合は、バージョン情報についてJMXテクノロジのバージョンを参照してください。

JMXテクノロジでは、アプリケーション、デバイス、サービスなどのリソースを管理するための簡単で標準的な方法が用意されています。JMXテクノロジは動的であるため、リソースが作成、インストール、および実装されると、そのリソースをモニターおよび管理するために使用できます。JMXテクノロジを使用して、Java仮想マシン (Java VM)をモニターおよび管理することもできます。

JMXテクノロジは、密接に関連する2つのJava Specification Requests (JSR)として、Java Community Process (JCP)によって開発されました。

  • JSR 3: Java Management Extensions (JMX) Specification
  • JSR 160: Java Management Extensions (JMX) Remote API

JSRはJavadocツールで生成されたAPIドキュメントによって定義され、各JSRのPDF仕様ドキュメントに記載されています。

名前が示すとおり、JMX Remote APIではリモート機能がJMX仕様に追加されており、アプリケーション、システム、およびネットワークをリモートでモニターおよび管理できます。このガイドでは、JMXテクノロジという語はJMX仕様とJMX Remote APIの両方を記述するために使用されています。

この章では、次のセクションでJMXテクノロジについて紹介します。

JMXテクノロジについて

JMX仕様では、Javaプログラミング言語でアーキテクチャ、設計パターン、およびAPIについて定義しています。また、アプリケーションとネットワークの管理およびモニタリングのサービスについても定義しています。

JMXテクノロジを使用して、指定されたリソースが管理対象Bean (MBean)と呼ばれる1つ以上のJavaオブジェクトによって計測されます。これらのMBeanは、MBeanサーバーと呼ばれるコアの管理オブジェクト・サーバーに登録されます。MBeanサーバーは管理エージェントとして働き、Javaプログラミング言語に対応するほとんどのデバイス上で実行できます。

仕様では、仕様に準拠して計測されたリソースを管理するために使用できるJMXエージェントを定義しています。JMXエージェントは、MBeanが登録されているMBeanサーバーと、MBeanを処理する一連のサービスで構成されます。JMXエージェントは、リソースを直接制御し、リモート管理アプリケーションで利用できるようにします。

リソースが計測される方法は、管理インフラストラクチャとはまったく無関係です。そのためリソースは、その管理アプリケーションが実装されている方法に関係なく管理可能です。

JMXテクノロジでは、標準コネクタ(JMXコネクタ)を定義しています。JMXコネクタを使用すると、リモート管理アプリケーションからJMXエージェントにアクセスできます。別のプロトコルを使用するJMXコネクタでも、同じ管理インタフェースを用意しています。管理アプリケーションでは、使用している通信プロトコルに関係なく、リソースを透過的に管理できます。JMXエージェントは、JMX仕様に準拠していないがJMXエージェントをサポートしているシステムやアプリケーションでも使用できます。

JMXテクノロジを使用する理由

Javaコードの計測、有用なJavaエージェントの作成、分散管理ミドルウェアやマネージャの実装、既存の管理およびモニタリング・システムに対するソリューションのスムーズな統合など、JMXテクノロジでは、あらゆる業界のJava開発者に柔軟性の高い実現方法を提供します。

  • JMXテクノロジを使用すると、最小限の投資でJavaアプリケーションを管理できます: JMXテクノロジ・エージェントは、Javaテクノロジ対応のほとんどのデバイスで実行できるため、Javaアプリケーションの設計に大きな影響を与えることなく管理できます。Javaアプリケーションでは、管理オブジェクト・サーバーを埋め込み、その機能の一部をオブジェクト・サーバーに登録された1つまたはいくつかの管理対象Bean (MBean)として利用できるようにすることのみが必要です。
  • JMXテクノロジは、Javaテクノロジベースのアプリケーション、システム、およびネットワークを管理する標準的な方法を提供します: たとえば、Java Platform, Enterprise Edition (Java EE) 5アプリケーション・サーバーは、JMXアーキテクチャに準拠しており、その結果としてJMXテクノロジを使用して管理できます。
  • JMXテクノロジを使用すれば、難しい設定なしでJava仮想マシン(JVM)を管理できます: JVMはJMXテクノロジを使用して高度に計測されています。JMXエージェントを起動して、簡単に組込みのJVMインストゥルメンテーションにアクセスしてリモートにJVMをモニターおよび管理できます。
  • JMXテクノロジでは、拡大可能で動的な管理アーキテクチャを用意しています: それぞれのJMXエージェント・サービスが、管理エージェントにプラグインできる独立モジュールです。このコンポーネント・ベースの考え方により、JMXソリューションは、設置面積の小さなデバイスから大規模な遠距離通信スイッチ、さらにはそれ以上の規模にまで拡大可能です。JMX仕様では、一連のコア・エージェント・サービスを用意しています。サービスは追加で開発でき、管理インフラストラクチャで動的にロード、アンロード、または更新が可能です。
  • JMXテクノロジは既存の標準Javaテクノロジを活用しています: JMX仕様では、Java Naming and Directory Interface (JNDI)などの既存のJava仕様を必要に応じて参照しています。
  • NetBeans IDEのJMXモジュールにより、JMXアプリケーションの作成がより簡単になります: JMXモジュールはNetBeansアップデート・センターから取得できます。
  • JMXテクノロジは、既存の管理ソリューションや最新技術と統合できます: たとえば、JMXエージェントはHTMLブラウザを使用して管理できます。JMX APIはオープン・インタフェースを提供しており、あらゆる管理システム・ベンダーが使用できます。JMXソリューションでは、JiniテクノロジやService Location Protocol (SLP)などの検索、検出サービスおよびプロトコルを使用できます。