Indhold
Bemærk
Når der henvises til fil- og biblioteksplaceringer i dette dokument, er <installationsbibliotek> det bibliotek, hvor Agent Controller-pakken blev pakket ud. Dette bibliotek kaldes også %TPTP_AC_HOME% i konfigurationsfilerne.
Filen serviceconfig.xml læses af Agent Controller for at hente de indstillinger, der kan konfigureres af brugere. Den læses kun én gang ved opstart. Der er typisk begrænset adgang til ændring af filen, da ændringer påvirker alle brugere.
Filen serviceconfig.xml indeholder følgende segmenter:
Hvis miljøvariablen TPTP_AC_HOME er defineret, søger Agent Controller efter config/serviceconfig.xml i den sti, som er defineret af miljøvariablen, og ellers søger den i forhold til sin egen installationsplacering. Standardplaceringen for filen serviceconfig.xml er <installationsbibliotek>/config/serviceconfig.xml.
Alle Agent Controller-forekomster, der kører på det samme system, kræver en separat version af serviceconfig.xml med hver deres transportlagkonfiguration.
Bemærk
Agenter læser også filen serviceconfig.xml for at hente oplysninger fra segmentet Connection, der sætter en agent i stand til at kommunikere med en bestemt Agent Controller.
Agenter læser deres tilhørende kommandolinje for at fastslå den alternative placering, hvor filen serviceconfig.xml findes. Det foruddefinerede parameternavn til angivelse af placeringen er -serviceconfig efterfulgt af konfigurationsfilens stiplacering. Hvis ikke angivet i kommandolinjen, søger agenten efter serviceconfig.xml i de samme placeringer som beskrevet overfor for Agent Controller.
Hierarkiet for de elementer, der er indeholdt i filen serviceconfig.xml, er vist nedenfor. Den viste rækkefølge for elementer på samme niveau er uden betydning. Der forventes kun én forekomst af hvert første niveau af elementer (f.eks. AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases, PeerConnectionTransport). Hyperlink i hierarkiet linker til den formelle elementbeskrivelse i afsnittet 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
Underelementer: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Element: AgentControllerEnvironment
Definerer de globale miljøindstillinger for alle programmer og agenter, der
startes via Agent Controller. Hvis dette element udelades, forbliver det overførte miljø
identisk med miljøet for Agent Controller. De variabler, som
defineres her, har ingen indflydelse på miljøindstillingerne for selve Agent Controller.
Bruges af: AgentControllerConfiguration
Underelementer: Variable
Element: Variable
Elementet Variable definerer en miljøvariabel og hvordan denne skal
placeres i det eksisterende miljø for at danne standardmiljøet for
alle de programmer og agenter, der startes. Der kan være flere (eller ingen) af disse
elementer defineret for AgentControllerEnvironment.
Bruges af: AgentControllerEnvironment
Attributter:
- name
- Denne strengværdi angiver navnet på miljøvariablen.
- value
- Denne strengværdi angiver værdien for miljøvariablen.
- position
- Valgfrit. Denne strengværdi kan enten være "append", "prepend" eller "replace", og angiver, hvor miljøet skal placeres i forhold til standardmiljøet.
Element: Logging
Definerer problemniveauet for de oplysninger der skal logges, det format de skal logges i, og den
placering de skal logges til. Hvis elementet udelades, bliver alle kritiske (critical) og alvorlige (servere) advarsler logget i CBE-format i det samme bibliotek, som Agent Controller kører i. Bemærk, at navnet på logfilen (tptpAgentCtrl.log) ikke kan konfigureres. Kun placeringen kan konfigureres.
Bruges af: AgentControllerConfiguration
Attributter:
- level
- Valgfrit. Denne strengværdi angiver problemniveau for de meddelelser, der skal logges. Hvert niveau omfatter niveauet selv og alle aktiviteter, der anses for mere alvorlige. Angiv et af følgende (niveau angivet fra lavt til højt problemniveau):
DEBUG - omfatter meddelelser, der giver detaljer på lavt niveau om det interne forløb af kodeafvikling for Agent Controller og agenter.- INFORMATION - omfatter aktiviteter, der er normale, men som kan være af interesse for brugeren af programmet.
- WARNING - omfatter aktiviteter, der er uventede, men som ikke burde have indvirkning på programdriften.
- CRITICAL - (standard) omfatter aktiviteter, der angiver, at den normale programdrift blev afbrudt af en fejl.
- SEVERE - er begrænset til aktiviteter, der resulterer i afbrydelse af programmet.
- format
- Valgfrit. Denne strengværdi angiver det format, der skal bruges ved skrivning af meddelelser til logfilen. Angiv et af følgende:
- CBE - (standard) meddelelserne skrives i formatet Common Base Event (omfatter detaljerede oplysninger om meddelelsens kontekst og oprindelse), der er egnet til behandling med en CBE-loglæser.
- Simple - meddelelserne skrives med almindelig tekst.
directory Valgfrit. Strengværdien angiver den placering, som logfilen skal oprettes i. Standarden er det bibliotek, som Agent Controller køres fra.
Element: Agent
Dette obligatoriske element angiver det bibliotek, hvor der for de agenter, der skal være
kendt af Agent Controller, skal være placeret underbiblioteker, som identificerer agenten
ved navn og indeholde en agent.xml-konfigurationsfil med oplysninger om, hvordan
agenten skal startes og styres.
Bruges af: AgentControllerConfiguration
Attributter:
- path
- Denne strengværdi angiver den fuldstændige stiplacering af det bibliotek, hvor der skal søges efter agentkonfigurationer.
Element: Plugin
Dette element angiver biblioteket, hvor der evt. er placeret udvidelser til Agent Controller-konfigurationen. Udvidelserne er defineret i konfigurationsfilerne pluginconfig.xml. Underbibliotekerne under det
angivne bibliotek kan også indeholde udvidelsesspecifikke eksekvérbare filer.
Element: ProcessControllerBruges af: AgentControllerConfiguration
Attributter:
- path
- Denne strengværdi angiver den fuldstændige stiplacering af det bibliotek, hvor der skal søges efter udvidelser.
Element: ConnectionBruges af: AgentControllerConfiguration
Bruges af: AgentControllerEnvironment
Underelementer: TransportLayer
Attributter:
- name
- Denne strengværdi giver navnet på forbindelseskonfigurationen.
er tilpassede transportlag, der vha. de oprindelige Agent Controller-grænseflader giver kompatibilitet bagud for klienter og agenter.Bruges af: Connection
Underelementer: Configuration
CommandExtractor
Attributter:
- loadlib
- Denne strengværdi angiver navnet på det bibliotek, der skal indlæses i forbindelse med det pågældende transportlag, uden angivelse af suffiks. Dvs. du skal f.eks. ikke angive filtype .dll eller .so. Den normale systemstisøgning anvendes til fremfinding af biblioteket.
- type
- Denne strengværdi angiver transportlagets specifikke identitet. De mulige værdier er: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL og TPTP_ACTL. Særligt tilpassede transportlag skal bruge andre id'er end de angivne. Værdierne TPTP_CCTL og TPTP_ACTL
Element: Configuration
Elementet Configuration indeholder et underelement, der angiver
mekanismen til kommunikation mellem interne processer for hvert TransportLayer. De tilgængelige kommunikationsmekanismer
er i denne forbindelse socket, named-pipe, shared memory og CCTL. Der findes ingen konfigurationselementer
til transportlaget ACTL. Der kan være andre konfigurationselementer til
eventuelt tilpassede transportlag, som er
specifikke for disse.
Bruges af: TransportLayer
Underelementer: Port (kun sammen med socketTL og CCTL)
PipeName (kun sammen med namedPipeTL)
MemName (kun sammen med sharedMemTL)
SecuredPort (kun sammen med CCTL)
FilePort (kun sammen med CCTL)
IsDataMultiplexed (kun sammen med CCTL)
ProcessPolling (kun sammen med CCTL)
Jvm (kun sammen med CCTL)
Version (kun sammen med CCTL)
SecurityEnabled (kun sammen med CCTL)
UserDefinition (kun sammen med CCTL, og kun hvis der er aktiveret sikkerhed)
Keystore (kun sammen med CCTL, og kun hvis der er aktiveret sikkerhed)
KeystorePassword (kun sammen med CCTL, og kun hvis der er aktiveret sikkerhed)
Hosts (kun sammen med CCTL)
Element: Port
Elementet Port angiver den port, der skal bruges til socket-kommunikation.
Elementet Port er kun gyldigt, hvis det bruges sammen med
transportlagene TPTP_SOCKET og TPTP_CCTL. Heltalsværdierne i elementet
angiver det faktiske portnummer, der skal anvendes for at oprette socket-forbindelsen.
Bruges af: Configuration
Element: PipeName
Elementet PipeName angiver, at transportlaget gælder kommunikation med
named-pipe. Elementet PipeName er kun gyldigt, hvis det bruges sammen med
namedPipeTL loadlib. Strengværdien i elementet angiver navnet på den "pipe", der skal benyttes
til at oprette forbindelsen.
Bruges af: Configuration
Element: MemName
Elementet MemName angiver, at transportlaget gælder kommunikation med
fælles hukommelse (shared memory). Elementet MemName er kun gyldigt, hvis det bruges sammen med
sharedMemTL loadlib. Strengværdien i elementet angiver navnet på den ressource for fælles hukommelse, der skal benyttes
til at oprette forbindelsen.
Bruges af: Configuration
Element: SecuredPort
Elementet SecuredPort angiver den port, der skal bruges til Secure Socket-kommunikation.
Elementet SecuredPort er kun gyldigt, hvis det bruges sammen med
transportlaget TPTP_CCTL. Heltalsværdierne i elementet
angiver det faktiske portnummer, der skal anvendes for at oprette Secure Socket-forbindelsen.
Bruges af: Configuration
Element: FilePort
Elementet FilePort angiver det transportslag, der skal bruges til Socket-kommunikation
ved filoverførsel.
Elementet FilePort er kun gyldigt, hvis det bruges sammen med
transportlaget TPTP_CCTL. Heltalsværdierne i elementet
angiver det faktiske portnummer, der skal anvendes for at oprette Socket-forbindelsen.
Bruges af: Configuration
Element: IsDataMultiplexed
Elementet IsDataMultiplexed angiver, om profilering og logning af data
skal overføres over kontrolkanalen i Agent Controller. Som standard bruger datakanalen en vilkårlig port til dataoverførsel, og den kan blive blokeret, hvis der findes en firewall. Hvis data overføres over kontrolkanalen,
bliver det muligt for et sæt foruddefinerede porte at blive åbnet for indgående forbindelsesanmodninger gennem en firewall. Disse porte inkluderer standardport 10002, sikkerhedsport 10003 og filserverport 10005. Elementet antager som standard den
booleske værdi "FALSE". Elementet IsDataMultiplexed er kun gyldigt,
hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: ProcessPolling
Elementet ProcessPolling angiver, om aktiv kontrol af processtatus aktiveres eller ej. Denne attribut bruges til at sikre, at Agent Controller registrerer, når en proces er afsluttet. Elementet antager som standard den
booleske værdi "TRUE". Elementet ProcessPolling er kun gyldigt,
hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: Jvm
Elementet Jvm angiver den fuldstændig sti til det dynamiske Java Virtual Machine-runtimebibliotek (jvm.dll eller libjvm.so), som skal bruges af filoverførselsfunktionen
og af komponenter for sikker forbindelse. Elementet Jvm er kun gyldigt, hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: Version
Elementet Version beskriver det versionsnummer for Agent Controller, der
skal videregives til andre komponenter. Elementet Version er kun gyldigt, hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: SecurityEnabled
Elementet SecurityEnabled angiver, om klienter skal benytte
en sikker port, når de opretter forbindelse til det pågældende transportlag. Hvis der er aktiveret
sikkerhed og en klient forsøger at oprette forbindelse til en ikke-sikret port, vil klienten få opgivet adressen på den sikre port, og ellers vil forbindelsesforsøget blive afvist. Elementet antager som standard den
booleske værdi "FALSE". Elementet SecurityEnabled er kun gyldigt,
hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: UserDefinition
Elementet UserDefinition beskriver, hvilke brugere der kan få lov til at oprette forbindelse til det
pågældende transportlag. Hvis elementet sættes til "ANY", kan alle brugere oprette
forbindelse, sålænge de er blevet valideret af styresystemet. Elementet er påkrævet, hvis der er aktiveret
sikkerhed. Til elementet bruges en strengværdi bestående af
en kommasepareret liste med brugernavne. Elementet UserDefinition er kun gyldigt,
hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: Keystore
Elementet Keystore angiver placeringen af den kodeordsbeskyttede database (keystore) til sikre forbindelser. Elementet er påkrævet, hvis der er aktiveret
sikkerhed. Elementet Keystore er kun gyldigt, hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: KeystorePassword
Elementet KeystorePassword fastsætter det kodeord, det skal bruges sammen med
den kodeordsbeskyttede database (keystore) til
sikre forbindelser. Elementet er påkrævet, hvis der er aktiveret
sikkerhed. Elementet KeystorePassword er kun gyldigt, hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: Hosts
Elementet Hosts bruges til at bestemme, hvilke værter der har lov til
at oprette forbindelse gennem transportlaget. Elementet består af et eller flere Allow-
eller Deny-elementer. Elementet Hosts er kun gyldigt,
hvis det bruges sammen med
transportlaget TPTP_CCTL.
Bruges af: Configuration
Element: Allow
Elementet Allow angiver en vært, der har lov til at oprette forbindelse til Agent
Controller gennem det pågældende transportlag.
Bruges af: Hosts
Attributter:
- host
- Strengen angiver værtens navn eller IP-adresse. Værdien "ALL" angiver, at transportlaget tillader forbindelser fra alle værter. Værdien "LOCAL" angiver, at forbindelser skal tillades fra lokale processer.
- net
- Denne attribut angiver et undernet, hvorfra der tillades forbindelser.
- mask
- Denne attribut angiver en undernetmaske, som skal benyttes til at tillade forbindelser.
Element: Deny
Elementet Deny angiver en vært, der ikke har lov til at oprette forbindelse til Agent
Controller gennem det pågældende transportlag.
Bruges af: Hosts
Attributter:
- host
- Strengen angiver navn eller IP-adresse på den vært, der skal nægtes adgang.
- net
- Denne attribut angiver et undernet, hvorfra der ikke tillades forbindelser.
- mask
- Denne attribut angiver en undernetmaske, som skal benyttes til at nægte forbindelser.
Element: CommandExtractor
Dette element definerer et Extractor-program, der er en plugin-komponent i et
transportlag, som udtrækker kommandoer fra kommunikationsstrømmen mellem
interne processer. Elementets strengværdi angiver navnet på det bibliotek, der skal indlæses, uden
angivelse af suffiks (dvs. undlad at bruge .dll eller .so) eller præfiks (f.eks. "lib" for Linux).
Den normale systemstisøgning anvendes til fremfinding af biblioteket.
Bruges af: TransportLayer
Element: ApplicationAliases
Elementet ApplicationAliases er en valgfri liste over definitioner på programaliaser.
Bruges af: AgentControllerConfiguration
Underelementer: Application
Attributter:
- launchAliasesOnly
- Valgfrit. Denne strengattribut er enten "true" eller "false" (standard). Hvis den sættes til "true", er det kun de programmer, som er defineret i elementet, der vil blive startet. Hvis attributten sættes til "false", eller den udelades, kan alle programmer startes.
Element: Application
Elementet Application definerer aliasnavn og startoplysninger for et program.
Bruges af: ApplicationAliases
Underelementer: Variable
Parameter
Attributter:
- executable
- Denne strengværdi angiver aliasnavnet for programmets eksekvérbare fil, der er angivet i stiattributten.
- location
- Valgfrit. Denne strengværdi angiver biblioteket, hvorfra den eksekvérbare fil skal startes. Ved kørslen kaldes biblioteket sommetider for den eksekvérbare fils arbejdsbibliotek.
- path
- Denne strengværdi angiver den fuldstændige stiplacering for det program, der skal startes. Denne bruges i stedet for aliaset, når programmets eksekvérbare program skal startes.
Element: Variable
Elementet Variable definerer en miljøvariabel og hvordan denne skal
placeres i det eksisterende miljø, når programmet skal startes. Der kan være flere (eller ingen) af disse
elementer defineret for et Application-element.
Bruges af: Application
Attributter:
- name
- Denne strengværdi angiver navnet på miljøvariablen.
- value
- Denne strengværdi angiver værdien for miljøvariablen.
- position
- Valgfrit. Denne strengværdi kan enten være >"append", "prepend" eller "replace", og angiver, hvor miljøet skal placeres i forhold til standardmiljøet.
Element: Parameter
Elementet Parameter definerer et kommandolinjeargument, der skal overføres
til programmet, når dette startes. Der kan være flere (eller ingen) af disse
elementer defineret for et Application-element.
Bruges af: Application
Attributter:
- value
- Denne strengværdi angiver et kommandolinjeargument.
- position
- Valgfrit. Denne strengværdi kan enten være "append", "prepend" eller "replace" og angiver, hvor argumentet skal placeres i forhold til de eksisterende kommandolinjeargumenter.
Element: PeerConnectionTransport
Dette påkrævede element angiver, hvilket transportlag der skal bruges til
oprette forbindelser mellem den Agent Controller, der læser denne konfiguration,
og sidestillede Agent Controller-forekomster. Værdien i elementet skal matche
typenavnet på en et bestemt transportlag, som er erklæret i konfigurationsfilens Connection-afsnit,
f.eks. TPTP_CCTL.
Bruges af: AgentControllerConfiguration
Her vises et eksempel på en Agent Controller-konfigurationsfil:
<?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.