目次
注
この文書でファイルとディレクトリーのロケーションを参照する場合、 <install-home> は、Agent Controller パッケージが unzip されたディレクトリーになります。 このディレクトリーは、構成ファイル内で %TPTP_AC_HOME% とも呼ばれます。
serviceconfig.xml ファイルは、ユーザー構成可能設定を取得するために Agent Controller によって読み取られます。読み取られるのは、始動時の 1 回のみです。このファイルを変更するとすべてのユーザーに影響するため、このファイルの変更は通常は制限されています。
serviceconfig.xml ファイルには、以下のセグメントがあります。
環境変数 TPTP_AC_HOME が定義されている場合は、 Agent Controller は、環境変数によって定義されたパスを基準にして config/serviceconfig.xml を検索します。それ以外の場合は、独自のインストール済みロケーションを基準にして検索します。 serviceconfig.xml ファイルのデフォルト・ロケーションは、 <install-home>/config/serviceconfig.xml です。
同一システム上で実行中の、Agent Controller の各インスタンスは、さまざまなトランスポート層構成がある serviceconfig.xml の独自バージョンを必要とします。
注
また、エージェントは serviceconfig.xml ファイルを読み取って、接続セグメントから情報も取得します。したがって、エージェントは、特定の Agent Controller と通信できます。
エージェントは、自分のコマンド行を読み取って serviceconfig.xml ファイルを探すための代替ロケーションを取得します。 ロケーションを指定する定義済みオプション名は、構成ファイルのパス名が後に続く、 -serviceconfig です。 コマンド行で指定されない場合、エージェントは、Agent Controller について上述したように、同一ロケーションで serviceconfig.xml を検索します。
serviceconfig.xml に含まれている要素の階層を下に示します。同一レベルで示される要素の順番は重要ではありません。第 1 レベルの各要素 (つまり、AgentControllerEnvironment、Logging、Agent、Plugin、ProcessController、 Connection、ApplicationAliases) が、1 つのみ現れることが予期されます。階層のハイパーリンクは、『要素と属性』セクションの形式的要素記述にリンクされています。
AgentControllerConfiguration
AgentControllerEnvironment
Variable
Logging
Agent
Plugin
ProcessController
Connection
TransportLayer
Configuration
Port
PipeName
MemName
SecuredPort
FilePort
IsDataMultiplexed
ProcessPolling
Jvm
Version
SecurityEnabled
UserDefinition
Keystore
KeystorePassword
Hosts
Allow
Deny
CommandExtractor
ApplicationAliases
Application
Variable
Parameter
PeerConnectionTransport
サブ要素: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
要素: AgentControllerEnvironment
Agent Controller により起動されるすべてのアプリケーションおよびエージェントに対するグローバル環境設定を定義します。この要素を省略した場合は、渡される環境は Agent Controller の環境と同一のままになります。ここで定義された変数は、Agent Controller 自体の環境設定には影響しません。
使用する要素: AgentControllerConfiguration
サブ要素: Variable
要素: Variable
この Variable 要素は、環境変数と、その環境変数を既存環境内に配置する方法を定義して、起動されたすべてのアプリケーションおよびエージェントに対するデフォルト環境を形成します。
AgentControllerEnvironment 用に定義されたこれらの要素は、ゼロまたはそれ以上存在します。
使用する要素: AgentControllerEnvironment
属性:
- name
- この文字列値は、環境変数の名前を指定します。
- value
- この文字列値は、環境変数の値を指定します。
- position
- (オプション) この文字列値は、「append」、「prepend」、「replace」のいずれかであり、デフォルト環境を基準にこの環境を置く場所を指示します。
要素: Logging
ログに記録する情報の重大度レベル、使用する形式、ログのロケーションを定義します。この要素を省略すると、すべてのクリティカル警告と重大警告が、Agent Controller が実行されている同一ディレクトリーに CBE 形式で記録されます。ログ・ファイル名 (tptpAgentCtrl.log) は構成可能ではなく、そのロケーションのみが構成可能であることに注意してください。
使用する要素: AgentControllerConfiguration
属性:
- level
- (オプション) この文字列値は、ログに記録する必要があるメッセージの重大度レベルを示しています。各レベルには、それ自体とより重大なすべてのイベントが含まれます。以下の 1 つを指定します (重大度が増す順にリストされています):
DEBUG - Agent Controller およびエージェントのコード実行の内部フローに関する低水準の詳細を示すメッセージが含まれています。- INFORMATION - 正常ではあるが、プログラムのユーザーが関心を持つイベントが含まれています。
- WARNING - 予期しないが、プログラム操作の妨げとはならないイベントが含まれています。
- CRITICAL - (デフォルト) 標準のプログラム操作がエラーによって中断されたことを示すイベントが含まれています。
- SEVERE - は、プログラム終了の原因になるイベントに制限されます。
- format
- (オプション) この文字列値は、メッセージをログ・ファイルに書き込む際に使用する形式を指定します。以下のいずれか 1 つを指定します。
- CBE - (デフォルト) メッセージは、CBE ログ読み取りユーティリティーの使用量に適した共通ベース・イベント・フォーマット (メッセージのコンテキストおよび発信元の詳細情報を含む) で書き込まれます。
- Simple - メッセージは、シンプル・テキストとして書き込まれます。
directory (オプション) この文字列値は、ログ・ファイルが作成されるロケーションを指定します。デフォルトは、Agent Controller が実行されるディレクトリーです。
要素: Agent
この必須要素では、Agent Controller に既知となるエージェントがサブディレクトリーを置くディレクトリーを指定します。このサブディレクトリーは、エージェントを名前で識別し、エージェントの起動および管理方法についての情報がある
agent.xml 構成ファイルを含んでいます。
使用する要素: AgentControllerConfiguration
属性:
- path
- この文字列値は、エージェント構成を探すディレクトリーの絶対パス名を指定します。
要素: Plugin
この要素は、Agent Controller 構成の拡張子を置くディレクトリーを指定します。 拡張子は、
pluginconfig.xml 構成ファイルで定義されます。 指定したディレクトリーの下のサブディレクトリーには、拡張子固有の実行可能ファイルが含まれる場合もあります。
要素: ProcessController使用する要素: AgentControllerConfiguration
属性:
- path
- この文字列値は、拡張子を探すディレクトリーの絶対パス名を指定します。
要素: Connection使用する要素: AgentControllerConfiguration
使用する要素: AgentControllerEnvironment
サブ要素: TransportLayer
属性:
- name
- この文字列値では、接続構成の名前を指定します。
値は、Agent Controller の元のインターフェースを使用するクライアントおよびエージェントに後方互換性を提供する、カスタム・トランスポートです。使用する要素: Connection
サブ要素: Configuration
CommandExtractor
属性:
- loadlib
- この文字列値では、このトランスポート層のためにロードするライブラリー名を指定します。ただし、その接尾部は不要です (つまり、.dll や .so を含めません)。このライブラリーを探すには、標準のシステム・パス検索が使用されます。
- 型
- この文字列値は、このトランスポート層の固有の ID を提供します。 指定可能な値は、 TPTP_SOCKET、TPTP_NAMEDPIPE、TPTP_SHAREDMEM、TPTP_CCTL、TPTP_ACTL です。 カスタム・トランスポート層は、別の識別子を使用します。 TPTP_CCTL および TPTP_ACTL
要素: Configuration
Configuration 要素には、各 TransportLayer にプロセス間通信メカニズムを指定するサブ要素が含まれています。ここで提供される通信メカニズムは、ソケット、名前付きパイプ、共用メモリー、および CCTL です。
ACTL トランスポート層には構成要素はありません。カスタム TransportLayer には、このトランスポート層に固有の他の構成要素が含まれている場合があります。
使用する要素: TransportLayer
サブ要素: Port (socketTL および CCTL の場合のみ)
PipeName (namedPipeTL の場合のみ)
MemName (sharedMemTL の場合のみ)
SecuredPort (CCTL の場合のみ)
FilePort (CCTL の場合のみ)
IsDataMultiplexed (CCTL の場合のみ)
ProcessPolling (CCTL の場合のみ)
Jvm (CCTL の場合のみ)
Version (CCTL の場合のみ)
SecurityEnabled (CCTL の場合のみ)
UserDefinition (CCTL の場合で、セキュリティーが使用可能な場合のみ)
Keystore (CCTL の場合で、セキュリティーが使用可能な場合のみ)
KeystorePassword (CCTL の場合で、セキュリティーが使用可能な場合のみ)
Hosts (CCTL の場合のみ)
要素: Port
Port 要素では、ソケット通信に使用されるポートを指定します。Port 要素が有効になるのは、
TPTP_SOCKET および TPTP_CCTL トランスポート層に使用した場合のみです。その整数値によって、ソケット接続をする際に使用する実ポート番号を指定します。
使用する要素: Configuration
要素: PipeName
PipeName 要素は、トランスポート層が名前付きパイプ通信用であることを示します。
PipeName 要素が有効になるのは、
namedPipeTL loadlib と併用した場合のみです。その文字列値によって、接続する際に使用するパイプ名を指定します。
使用する要素: Configuration
要素: MemName
MemName 要素は、トランスポート層が共用メモリー通信用であることを示します。
MemName 要素が有効になるのは、
sharedMemTL loadlib と併用した場合のみです。その文字列値によって、接続する際に使用する共用メモリー・リソース名を指定します。
使用する要素: Configuration
要素: SecuredPort
SecuredPort 要素では、セキュア・ソケット通信に使用されるポートを指定します。SecuredPort 要素は、
TPTP_CCTL トランスポート層に使用した場合にのみ有効です。この整数値は、セキュア・ソケット接続を確立する際に使用する、実際のポート番号を指定します。
使用する要素: Configuration
要素: FilePort
FilePort 要素では、ファイル転送サービスのソケット通信に使用されるトランスポート層を指定します。
FilePort 要素は、TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。その整数値によって、ソケット接続をする際に使用する実ポート番号を指定します。
使用する要素: Configuration
要素: IsDataMultiplexed
IsDataMultiplexed 要素では、プロファイルおよびロギング・データを Agent Controller のコントロール・チャネルを経由して伝送するかどうかを指定します。デフォルトでは、データ・チャネルはデータ伝送に任意のポートを使用し、ファイアウォールの存在によってブロックされることがあります。コントロール・チャネルを経由してデータを転送することによって、事前定義されたポートのセットを、ファイアウォールを通過した着信接続要求に対して開くことができます。これらのポートには、デフォルト・ポートの 10002、保護されたポートの 10003、およびファイル・サーバー・ポートの 10005 が含まれます。この要素は、デフォルト設定が「FALSE」である boolean 値を受け取ります。 IsDataMultiplexed 要素は、
TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: ProcessPolling
ProcessPolling 要素では、プロセス状況のアクティブ検査を使用可能にするかどうかを指定します。この属性は、Agent Controller が、プロセスが終了したときを検出できるようにするために使用されます。この要素は、デフォルト設定が「TRUE」である boolean 値を受け取ります。 ProcessPolling 要素は、
TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: Jvm
Jvm 要素では、ファイル転送およびセキュア接続コンポーネントによって使用される、
Java 仮想マシン動的ランタイム・ライブラリー (jvm.dll または libjvm.so) の完全修飾パスを指定します。Jvm 要素は、
TPTP_CCTL トランスポート層に使用した場合にのみ有効です。
使用する要素: Configuration
要素: Version
Version 要素では、他のコンポーネントに報告される Agent Controller のバージョン番号を記述します。
Version 要素は、
TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: SecurityEnabled
SecurityEnabled 要素では、このトランスポート層に接続しているクライアントが、セキュア・ポートに接続する必要があるかどうかを示します。 セキュリティーが使用可能になっているときに、クライアントが非セキュア・ポートへの接続を試みると、クライアントはセキュア・ポートのアドレスを提供され、接続は拒否されます。 この要素は、デフォルト設定が「FALSE」である boolean 値を受け取ります。 SecurityEnabled 要素は、
TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: UserDefinition
UserDefinition 要素では、どのユーザーがこのトランスポート層に接続するかを記述します。 この要素を「ANY」に設定すると、OS で認証できるすべてのユーザーが接続を許可されます。 セキュリティーが使用可能である場合、この要素は必須です。この要素は、コンマで区切ったユーザー名リストからなる文字列値を受け取ります。
UserDefinition 要素は、TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: Keystore
Keystore 要素では、セキュア接続の鍵ストアのロケーションを指定します。 セキュリティーが使用可能である場合、この要素は必須です。Keystore 要素は、
TPTP_CCTL トランスポート層に使用した場合にのみ有効です。
使用する要素: Configuration
要素: KeystorePassword
KeystorePassword 要素では、セキュア接続の鍵ストアで使用されるパスワードを設定します。 セキュリティーが使用可能である場合、この要素は必須です。KeystorePassword 要素は、
TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: Hosts
Hosts 要素は、このトランスポート層によってどのホストが接続を許可されるかを制御するために使用されます。この要素は、1 つ以上の Allow または Deny 要素からなります。
Hosts 要素は、TPTP_CCTL トランスポート層
に使用した場合にのみ有効です。
使用する要素: Configuration
要素: Allow
Allow 要素では、このトランスポート層による Agent Controller への接続を許可されるホストを指定します。
使用する要素: Hosts
属性:
- host
- この文字列は、ホストの名前または IP アドレスです。「ALL」の値は、このトランスポート層が、すべてのホストからの接続を受け入れることを示します。 「LOCAL」の値は、ローカル・プロセスからの接続を受け入れることを示します。
- net
- この属性は、接続を許可するサブネットを示します。
- mask
- この属性は、接続の許可に使用するサブネット・マスクを示します。
要素: Deny
Deny 要素では、このトランスポート層による Agent Controller への接続を許可されないホストを指定します。
使用する要素: Hosts
属性:
- host
- この文字列は、拒否するホストの名前または IP アドレスです。
- net
- この属性は、接続を拒否するサブネットを示します。
- mask
- この属性は、接続の拒否に使用するサブネット・マスクを示します。
要素: CommandExtractor
この要素では、トランスポート層のプラグ可能コンポーネントである Command Extractor を定義します。これは、プロセス間通信ストリームからコマンドを抽出します。その文字列値によって、ロードするライブラリー名を指定します。ただし、その接尾部は不要です (つまり、.dll や .so を含めません)。同様に接頭部 (つまり、Linux の「lib」) も不要です。このライブラリーを探すには、標準のシステム・パス検索が使用されます。
使用する要素: TransportLayer
要素: ApplicationAliases
ApplicationAliases 要素は、アプリケーションの別名定義のオプション・リストです。
使用する要素: AgentControllerConfiguration
サブ要素: Application
属性:
- launchAliasesOnly
- (オプション) このストリング属性は、「はい」または「いいえ」(デフォルト) のどちらかです。「はい」に設定した場合、この要素内で定義されているアプリケーションのみが起動されます。この属性を「いいえ」に設定するか、または省略した場合、どのアプリケーションも起動できます。
要素: Application
Application 要素では、アプリケーションの別名と起動情報を定義します。
使用する要素: ApplicationAliases
サブ要素: Variable
Parameter
属性:
- executable
- この文字列値によって、「path」属性で指定されたアプリケーションの実行可能ファイルの別名を指定します。
- location
- (オプション) この文字列値では、実行可能ファイルを起動するディレクトリーを指定します。このディレクトリーは、実行可能ファイルの実行中にその作業ディレクトリーと呼ばれることもあります。
- path
- この文字列値によって、起動するアプリケーションの絶対パス名を指定します。これは、アプリケーションの実行可能ファイルを起動するときに別名の代わりに使用されます。
要素: Variable
この Variable 要素では、環境変数と、アプリケーションを起動するときに、その環境変数を既存環境内に配置する方法を定義します。アプリケーション用に定義されたこれらの要素は、ゼロまたはそれ以上存在します。
使用する要素: Application
属性:
- name
- この文字列値は、環境変数の名前を指定します。
- value
- この文字列値は、環境変数の値を指定します。
- position
- (オプション) この文字列値は、「append」、「prepend」、「replace」のいずれかであり、デフォルト環境を基準にこの環境を置く場所を指示します。
要素: Parameter
Parameter 要素は、起動時にアプリケーションに指定するコマンド行引数を定義します。アプリケーション用に定義されたこれらの要素は、ゼロまたはそれ以上存在します。
使用する要素: Application
属性:
- value
- この文字列値はコマンド行引数を指定します。
- position
- (オプション) この文字列値は、「append」、「prepend」、「replace」のいずれかであり、既存のコマンド行引数を基準にこの引数を置く場所を指示します。
要素: PeerConnectionTransport
この必須要素では、この構成を読み込む Agent Controller とピア Agent Controller インスタンス間の接続の確立に使用される、トランスポート層を指定します。 この要素の値名は、構成ファイルの接続セクションで宣言された固有のトランスポート層のトランスポート層タイプ名 (例:TPTP_CCTL) に一致する必要があります。
使用する要素: AgentControllerConfiguration
このサンプルは、Agent Controller 構成ファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<AgentControllerConfiguration>
<AgentControllerEnvironment configuration="default">
<Variable name="JAVA_PATH"
value="C:\Program Files\Java\j2re1.4.2_08\bin\java.exe" position="replace"/>
<Variable name="RASERVER_HOME"
value="C:\Eclipse\Projects\AgentController" position="replace"/>
<Variable name="TPTP_AC_HOME"
value="%RASERVER_HOME%" position="replace"/>
<Variable name="PLUGINS_HOME"
value="%RASERVER_HOME%\plugins" position="replace"/>
<Variable name="PATH" value="%RASERVER_HOME%\bin"
position="prepend"/>
</AgentControllerEnvironment>
<ApplicationAliases>
<Application configuration="default"
executable="java.exe" path="%JAVA_PATH%" location="%SYS_TEMP_DIR%">
<Variable
name="CLASSPATH" value="%CLASSPATH_ORG_ECLIPSE_EQUINOX_COMMON%"
position="append"/>
<Variable
name="PATH" value="%RASERVER_HOME%\bin" position="prepend"/>
</Application>
</ApplicationAliases>
<Plugin path="%PLUGINS_HOME%"/>
<Agent path="%TPTP_AC_HOME%\agents"/>
<Logging level="INFORMATION" format="CBE" directory="%TPTP_AC_HOME%\config"/>
<ProcessController>%TPTP_AC_HOME%\bin\tptpProcessController.exe</ProcessController>
<Connection name="Dev">
<TransportLayer loadlib="socketTL"
type="TPTP_SOCKET">
<Configuration>
<Port>10006</Port>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="namedPipeTL"
type="TPTP_LOG">
<Configuration>
<PipeName>acmasterlog</PipeName>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="namedPipeTL"
type="TPTP_NAMEDPIPE">
<Configuration>
<PipeName>acmaster</PipeName>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="sharedMemTL"
type="TPTP_SHAREDMEM">
<Configuration>
<MemName>acbuffer</MemName>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="tptpCCTL"
type="TPTP_CCTL">
<Configuration>
<Port>10002</Port>
<SecuredPort>10003</SecuredPort>
<FilePort>10005</FilePort>
<IsDataMultiplexed>false</IsDataMultiplexed>
<ProcessPolling>true</ProcessPolling>
<Jvm>C:\Program Files\Java\j2re1.4.2_08\bin\client\jvm.dll</Jvm>
<Version>4.2.0</Version>
<SecurityEnabled>true</SecurityEnabled>
<UserDefinition>ANY</UserDefinition>
<Keystore>C:\Eclipse\Projects\AgentController\security\tptpSampleKeystore</Keystore>
<KeystorePassword>password</KeystorePassword>
<Hosts configuration="default">
<Allow host="LOCAL"/>
</Hosts>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="tptpACTL"
type="TPTP_ACTL">
<Configuration/>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
</Connection>
<PeerConnectionTransport>TPTP_CCTL</PeerConnectionTransport>
</AgentControllerConfiguration>
Copyright (C) 2005, 2006 Intel Corporation.