Filen serviceconfig.xml

Innehåll

Obs!

Vid referenser till fil- och katalogplatser i det här dokumenten är <install-home> den katalog där agentkontrollantpaketet zippades upp.   Katalogen refereras också till som %TPTP_AC_HOME% i konfigurationsfilerna.

Introduktion

Filen serviceconfig.xml läses av agentkontrollanten för att hämta inställningar som kan konfigureras av användaren. Den läses endast en gång, vid start. Ändringar av filen är vanligen begränsade, eftersom ändringar påverkar alla användare.

Filen serviceconfig.xml innehåller följande segment:

Om miljövariabeln TPTP_AC_HOME är definierad, söker agentkontrollanten efter config/serviceconfig.xml relativt den sökväg som definieras av den, annars söker den relativt sin egen installationsplats. Standardplatsen för filen serviceconfig.xml är  <install-home>/config/serviceconfig.xml.

Varje förekomst av en agentkontrollant som körs på samma system kräver en egen version av serviceconfig.xml med olika transportlagerkonfigurationer.  

Obs!

Agenter läser också filen serviceconfig.xml för att få informationen från anslutningssegmentet, vilket gör så att en agent kan kommunicera med en viss agentkontrollant.  

Agenter läser kommandoraden för att få en alternativ plats där filen serviceconfig.xml kan hittas.  Det fördefinierade alternativnamnet för att ange platsen är -serviceconfig följt av sökvägsnamnet för konfigurationsfilen.  Om det inte anges på kommandoraden söker agenten efter serviceconfig.xml på samma platser som beskrivs ovan för agentkontrollanten.

Konfiguration för agentkontrollant

Hierarkin för de element som finns i filen serviceconfig.xml visas nedan. Ordningen på de element som visas på samma nivå är oväsentlig. Endast en förekomst av vart och ett av elementen på den första nivån (dvs. AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases, PeerConnectionTransport) förväntas. Länkar i hierarkilänken till den formella elementbeskrivningen i avsnittet Element och attribut.

AgentControllerConfiguration
    AgentControllerEnvironment
        Variable
    Logging
    Agent
    Plugin
    ProcessController
    Connection
        TransportLayer
            Configuration
                Port
                PipeName
                MemName
               
SecuredPort
               
FilePort
               
IsDataMultiplexed
                ProcessPolling
               
Jvm
                Version
                SecurityEnabled
                UserDefinition
                Keystore
                KeystorePassword
                Hosts
                   
Tillåt
                    Deny
    CommandExtractor
    ApplicationAliases
        Application
            Variable
            Parameter
     PeerConnectionTransport

Element och attribut


Element:
AgentControllerConfiguration
Det här är rotelementet för agentkontrollantkonfigurationen. Inställningarna används av agentkontrollanten när den startas för första gången. Det kan bara finnas ett av varje underelement.

Underelement:     AgentControllerEnvironment
                            Logging
                            Agent
                            Plugin
                            ProcessController
                            Connection
                            ApplicationAliases
                            PeerConnectionTransport

Element: AgentControllerEnvironment
Definierar de globala miljöinställningarna för alla tillämpningar och agenter som startas via agentkontrollanten. Om det här elementet utelämnas förblir den överförda miljön identisk med miljön för själva agentkontrollanten. Variabler som definieras här påverkar inte miljöinställningarna för själva agentkontrollanten.

Används av: AgentControllerConfiguration

Underelement: Variable

Element: Variable
Det här Variable-elementet definierar en miljövariabel och hur den ska placeras inom den befintliga miljön för att en standardmiljö ska bildas för alla tillämpningar och agenter som startats. Det kan finnas noll eller flera av de här elementen definierade för AgentControllerEnvironment

Används av: AgentControllerEnvironment

Attribut:

name
Det här strängvärdet anger namnet på miljövariabeln.
value
Det här strängvärdet anger värdet för miljövariabeln.
position
(valfritt) Det här strängvärdet är något av alternativen "append", "prepend" och "replace", och anger var miljön ska placeras i relation till standardmiljön.

Element: Logging
Definierar allvarlighetsgraden för den information som ska loggas, i vilket format och till vilken plats. Om det här elementet utelämnas kommer alla kritiska och allvarliga varningar att loggas, i CBE-format, i samma katalog som agentkontrollanten körs. Observera att loggfilsnamnet (tptpAgentCtrl.log) inte är konfigurerbart, bara dess plats.

Används av: AgentControllerConfiguration

Attribut:

nivå
(valfritt) Det här strängvärdet anger allvarlighetsgraden för meddelanden som ska loggas. Varje nivå inkluderar sig själv och alla händelser som är allvarligare. Ange ett av följande alternativ (anges i stigande allvarlighetsgrad):
  • DEBUG - inkluderar meddelanden som tillhandahåller detaljer på låg nivå om agentkontrollantens och agenternas interna kodkörningsflöde.
  • INFORMATION - inkluderar händelser som är normala, men kan vara av intresse för användaren av programmet.
  • WARNING - inkluderar händelser som är oväntade, men inte bör påverka körningen av programmet.
  • CRITICAL - (standard) inkluderar händelser som anger att den normala körningen av programmet avbrutits av ett fel.
  • SEVERE - begränsas till händelser som resulterar i att programmet avslutas.
format
(valfritt) Det här strängvärdet anger vilket format som ska användas när meddelanden skrivs till loggfilen. Ange något av följande:
  • CBE - (standard) meddelanden skrivs i formatet för gemensamma bashändelser (inkluderar detaljerad information om meddelandets kontext och ursprung) som lämpar sig för förbrukning av ett CBE-loggläsningsverktyg.
  • Simple - meddelanden skrivs som enkel text.
directory

(valfritt) Det här strängvärdet anger den plats där loggfilen ska skapas. Standard är den katalog som agentkontrollanten körs från.

Element: Agent
Det här obligatoriska elementet anger den katalog där agenter som kommer att vara kända av agentkontrollanten kommer att ha placerat underkataloger som identifierar agenten efter namn och innehåller en agent.xml-konfigurationsfil med information om hur du startar och hanterar agenten.

Används av: AgentControllerConfiguration

Attribut:

path
Det här strängvärdet anger fullständigt sökvägsnamn för den katalog där agentkonfigurationer ska sökas.

Element: Plugin
Det här elementet anger den katalog där utökningar av agentkontrollantkonfigurationen kommer att ha placerats.  Utökningarna definieras i pluginconfig.xml-konfigurationsfilerna.  Underkatalogerna under den angivna katalogen kan också innehålla utökningsspecifika körbara filer.

Används av: AgentControllerConfiguration

Attribut:

path
Det här strängvärdet anger fullständigt sökvägsnamn för den katalog där utökningar ska sökas.
Element: ProcessController
ProcessController-element innehåller helt enkelt ett värde som anger sökvägsnamnet för den körbara fil som agentkontrollanten kommer att starta och sedan anropa för att starta agenter och tillämpningar. Som standard kommer agentkontrollanten att starta agenten tptpProcessController(.exe) som finns i samma katalog som själva agentkontrollanten. Den körbara filen måste registrera sig i agentkontrollanten och kunna bearbeta kommandouppsättningen för det gränssnittet. Eftersom dess startinformation är begränsad till det sökvägsnamn som finns här, behöver den här agenten inte ha någon underkatalog angiven i agentkatalogen som andra agenter, och den kan inte ta kommandoradsargument.

Används av: AgentControllerConfiguration

Element: Connection
Det här elementet är obligatoriskt och måste innehålla mist ett TransportLayer-element för att definiera samtliga följande typer av anslutningar som används av agentkontrollanten: sockel, namngivet rör och delat minne.

Används av: AgentControllerEnvironment

Underelement: TransportLayer

Attribut:

name
Det här strängvärdet anger ett namn för anslutningskonfigurationen.

Element: TransportLayer
Det här elementet definierar ett transportlager som är en pluggbar komponent inom agentkontrollanten och som ansvarar för att skicka och ta emot data mellan komponenter i systemet via en kommunikationsmekanism mellan processer.

Används av: Connection

Underelement:  Configuration
                         CommandExtractor

Attribut:

loadlib
Det här strängvärdet anger namnet på det bibliotek som ska läsas in för det här transportlagret, utan suffixet (dvs. ta inte med .dll eller .so). Den normala systemsökvägssökningen för att hitta biblioteket används.
type
Det här strängvärdet anger den specifika identiteten för det här transportlagret.  Möjliga värden är: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL och TPTP_ACTL.  Anpassade transportlager använder andra IDn.  Värdena TPTP_CCTL och TPTP_ACTL är anpassade transportlager som tillhandahåller bakåtkompatibilitet för klienter och agenter som använder de ursprungliga gränssnitten för agentkontrollanten.

Element: Configuration
Elementet Configuration innehåller ett underelement som anger kommunikationsmekanismen mellan processer för varje TransportLayer. Kommunikationsmekanismerna här är sockel, namngivet rör, delat minne och CCTL.  ACTL-transportlagret har inga konfigurationselement. Anpassade TransportLayers kan ha andra konfigurationselement som är specifika för de transportlagren.

Används av: TransportLayer

Underelement:     Port (endast med socketTL och CCTL)
                            PipeName (endast med namedPipeTL)
                            MemName (endast med sharedMemTL)
                            SecuredPort (endast med CCTL)
                            FilePort (endast med CCTL)
                            IsDataMultiplexed (endast med CCTL)
                            ProcessPolling (endast med CCTL)
                            Jvm (endast med CCTL)
                            Version (endast med CCTL)
                            SecurityEnabled (endast med CCTL)
                            UserDefinition (endast med CCTL och endast om säkerhet är aktiverad)
                            Keystore (endast med CCTL och endast om säkerhet är aktiverad)
                            KeystorePassword (endast med CCTL och endast om säkerhet är aktiverad)
                            Hosts (endast med CCTL)

Element: Port
Elementet Port anger den port som ska användas för sockelkommunikation. Elementet Port är endast giltigt när det används med transportlagren TPTP_SOCKET och TPTP_CCTL. Dess heltalsvärde anger det faktiska portnummer som ska användas när sockelanslutningen görs.

Används av: Configuration

Element: PipeName
Elementet PipeName anger att transportlagret är för kommunikation med namngivet rör. Elementet PipeName är endast giltigt när det används med namedPipeTL loadlib. Dess strängvärde anger namnet på det rör som ska användas när anslutningen görs.

Används av: Configuration

Element: MemName
Elementet MemName anger att transportlagret är för kommunikation med delat minne. Elementet MemName är endast giltigt när det används med sharedMemTL loadlib. Dess strängvärde anger namnet på den resurs för delat minne som ska användas när anslutningen görs.

Används av: Configuration
 

Element: SecuredPort
Elementet SecuredPort anger den port som ska användas för säker sockelkommunikation. Elementet SecuredPort är endast giltigt när det används med transportlagret TPTP_CCTL. Dess heltalsvärde anger det faktiska portnummer som ska användas när den säkra sockelanslutningen görs.

Används av: Configuration

Element: FilePort
Elementet FilePort anger det transportlager som används för sockelkommunikation av filöverföringstjänsten. Elementet FilePort är endast giltigt när det används med transportlagret TPTP_CCTL. Dess heltalsvärde anger det faktiska portnummer som ska användas när sockelanslutningen görs.

Används av: Configuration

Element: IsDataMultiplexed
Elementet IsDataMultiplexed anger om profilerings- och loggningsdata ska överföras via kontrollkanalen för agentkontrollanten. Som standard använder datakanalen en godtycklig port för dataöverföring och kan blockeras av att en brandvägg finns. Om data överförs via kontrollkanalen kan en uppsättning fördefinierade portar öppnas för inkommande anslutningsbegäran genom en brandvägg. Till de portarna hör standardporten 10002, den säkrade porten 10003 och filserverporten 10005. Det här elementet har ett booleskt värde som är "FALSE" som standard.  Elementet IsDataMultiplexed är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: ProcessPolling
Elementet ProcessPolling anger om aktiv kontroll av processtatus är aktiverad. Attributet används för att se till att agentkontrollanten upptäcker att en process har avslutats. Det här elementet har ett booleskt värde som är "TRUE" som standard.  Elementet ProcessPolling är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: Jvm
Jvm-elementet anger fullständig sökväg för Java Virtual Machine dynamiskt runtime-bibliotek (jvm.dll eller libjvm.so) som ska användas för komponenter för filöverföring och säker anslutning. Elementet Jvm är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: Version
Elementet Version beskriver det versionsnummer av agentkontrollanten som kommer att rapporteras till andra komponenter. Elementet Version är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: SecurityEnabled
Elementet SecurityEnabled anger om klienter som ansluter till det här transportlagret måste ansluta till den säkra porten eller inte.  Om säkerhet är aktiverad och en klient försöker ansluta till den port som inte är säker kommer klienten att få adressen till den säkra porten och anslutningen nekas.  Det här elementet har ett booleskt värde som är "FALSE" som standard.  Elementet SecurityEnabled är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: UserDefinition
Elementet UserDefinition beskriver vilka användare som får ansluta till det här transportlagret.  Om elementet anges som "ANY" kommer alla användare som kan autentiseras i operativsystemet att tillåtas ansluta.  Om säkerhet är aktiverad är det här elementet obligatoriskt. Elementet har ett strängvärde som består av en kommaavgränsad lista med användarnamn.  Elementet UserDefinition är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: Keystore
Elementet Keystore anger platsen för nyckellagret för säkra anslutningar.  Om säkerhet är aktiverad är det här elementet obligatoriskt. Elementet Keystore är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: KeystorePassword
Elementet KeystorePassword anger det nyckelord som ska användas med nyckellagret för säkra anslutningar.  Om säkerhet är aktiverad är det här elementet obligatoriskt. Elementet KeystorePassword är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: Hosts
Elementet Hosts används för att styra vilka värdar som tillåts ansluta via det här transportlagret. Elementet består av ett eller flera Allow- eller Deny-element.  Elementet Hosts är endast giltigt när det används med transportlagret TPTP_CCTL.

Används av: Configuration

Element: Allow
Elementet Allow anger en värd som tillåts ansluta till agentkontrollanten via det här transportlagret.

Används av: Värdar

Attribut:

värd
Den här strängen är namnet eller IP-adressen för värden. Värdet "ALL" anger att transportlagret får acceptera anslutningar från vilken värd som helst.  Värdet "LOCAL" anger att anslutningar bör accepteras från lokala processer.
net
Attributet anger ett subnät som anslutningar kan tillåtas från.
mask
Attributet anger en subnätmask som kan användas för att tillåta anslutningar.

Element: Deny
Elementet Deny anger en värd som inte tillåts ansluta till agentkontrollanten via det här transportlagret.

Används av: Värdar

Attribut:

värd
Den här strängen är namnet eller IP-adressen för den värd som nekas.
net
Attributet anger ett subnät som anslutningar kan nekas från.
mask
Attributet anger en subnätmask som kan användas för att neka anslutningar.

Element: CommandExtractor
Det här elementet definierar en kommandoextraheringsfunktion som är en pluggbar komponent i ett transportlager som extraherar kommandon från kommunikationsströmmen mellan processer. Dess strängvärde anger namnet på det bibliotek som ska läsas in utan suffixet (dvs. ta inte med .dll eller .so) eller prefixet (dvs. "lib" för Linux). Den normala systemsökvägssökningen för att hitta biblioteket används.

Används av: TransportLayer
 

Element: ApplicationAliases
Elementet ApplicationAliases är en valfri lista över definitioner av tillämpningsalias.

Används av: AgentControllerConfiguration

Underelement: Application

Attribut:

launchAliasesOnly
(valfritt) Det här strängattributet är antingen "true" eller "false" (standard). Om det anges som "true" kommer endast tillämpningar som har definierats inom elementet att startas. Om attributet anges som "false" eller utelämnas kan vilken tillämpning som helst startas.

Element: Application
Elementet Application anger ett aliasnamn och startinformation för en tillämpning.

Används av: ApplicationAliases

Underelement: Variable
Parameter

Attribut:

executable
Det här strängvärdet anger aliasnamnet för den körbara fil för tillämpningen som anges i sökvägsattributet.
placering
(valfritt) Det här strängvärdet anger den katalog som den körbara filen ska startas från, även kallad arbetskatalogen för den körbara filen när den körs.
sökväg
Det här strängvärdet anger fullständigt sökvägsnamn för den tillämpning som ska startas. Det används istället för aliasnamnet när du startar den körbara filen för tillämpningen.

Element: Variable
Det här Variable-elementet definierar en miljövariabel och hur den ska placeras inom den befintliga miljön när tillämpningen startas. Det kan finnas noll eller flera av de här elementen definierade för Application

Används av: Application

Attribut:

name
Det här strängvärdet anger namnet på miljövariabeln.
value
Det här strängvärdet anger värdet för miljövariabeln.
position
(valfritt) Det här strängvärdet är något av alternativen >"append", "prepend" och "replace", och anger var miljön ska placeras i relation till standardmiljön.

Element: Parameter
Elementet Parameter definierar ett kommandoradsargument som ges till tillämpningen när den startas. Det kan finnas noll eller flera av de här elementen definierade för Application

Används av: Application

Attribut:

value
Det här strängvärdet anger ett kommandoradsargument.
position
(valfritt) Det här strängvärdet är något av alternativen "append", "prepend" och "replace", och anger var argumentet ska placeras i relation till de befintliga kommandoradsargumenten.

Element: PeerConnectionTransport
Det här obligatoriska elementet anger det transportlager som kommer att användas för att upprätta anslutningar mellan agentkontrollanten som läser den här konfigurationen och jämlika förekomster av agentkontrollanten.  Värdenamnet för elementet måste matcha ett transportlagertypnamn för ett specifikt transportlager som deklareras i anslutningsavsnittet i konfigurationsfilen (t.ex. TPTP_CCTL).

Används av: AgentControllerConfiguration


Exempel: Filen serviceconfig.xml

I exemplet visas en exempelkonfigurationsfil för agentkontrollanten:

<?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.