serviceconfig.xml ファイル

目次

この文書でファイルとディレクトリーのロケーションを参照する場合、 <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 を検索します。

Agent Controller 構成

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

要素と属性


要素:
AgentControllerConfiguration
Agent Controller 構成のルート要素です。設定は、Agent Controller によってその初回の始動時に使用されます。各サブ要素のうちの 1 つのみが存在できます。

サブ要素:     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 構成ファイルで定義されます。 指定したディレクトリーの下のサブディレクトリーには、拡張子固有の実行可能ファイルが含まれる場合もあります。

使用する要素: AgentControllerConfiguration

属性:

path
この文字列値は、拡張子を探すディレクトリーの絶対パス名を指定します。
要素: ProcessController
ProcessController 要素には、エージェントおよびアプリケーションを起動するために、 Agent Controller が始動して呼び出す実行可能ファイルのパス名を指定する値が含まれています。デフォルトでは、Agent Controller は、それ自体と同一ディレクトリーにある tptpProcessController(.exe) エージェントを起動します。実行可能ファイルは、Agent Controller にそれ自体を登録する必要があり、そのインターフェースのコマンド・セットを処理できます。その起動情報はここに含まれているパス名に制限されるので、このエージェントは、ほかのエージェントのようにエージェント・ディレクトリー内に指定されているサブディレクトリーを持つことを要求されず、コマンド行引数をとることができません。

使用する要素: AgentControllerConfiguration

要素: Connection
この要素は必須であり、Agent Controller が使用する以下の各タイプの接続を定義するために、最小限、TransportLayer 要素を含んでいる必要があります。該当の接続タイプは、ソケット、名前付きパイプ、および共用メモリーです。

使用する要素: AgentControllerEnvironment

サブ要素: TransportLayer

属性:

name
この文字列値では、接続構成の名前を指定します。

要素: TransportLayer
この要素は、Agent Controller 内でプラグ可能コンポーネントであるトランスポート層を定義します。トランスポート層は、プロセス間通信メカニズムを使用してシステム内のコンポーネント同士のデータの送受信を行います。

使用する要素: Connection

サブ要素:  Configuration
                         CommandExtractor

属性:

loadlib
この文字列値では、このトランスポート層のためにロードするライブラリー名を指定します。ただし、その接尾部は不要です (つまり、.dll や .so を含めません)。このライブラリーを探すには、標準のシステム・パス検索が使用されます。
この文字列値は、このトランスポート層の固有の ID を提供します。 指定可能な値は、 TPTP_SOCKETTPTP_NAMEDPIPETPTP_SHAREDMEMTPTP_CCTLTPTP_ACTL です。  カスタム・トランスポート層は、別の識別子を使用します。 TPTP_CCTL および TPTP_ACTL 値は、Agent Controller の元のインターフェースを使用するクライアントおよびエージェントに後方互換性を提供する、カスタム・トランスポートです。

要素: 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


サンプル serviceconfig.xml ファイル

このサンプルは、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.