Solaris Bandwidth Manager 1.6 の開発

第 1 章 概要

この章では、Solaris Bandwidth Manager 1.6 に含まれるプログラミングインタフェースについて紹介します。

Java API は、次の目的で提供されています。

Solaris Bandwidth Manager 1.6 には、Sun Bandwidth Allocator 1.0 に提供されているものに類似した C Statistics API も含まれています。

Java API

Solaris Bandwidth Manager 1.6 の Java インタフェースは、Java Dynamic ManagementTM Kit にもとづく管理 bean (m-bean) セットとして実装されます。この節では、Java Dynamic Management Kit の基本的な概念と用語について紹介します。Java API の使用方法の概要については、第 2 章「Java インタフェースの使用」を参照してください。

重要な概念

図 1-1 は、Java Dynamic Management Kit の重要な概念がエージェントとマネージャにどのように関係するかを示しています。各コンセプトについては、以下の項で説明します。

図 1-1 Java Dynamic Management Kit の重要な概念

Graphic

コア管理フレームワーク

コア管理フレームワーク (フレームワークとも呼ぶ) は、エージェント内のオブジェクトのレジストリです。オブジェクトの登録は、次の要素によって行えます。

オブジェクトをフレームワークの外から管理したい場合は、そのオブジェクトを登録する必要があります。登録すると、Java Dynamic Management Kit によってデフォルトのオブジェクト名がオブジェクトに割り当てられます。マネージャは、このオブジェクト名を使用して、管理オペレーションの対象となるオブジェクトを識別します。フレームワークに登録されるオブジェクトはすべて、m-bean のインスタンスでなければなりません。フレームワークは、Java Dynamic Management Kit に提供されているコンポーネントの 1 つです。

m-bean

管理 bean (m-bean) は、一定のデザインパターンに準拠する Java オブジェクトです。これらのデザインパターンは、JavaBeansTM コンポーネントモデルから派生して作成されています。デザインパターンを使用すると、m-bean のプロパティ、アクション、およびイベントを定義できます。また、m-bean 内の読み取り専用のプロパティと読み書き両用のプロパティの区別もできます。m-bean のデザインパターンに準拠するには、個々の m-bean は JavaBeans コンポーネントでなければなりません。

m-bean インスタンスは、フレームワークへの登録が終わるとすぐに管理できます。m-bean のインスタンス化と登録は、次の要素によって行えます。

フレームワークを通してアクセスしたいオブジェクトはすべて、m-bean として記述されている必要があります。このようなオブジェクトには、次のようなものがあります。

これらのオブジェクトを表現する m-bean は開発者自身で記述します。Java Dynamic Management Kit のコンポーネントの一部は、m-bean として実装されています。

エージェントが動作している間、m-bean はメモリー内に保持されます。

メモリー内の情報はすべて、エージェントが停止する時に消失します。そのためエージェントは、その起動時に情報をリポジトリに読み込み直す必要があります。コンパイルされた m-bean クラスは、エージェントの CLASSPATH 環境変数に指定されている任意のディレクトリに格納できます。

アダプタ

アダプタは、フレームワークを外部アプリケーションに接続します。アダプタは、インスタンス化されフレームワークに登録された m-bean の特定のプロトコルを通してビューを提供します。外部アプリケーションは、アダプタを通して次の処理を行えます。

Solaris Bandwidth Manager のポリシーエージェントには、HTTP アダプタが含まれます。

c-bean

クライアント bean (c-bean) は、アダプタクライアント API を使用して開発されたマネージャに対して、リモートの m-bean を描写するためのスタブオブジェクトです。m-bean と同様に、c-bean は JavaBeans コンポーネントです。マネージャは、m-bean に伝播される次のオペレーションを c-bean に対して実行することによって m-bean にアクセスします。

m-bean が生成するイベントは、c-bean に伝達されます。

C Statistics API

Solaris Bandwidth Manager の C Statistics API は、Solaris Bandwidth Manager の設定に関する情報と、このソフトウェアが管理するインタフェースについての情報を取得します。C Statistics API はまた、モジュールレベルで発生するイベントを検出し、それらのイベント情報を返します。図 1-2 は、C Statistics API とアプリケーションの統合状態を示しています。

C Statistics API を使用して開発されたアプリケーションは、Solaris Bandwidth Manager がインストールされているマシンで動作しなければなりません。「デバイスの処理」「イベントの処理」 に示している関数は、ポリシーエージェントが動作中であることを要求しません。このため、デーモンが起動する時を検出するアプリケーションを実行できます。他の関数は、ポリシーエージェントが動作中でないとエラー BA_NOTRUNNING を返します。

図 1-2 C Statistics API の使用

Graphic