Filen serviceconfig.xml

Innhold

Merk

Når du refererer til plasseringen av filer og kataloger i dette dokumentet, er <install-home> katalogen der agentkontrollerpakken ble pakket opp.   Denne katalogen kalles også %TPTP_AC_HOME% i konfigurasjonsfilene.

Innledning

Filen serviceconfig.xml leses av agentkontrolleren for å hente brukerkonfigurerbare innstillinger. Den leses bare en gang, og det er ved oppstart. Endring av denne filen er vanligvis begrenset, fordi eventuelle endringer kan påvirke alle brukere.

Filen serviceconfig.xml inneholder følgende segmenter:

Hvis miljøvariabelen TPTP_AC_HOME er definert, ser agentkontrolleren etter config/serviceconfig.xml relativ til banen som er definert av den. Hvis ikke ser den relativt til sin egen installerte plassering. Standardplasseringen til filen serviceconfig.xml er <install-home>/config/serviceconfig.xml.

Hver forekomst av en agentkontroller som kjører på det samme systemet, krever sin egen versjon av serviceconfig.xml med ulike transportlagkonfigurasjoner. 

Merk

Agenter leser også filen serviceconfig.xml for å hente informasjonen fra Connection-segmentet, og på den måten tillate en agent å kommunisere med en bestemt agentkontroller.  

Agenter leser kommandolinjen for å finne en alternativ plassering for filen serviceconfig.xml.  Det forhåndsdefinerte parameternavnet for å angi plasseringen er -serviceconfig etterfulgt av banenavnet til konfigurasjonsfilen.  Hvis det ikke er angitt på kommandolinjen, leter agenten etter serviceconfig.xml på samme sted som beskrevet ovenfor for agentkontrolleren.

Agentkontrollerkonfigurasjon

Hierarkiet til elementene i filen serviceconfig.xml vises nedenfor. Rekkefølgen til elementer som vises på samme nivå, har ingen betydning. Bare én forekomst av hvert av de første elementnivåene (f.eks. AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases, PeerConnectionTransport) forventes. Hyperlinker i hierarkilinken til den formelle elementbeskrivelsen i delen Elementer og attributter.

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

Elementer og attributter


Element:
AgentControllerConfiguration
Dette er rotelementet i agentkontrollerkonfigurasjonen. Innstillingene brukes av agentkontrolleren ved oppstart. Det kan bare være ett av hvert underelement.

Underelementer:     AgentControllerEnvironment
                            Logging
                            Agent
                            Plugin
                            ProcessController
                            Connection
                            ApplicationAliases
                            PeerConnectionTransport

Element: AgentControllerEnvironment
Definerer de globale miljøinnstillingene for alle applikasjoner og agenter som startes via agentkontrolleren. Hvis dette elementet utelates, forblir miljøet som sendes videre, identisk med agentkontrollerens miljø. Variabler som er definert her påvirker ikke miljøinnstillingene til selve agentkontrolleren.

Brukes av: AgentControllerConfiguration

Underelementer: Variable

Element: Variable
Dette Variable-elementet definerer en miljøvariabel og hvordan den skal plasseres i det eksisterende miljøet for å danne standardmiljøet for alle applikasjoner og agenter som startes. Det kan være null eller flere av disse elementene definert for AgentControllerEnvironment.

Brukes av: AgentControllerEnvironment

Attributter:

name
Denne strengverdien angir navnet på miljøvariabelen.
value
Denne strengverdien angir verdien for miljøvariabelen.
position
(valgfritt) Denne strengverdien kan være "append", "prepend" eller "replace" og angir hvor dette miljøet skal plasseres i forhold til standardmiljøet.

Element: Logging
Definerer alvorsgraden, formatet og plasseringen til informasjonen som skal logges. Hvis dette elementet utelates, blir alle kritiske og alvorlige advarsler logget, ved hjelp av CBE-formatet, til katalogen som agentkontrolleren kjører i. Vær oppmerksom på at loggfilnavnet (tptpAgentCtrl.log) ikke kan endres, bare plasseringen av filen.

Brukes av: AgentControllerConfiguration

Attributter:

level
(valgfritt) Denne strengverdien angir nivået på alvorsgraden for meldinger som skal logges. Alle nivåer inkluderer seg selg og alle hendelser som er mer alvorlig. Oppgi ett av følgende (sortert etter stigende alvorsgrad):
  • DEBUG - inkluderer meldinger som bare gir litt informasjon om den interne flyten av kodeutføringen for agentkontrolleren og agentene.
  • INFORMATION - inkluderer hendelser som er normale, men som kan være av interesse for brukeren av programmet.
  • WARNING - inkluderer hendelser som er uventede, men som ikke forstyrrer driften av programmet.
  • CRITICAL - (standard) inkluderer hendelser som indikerer at normal drift av program ble avbrutt av en feil.
  • SEVERE - er begrenset til hendelser som resulterer i at programmet avsluttes.
format
(valgfritt) Denne strengverdien angir formatet som skal brukes når meldingene skrives til loggfilen. Oppgi ett av følgende:
  • CBE - (standard) meldinger blir skrevet i CBE-formatet (Common Base Event) (inkluderer detaljert informasjon om innholdet og opprinnelsen til meldingen) som passer for et leseverktøy for CBE-logger.
  • Simple - meldinger vil bli skrevet som ren tekst.
directory

(valgfritt) Denne strengverdien angir hvor loggfilen blir opprettet. Standardverdien er katalogen som agentkontrolleren kjøres fra.

Element: Agent
Dette nødvendige elementet angir katalogen der agenter som er kjent for agentkontrolleren, plasserer underkataloger som identifiserer agenten ved navn, og inneholder konfigurasjonsfilen agent.xml med informasjon om hvordan agenten skal startes og håndteres.

Brukes av: AgentControllerConfiguration

Attributter:

path
Denne strengverdien angir det fullstendige banenavnet til katalogen det skal letes etter agentkonfigurasjoner.

Element: Plugin
Dette elementet angir katalogen som inneholder utvidelser til konfigurasjonen av agentkontrolleren.  Utvidelsene er definert i konfigurasjonsfilene pluginconfig.xml.   Underkatalogene under den angitte katalogen kan også inneholde utvidelsesspesifikke kjørbare filer.

Brukes av: AgentControllerConfiguration

Attributter:

path
Denne strengverdien angir det fullstendige banenavnet til katalogen det skal letes etter utvidelser.
Element: ProcessController
ProcessController-elementet inneholder bare en verdi som angir banenavnet til den utførbare filen som agentkontrolleren starter og deretter kaller opp for å starte agenter og applikasjoner. Som standard starter agentkontrolleren agenten tptpProcessController(.exe) som ligger i samme katalog som agenten selv. Den utførbare filen må registrere seg selv hos agentkontrolleren og behandle kommandosettet for det grensesnittet. Fordi oppstartsinformasjonen er begrenset til banenavnet som ligger her, trenger ikke denne agenten å ha en underkatalog angitt i agentens katalog som for andre agenter, og den kan ikke inneholde kommandolinjeargumenter.

Brukes av: AgentControllerConfiguration

Element: Connection
Dette elementet er nødvendig og må som minimum inneholde et TransportLayer-element for å definere hver av de følgende tilkoblingstypene som brukes av agentkontrolleren: socket, navngitt rør og fellesminne.

Brukes av: AgentControllerEnvironment

Underelementer: TransportLayer

Attributter:

name
Denne strengverdien gir tilkoblingskonfigurasjonen et navn.

Element: TransportLayer
Dette elementet definerer et transportlag som er en pluggbar komponent inne i agentkontrolleren som er ansvarlig for å sende og motta data mellom komponenter i systemet via en mekanisme for kommunikasjon mellom prosesser.

Brukes av: Connection

Underelementer:  Configuration
                         CommandExtractor

Attributter:

loadlib
Denne strengverdien angir navnet på biblioteket som skal lastes inn for dette transportlaget, uten suffiks (det vil si at .dll eller .so ikke er inkludert). Det vanlige systembanesøket benyttes for å finne biblioteket.
type
Denne strengverdien oppgir den spesifikke identiteten for dette transportlaget.  Mulige verdier: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL og TPTP_ACTL.  Tilpassede transportlag bruker andre identifikatorer. Verdiene TPTP_CCTL og TPTP_ACTL er tilpassede transportlag med bakoverkompatibilitet for klienter og agenter ved hjelp av de opprinnelige grensesnittene for agentkontroller.

Element: Configuration
Configuration-elementet inneholder et underelement som angir mekanismen for kommunikasjon mellom prosesser for hvert transportlag. Kommunikasjonsmekanismene som er tilgjengelige, er socket, navngitt rør, fellesminne og CCTL.  ACTL-transportlaget har ingen konfigurasjonselementer. Tilpassede transportlag kan ha andre konfigurasjonselementer som gjelder for dem.

Brukes av: TransportLayer

Underelementer:     Port (bare med socketTL og CCTL)
                            PipeName (bare med namedPipeTL)
                            MemName (bare med sharedMemTL)
                            SecuredPort (bare med CCTL)
                            FilePort (bare med CCTL)
                            IsDataMultiplexed (bare med CCTL)
                            ProcessPolling (bare med CCTL)
                            Jvm (bare med CCTL)
                            Version (bare med CCTL)
                            SecurityEnabled (bare med CCTL)
                            UserDefinition (bare med CCTL og bare hvis sikkerhet er aktivert)
                            Keystore (bare med CCTL og bare hvis sikkerhet er aktivert)
                            KeystorePassword (bare med CCTL og bare hvis sikkerhet er aktivert)
                            Hosts (bare med CCTL)

Element: Port
Port-elementet angir hvilken port som skal brukes for socket-kommunikasjon. Port-elementet er bare gyldig når det brukes med transportlagene TPTP_SOCKET og TPTP_CCTL. Heltallsverdien angir det faktiske portnummeret som skal brukes ved oppretting av kontakttilkoblingen.

Brukes av: Configuration

Element: PipeName
PipeName-elementet angir at transportlaget er for navngitt rør-kommunikasjon. PipeName-elementet er bare gyldig når det brukes med namedPipeTL loadlib. Strengverdien angir navnet på røret som skal brukes ved oppretting av tilkoblingen.

Brukes av: Configuration

Element: MemName
MemName-elementet angir at transportlaget er for fellesminne-kommunikasjon. MemName-elementet er bare gyldig når det brukes med sharedMemTL loadlib. Strengverdien angir navnet på fellesminneressursen som skal brukes ved oppretting av denne tilkoblingen.

Brukes av: Configuration
 

Element: SecuredPort
SecuredPort-elementet angir hvilken port som skal brukes for sikker socket-kommunikasjon. SecuredPort-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL. Heltallsverdien angir det faktiske portnummeret som skal brukes ved oppretting av den sikre kontakttilkoblingen.

Brukes av: Configuration

Element: FilePort
FilePort-elementet angir transportlaget som brukes for socket-kommunikasjon via filoverføringstjenesten. FilePort-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL. Heltallsverdien angir det faktiske portnummeret som skal brukes ved oppretting av kontakttilkoblingen.

Brukes av: Configuration

Element: IsDataMultiplexed
IsDataMultiplexed-elementet oppgir om profilering og logging av data skal sendes over kontrollkanalen til agentkontrolleren. Datakanalen bruker som standard en vilkårlig port ved dataoverføring og kan være blokkert av en brannmur. Overføring av data via kontrollkanalen tillater et sett med forhåndsdefinerte porter som åpnes for innkommende tilkoblingsforespørsler gjennom en brannmur. Disse portene inkluderer standardporten 10002, den sikre porten 10003 og filserverporten 10005. Dette elementet har den boolske verdien som er satt til "FALSE" som standard.   IsDataMultiplexed-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: ProcessPolling
ProcessPolling-elementet oppgir om aktiv prosesstatuskontroll skal aktiveres eller ikke. Dette attributtet blir i hovedsak brukt til å kontrollere at agentkontrolleren oppdager når en prosess er avsluttet. Dette elementet har den boolske verdien som er satt til "TRUE" som standard. ProcessPolling-elementet er bare gyldig når det brukes sammen med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: Jvm
Jvm-elementet angir fullstendig kvalifisert bane til det dynamiske JVM-kjøretidsbiblioteket (jvm.dll eller libjvm.so) som skal brukes av komponentene for filoverføring og sikker tilkobling. Jvm-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: Version
Version-elementet beskriver agentkontrollerens versjonsnummer som rapporteres til andre komponenter. Version-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: SecurityEnabled
SecurityEnabled-elementet angir om klienter som tilkobles dette transportlaget skal tilkobles den sikre porten.   Hvis sikkerhet er aktivert og en klient forsøker å tilkobles en port som ikke er sikker, får klienten adressen til den sikre porten og tilkoblingen blir avvist.  Dette elementet har den boolske verdien som er satt til "FALSE" som standard.  SecurityEnabled-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: UserDefinition
UserDefinition-elementet beskriver hvilke brukere som kan koble seg til dette transportlaget.  Hvis dette elementet er satt til "ANY", vil alle brukere som kan autentiseres med OS, kunne koble seg til.  Hvis sikkerhet er aktivert, kreves dette elementet. Dette elementet bruker en strengverdi som består av en liste over brukernavn som bruker komma som skilletegn.  UserDefinition-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: Keystore
Keystore-elementet angir plasseringen av nøkkellageret for sikre tilkoblinger.  Hvis sikkerhet er aktivert, kreves dette elementet. Keystore-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: KeystorePassword
KeystorePassword-elementet definerer passordet som skal brukes med nøkkellageret for sikre tilkoblinger.  Hvis sikkerhet er aktivert, kreves dette elementet.KeystorePassword-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: Hosts
Hosts-elementer brukes til å kontrollere hvilke verter som kan opprette en tilkobling via dette transportlaget. Dette elementet består av en eller flere Allow- eller Deny-elementer.  Hosts-elementet er bare gyldig når det brukes med transportlaget TPTP_CCTL.

Brukes av: Configuration

Element: Allow
Allow-elementet angir en vert som kan brukes for å tilkobles agentkontrolleren via dette transportlaget.

Brukes av: Hosts

Attributter:

host
Denne strengen er navnet på eller IP-adressen til verten. Verdien "ALL" angir at dette transportlaget kan godta tilkoblinger fra alle typer verter.   Verdien "LOCAL" angir at det skal være tillatt med tilkoblinger fra lokale prosesser.
net
Dette attributtet angir et delnett der tilkoblinger er tillatt.
mask
Dette attributtet angir en delnettmaske som skal brukes for å tillate tilkoblinger.

Element: Deny
Deny-elementet angir en vert som ikke kan brukes for å tilkobles agentkontrolleren via dette transportlaget.

Brukes av: Hosts

Attributter:

host
Denne strengen er navnet på eller IP-adressen til verten som ikke kan brukes.
net
Dette attributtet angir et delnett der tilkoblinger ikke tillates.
mask
Dette attributtet angir en delnettmaske som skal brukes for å avvise tilkoblinger.

Element: CommandExtractor
Dette elementet definerer en kommandoekstraktor som er en pluggbar komponent i et transportlag som trekker ut kommandoer fra kommunikasjonsstrømmen mellom prosesser. Strengverdien angir navnet på biblioteket som skal lastes uten suffikset (det vil si at .dll eller .so er inkludert) eller prefikset (det vil si "lib" for Linux). Det vanlige systembanesøket benyttes for å finne biblioteket.

Brukes av: TransportLayer
 

Element: ApplicationAliases
ApplicationAliases-elementet er en valgfri liste over definisjoner av applikasjonsaliaser.

Brukes av: AgentControllerConfiguration

Underelementer: Application

Attributter:

launchAliasesOnly
(valgfri) Dette strengattributtet er enten "true" eller "false" (standard). Hvis du angir "true", startes bare applikasjoner som er definert i dette elementet. Hvis attributtet er satt til "false" eller det utelates, kan alle applikasjoner startes.

Element: Application
Application-elementet definerer et aliasnavn og starter informasjon for en applikasjon.

Brukes av: ApplicationAliases

Underelementer: Variable
Parameter

Attributter:

executable
Denne strengverdien angir aliasnavnet for applikasjonens utførbare fil som er angitt i baneattributtet.
location
(valgfritt) Denne strengverdien angir katalogen som den utførbare filen skal startes fra. Den refereres noen ganger til som arbeidskatalogen for den utførbare filen mens den kjører.
path
Denne strengverdien angir det fullstendige banenavnet til applikasjonen som skal startes. Den brukes i stedet for aliasnavnet når den utførbare filen for applikasjonen startes.

Element: Variable
Dette Variable-elementet definerer en miljøvariabel og hvordan den skal plasseres i det eksisterende miljøet når applikasjonen startes. Det kan være null eller flere av disse elementene definert for Application.

Brukes av: Application

Attributter:

name
Denne strengverdien angir navnet på miljøvariabelen.
value
Denne strengverdien angir verdien for miljøvariabelen.
position
(valgfritt) Denne strengverdien kan være >"append", "prepend" eller "replace" og angir hvor dette miljøet skal plasseres i forhold til standardmiljøet.

Element: Parameter
Parameter-elementet definerer et kommandolinjeargument som skal gis til applikasjonen når den startes. Det kan være null eller flere av disse elementene definert for Application.

Brukes av: Application

Attributter:

value
Denne strengverdien angir et kommandolinjeargument.
position
(valgfritt) Denne strengverdien kan være "append", "prepend" eller "replace" og angir hvor dette argumentet skal plasseres i forhold til eksisterende kommandolinjeargumenter.

Element: PeerConnectionTransport
Det obligatoriske elementet angir transportlaget som skal brukes for å opprette tilkoblinger mellom agentkontrolleren som leser denne konfigurasjonen, og sidestilte forekomster av agentkontrolleren.   Verdinavnene til dette elementet må samsvare med et navn på en transportlagtype for et bestemt transportlag som er deklarert i tilkoblingsdelen i konfigurasjonsfilen (f.eks. TPTP_CCTL).

Brukes av: AgentControllerConfiguration


Eksempel på filen serviceconfig.xml

Dette eksempelet viser en agentkontrollers konfigurasjonsfil:

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