Contenido
Nota
Cuando en este documento se hace referencia a las ubicaciones de archivo y directorio, <inicio-instalación> es el directorio en el que se desempaquetó Agent Controller. En los archivos de configuración también se hace referencia a este directorio como %TPTP_AC_HOME%.
Agent Controller lee el archivo serviceconfig.xml para obtener valores configurables por el usuario. Solo se lee una vez, al arrancar. Las modificaciones de este archivo están normalmente restringidas ya que los cambios afectan a todos los usuarios.
El archivo serviceconfig.xml contiene los segmentos siguientes:
Si la variable de entorno TPTP_AC_HOME está definida, Agent Controller busca el archivo config/serviceconfig.xml relativo a la vía de acceso definida por él, de lo contrario lo busca en la vía de acceso relativa a su propia ubicación de instalación. La ubicación predeterminada para el archivo serviceconfig.xml es <inicio-instalación>/config/serviceconfig.xml.
Cada instancia de un Agent Controller que esté ejecutándose en el mismo sistema necesita tener su propia versión de serviceconfig.xml con diferentes configuraciones de capa de transporte.
Nota
Los agentes también leen el archivo serviceconfig.xml para obtener la información del segmento Connection, permitiendo así que un agente se comunique con un Agent Controller determinado.
Los agentes leen su línea de mandatos para obtener una ubicación alternativa en la que buscar el archivo serviceconfig.xml. El nombre de la opción predefinida para especificar la ubicación es -serviceconfig seguido del nombre de vía de acceso del archivo de configuración. Si no se especifica en la línea de mandatos, el agente busca serviceconfig.xml en las mismas ubicaciones que se describen más arriba para Agent Controller.
La jerarquía de los elementos contenidos en el archivo serviceconfig.xml se muestra más abajo. El orden de los elementos que se muestran en el mismo nivel no es importante. Solo se espera una aparición de cada uno de los primeros niveles de los elementos (es decir, AgentControllerEnvironment, Logging, Agent, ProcessController, Connection, ApplicationAliases.) Los hiperenlaces del la jerarquía enlazan con la descripción de elemento formal en la sección Elementos y atributos.
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
Subelementos: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Elemento: AgentControllerEnvironment
Define los valores de entorno globales para todas las aplicaciones y los agentes lanzados a través de Agent Controller. Si se omite este elemento, el entorno pasado permanece idéntico al de Agent Controller. Las variables definidas aquí no
afectan a los valores de entorno de Agent Controller.
Utilizado por: AgentControllerConfiguration
Subelementos: Variable
Elemento: Variable
Este elemento Variable define una variable de entorno y cómo debe situarse dentro del entorno existente para formar el
entorno predeterminado para todas las aplicaciones y los agentes lanzados. Puede haber cero o más de estos elementos
definidos para AgentControllerEnvironment
Utilizado por: AgentControllerEnvironment
Atributos:
- name
- Este valor de serie especifica el nombre de la variable de entorno.
- value
- Este valor de serie especifica el valor de la variable de entorno.
- position
- (opcional) Este valor de serie puede ser "append", "prepend" o "replace", lo que indica dónde colocar este entorno relativo al entorno predeterminado.
Elemento: Logging
Define el nivel de gravedad de la información a anotar, en qué formato y en qué ubicación. Si este elemento se omite,
se anotarán todos los avisos graves y muy graves, utilizando el formato CBE, en el mismo directorio en el que está
ejecutándose Agent Controller. Tenga en cuenta que el nombre de archivo de anotaciones (tptpAgentCtrl.log) no
es configurable; solo su ubicación.
Utilizado por: AgentControllerConfiguration
Atributos:
- level
- (opcional) Este valor de serie indica el nivel de gravedad de los mensajes que deben anotarse. Cada nivel se incluye a sí mismo y a todos los eventos que sean más graves. Especifique uno de los siguientes (listados por orden de gravedad creciente):
DEPURACIÓN: incluye mensajes que proporcionan detalles de bajo nivel acerca del flujo interno o de la ejecución de código de Agent Controller y de los agentes.- INFORMACIÓN: incluye eventos normales pero pueden ser interesantes para el usuario del programa.
- AVISO: incluye eventos no inesperados pero que no deben interferir con el funcionamiento del programa.
- MUY GRAVE: (predeterminado) incluye eventos que indican que el funcionamiento normal del programa se ha interrumpido debido a un error.
- GRAVE: está restringido a los eventos que implican la finalización del programa.
- format
- (opcional) Este valor de serie especifica el formato a utilizar cuando se escriben mensajes en el archivo de anotaciones. Especifique uno de los siguientes:
- CBE: (predeterminado) los mensajes se escribirán en formato Evento Base Común (incluye información detallada acerca del contexto y el origen del mensaje) adecuado para un programa de utilidad de lectura de anotaciones CBE.
- Simple: los mensajes se escribirán como texto simple.
directory (opcional) Este valor de serie especifica la ubicación en la que se creará el archivo de anotaciones. El valor predeterminado es el directorio desde el que se ejecuta Agent Controller.
Elemento: Agent
Este elemento necesario especifica el directorio en el que los agentes conocidos para Agent Controller ubican
subdirectorios que identifican al agente por nombre y que contienen un archivo de configuración agent.xml con
información acerca de cómo lanzar y gestionar el agente.
Utilizado por: AgentControllerConfiguration
Atributos:
- path
- Este valor de serie especifica el nombre de vía de acceso completo del directorio en el que buscar configuraciones de agente.
Elemento: Plugin
Este elemento especifica el directorio en el que se habrán situado extensiones a la configuración de Agent Controller.
Las extensiones se definen en los archivos de configuración de pluginconfig.xml. Los subdirectorios
bajo el directorio especificado también pueden contener archivos ejecutables específicos de extensión.
Elemento: ProcessControllerUtilizado por: AgentControllerConfiguration
Atributos:
- path
- Este valor de serie especifica el nombre de vía de acceso completo del directorio en el que buscar extensiones.
Elemento: ConnectionUtilizado por: AgentControllerConfiguration
Utilizado por: AgentControllerEnvironment
Subelementos: TransportLayer
Atributos:
- name
- Este valor de serie proporciona un nombre para la configuración de la conexión.
son transportes personalizados que proporcionan compatibilidad retroactiva para clientes y agentes que utilizan las interfaces de Agent Controller originales.Utilizado por: Connection
Subelementos: Configuration
CommandExtractor
Atributos:
- loadlib
- Este valor de serie especifica el nombre de la biblioteca a cargar para esta capa de transporte sin el sufijo correspondiente (es decir, sin incluir .dll ni .so). Se utiliza la búsqueda de vía de acceso del sistema normal para localizar la biblioteca.
- type
- Este valor de serie proporciona la identidad específica de esta capa de transporte. Los valores posibles son: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL y TPTP_ACTL. Las capas de transporte personalizadas utilizarán otros identificadores. Los valores TPTP_CCTL y TPTP_ACTL
Elemento: Configuration
El elemento de Configuration contiene un subelemento que especifica el mecanismo de comunicación interproceso para cada
TransportLayer. Los mecanismos de comunicación proporcionados son socket, tubo con nombre, memoria compartida y
CCTL. La capa de transporte ACTL no tiene elementos de configuración. Las TransportLayers personalizados pueden
tener otros elementos de configuración específicos de esas capas de transporte.
Utilizado por: TransportLayer
Subelementos: Port (sólo con socketTL y CCTL)
PipeName (sólo con namedPipeTL)
MemName (sólo con sharedMemTL)
SecuredPort (sólo con CCTL)
FilePort (sólo con CCTL)
IsDataMultiplexed (sólo con CCTL)
ProcessPolling (sólo con CCTL)
Jvm (sólo con CCTL)
Version (sólo con CCTL)
SecurityEnabled (sólo con CCTL)
UserDefinition (sólo con CCTL y sólo si la seguridad está habilitada)
Keystore (sólo con CCTL y sólo si la seguridad está habilitada)
KeystorePassword (sólo con CCTL y sólo si la seguridad está habilitada)
Hosts (sólo con CCTL)
Elemento: Port
El elemento Port especifica el puerto a utilizar para la comunicación por socket.
El elemento Port sólo es válido cuando se utiliza con las capas de transporte
TPTP_SOCKET y TPTP_CCTL. El valor entero especifica el número de puerto real a
utilizar al establecer la conexión por socket.
Utilizado por: Configuration
Elemento: PipeName
El elemento PipeName indica que la capa de transporte es para la comunicación por tubo con nombre. El elemento PipeName
sólo es válido cuando se utiliza con namedPipeTL loadlib. El valor de serie
correspondiente especifica el nombre del tubo que se utilizará al establecer la conexión.
Utilizado por: Configuration
Elemento: MemName
El elemento MemName indica que la capa de transporte es para la comunicación por memoria compartida. El elemento
MemName sólo es válido cuando se utiliza con sharedMemTL loadlib. El valor de
serie correspondiente especifica el nombre del recurso de memoria compartida que se utilizará al establecer esta
conexión.
Utilizado por: Configuration
Elemento: SecuredPort
El elemento SecuredPort especifica el puerto a utilizar para la comunicación de socket segura.
El elemento SecuredPort sólo es válido cuando se utiliza con la capa
capa de transporte TPTP_CCTL. El valor
entero especifica el número de puerto real a utilizar al establecer la conexión por socket segura.
Utilizado por: Configuration
Elemento: FilePort
El elemento FilePort especifica la capa de transporte utilizada para la comunicación por socket por el servicio de
transferencia de archivos.
El elemento FilePort sólo es válido cuando se utiliza con la capa
capa de transporte TPTP_CCTL. El valor entero especifica el número de puerto real a
utilizar al establecer la conexión por socket.
Utilizado por: Configuration
Elemento: IsDataMultiplexed
El elemento IsDataMultiplexed especifica si los datos de perfilado y registro cronológico deben transmitirse a través
del canal de control de Agent Controller. De forma predeterminada, el canal de datos utiliza un
puerto arbitrario para la transmisión de datos y puede quedar bloqueado por la existencia de un cortafuegos. La
transferencia de los datos a través del canal de control permitirá abrir un conjunto de puertos predefinidos para las
peticiones entrantes a través de un cortafuegos. Entre estos puertos están el puerto predeterminado 10002, el puerto seguro 10003
y el puerto de servidor de archivos 10005. Este elemento toma un valor booleano cuyo valor predeterminado es
"FALSE". El elemento IsDataMultiplexed sólo es válido cuando se utiliza con la
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: ProcessPolling
El elemento ProcessPolling especifica si la comprobación activa del estado del proceso está habilitada. Este atributo
se utiliza para asegurarse de que Agent Controller detecta cuándo finaliza un proceso. Este elemento toma un valor
booleano cuyo valor predeterminado es "TRUE". El elemento ProcessPolling sólo es válido cuando se
utiliza con la capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: Jvm
El elemento Jvm especifica la vía de acceso totalmente calificada de la biblioteca de tiempo de ejecución dinámica de
la máquina virtual Java (jvm.dll o libjvm.so) que deben utilizar los componentes de la conexión segura y la
transferencia de archivos. El elemento Jvm sólo es válido cuando se utiliza con la
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: Version
El elemento Version describe el número de versión de Agent Controller del que se informará a otros componentes. El
elemento Version sólo es válido cuando se utiliza con la capa
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: SecurityEnabled
El elemento SecurityEnabled indica si los clientes que se conectan a esta capa de transporte deben conectarse o no al
puerto seguro. Si la seguridad está habilitada y un cliente intenta conectarse al puerto no seguro, al cliente se
le dará la dirección del puerto seguro y la conexión se rechazará. Este elemento toma un valor booleano cuyo valor
predeterminado es "FALSE". El elemento SecurityEnabled sólo es válido cuando se utiliza con la
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: UserDefinition
El elemento UserDefinition describe qué usuarios pueden conectarse con esta capa de transporte. Si este elemento
se establece en "ANY", podrán conectarse todos los usuarios que puedan autenticarse con el OS. Si la seguridad está
habilitada, este elemento es obligatorio. Este elemento toma un valor de serie que consta de una lista de nombres de
usuario separados por comas. El elemento UserDefinition solo es válido cuando se utiliza con la
capa de transporte de TPTP_CCTL.
Utilizado por: Configuration
Elemento: Keystore
El elemento Keystore especifica la ubicación del almacén de claves para las conexiones seguras. Si la seguridad está
habilitada, este elemento es obligatorio. El elemento Keystore sólo es válido cuando se utiliza con la capa
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: KeystorePassword
El elemento KeystorePassword establece la contraseña para utilizarla con el almacén de claves para las conexiones
seguras. Si la seguridad está
habilitada, este elemento es obligatorio. El elemento KeystorePassword sólo es válido cuando se utiliza con la capa
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: Hosts
El elemento Hosts se utiliza para controlar qué hosts pueden conectarse a través de esta capa de transporte. Este
elemento consta de uno o varios elementos Allow o Deny. El elemento Hosts sólo es válido cuando se utiliza con la
capa de transporte TPTP_CCTL.
Utilizado por: Configuration
Elemento: Allow
El elemento Allow especifica un Host que puede conectarse a Agent Controller a través de esta capa de transporte.
Utilizado por: Hosts
Atributos:
- host
- Esta serie es el nombre o la dirección IP del host. Un valor de "ALL" indica que esta capa de transporte puede aceptar conexiones de cualquier host. Un valor de "LOCAL" indica que se deben aceptar conexiones de procesos locales.
- net
- Este atributo indica una subred de la que permitir conexiones.
- mask
- Este atributo indica una máscara de subred a utilizar para permitir conexiones.
Elemento: Deny
El elemento Deny especifica un Host que no puede conectarse a Agent Controller a través de esta capa de transporte.
Utilizado por: Hosts
Atributos:
- host
- Esta serie es el nombre o la dirección IP del host a denegar.
- net
- Este atributo indica una subred de la que denegar conexiones.
- mask
- Este atributo indica una máscara de subred a utilizar para denegar conexiones.
Elemento: CommandExtractor
Este elemento define un extractor de mandatos que es un componente conectable en una capa de transporte que extrae
mandatos de la corriente de comunicación interproceso. El valor de serie especifica el nombre de la biblioteca a cargar
sin el sufijo correspondiente (es decir, no incluir .dll o .so) ni el prefijo (es decir, "lib" para Linux.)
Se utiliza la búsqueda de vía de acceso del sistema normal para localizar la biblioteca.
Utilizado por: TransportLayer
Elemento: ApplicationAliases
El elemento ApplicationAliases es una lista opcional de definiciones de alias de aplicación.
Utilizado por: AgentControllerConfiguration
Subelementos: Application
Atributos:
- launchAliasesOnly
- (opcional) Este atributo de serie es "true" o "false" (valor predeterminado.) Si se establece en "true", solo se lanzarán las aplicaciones que se hayan definido en este elemento. Si el atributo se establece en "false" o se omite, podrá lanzarse cualquier aplicación.
Elemento: Application
El elemento Application define un nombre de alias y una información de lanzamiento para una aplicación.
Utilizado por: ApplicationAliases
Subelementos: Variable
Parámetro
Atributos:
- executable
- Este valor de serie especifica el nombre de alias para el ejecutable de la aplicación especificado en el atributo path.
- location
- (opcional) Este valor de serie especifica el directo desde el que se lanzará el ejecutable, denominado algunas veces como directorio de trabajo del ejecutable mientras se está ejecutando.
- path
- Este valor de serie especifica el nombre de vía de acceso completo de la aplicación a lanzar. Esto se utiliza en lugar del nombre de alias al lanzar el ejecutable de la aplicación.
Elemento: Variable
Este elemento Variable define una variable de entorno y cómo debe situarse dentro del entorno existente cuando se lanza
la aplicación.
Puede
haber cero o más de estos elementos definidos para una Application.
Utilizado por: Application
Atributos:
- name
- Este valor de serie especifica el nombre de la variable de entorno.
- value
- Este valor de serie especifica el valor de la variable de entorno.
- position
- (opcional) Este valor de serie puede ser >"append", "prepend" o "replace", lo que indica dónde colocar este entorno relativo al entorno predeterminado.
Elemento: Parameter
El elemento Parameter define un argumento de línea de mandatos para pasarlo a la aplicación en el lanzamiento. Puede
haber cero o más de estos elementos definidos para una Application.
Utilizado por: Application
Atributos:
- value
- Este valor de serie especifica un argumento de línea de mandatos.
- position
- (opcional) Este valor de serie puede ser "append", "prepend" o "replace", lo que indica dónde poner este argumento en relación a los argumentos de línea de mandatos existentes.
Elemento: PeerConnectionTransport
Este elemento necesario especifica la capa de transporte que se utilizará para establecer conexiones entre el Agent
Controller que lea esta configuración y las instancias similares de Agent Controller. El nombre del valor de este
elemento debe coincidir con un tipo de Capa de transporte para una capa de transporte especifíca declarada en la
sección Conexión del archivo de configuración (por ejemplo, TPTP_CCTL).
Utilizado por: AgentControllerConfiguration
Este ejemplo muestra un archivo de configuración de 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.