Panoramica su Agent Controller

Il framework di raccolta dati TPTP fornisce una struttura in cui un'applicazione strumento (client) può interagire con uno o più applicazioni fornitrici di dati (agenti) in modo uniforme e indipendentemente dalla posizione. Questo framework è costituito da un'interfaccia client, un processo di gestione agenti, un'interfaccia agente e alcuni agenti di utilità generale. Il processo di gestione agenti è noto come Agent Controller.  Questo è il componente che consente ad un'applicazione client di non preoccuparsi dei dettagli relativi all'identificazione e all'avvio dei diversi fornitori di dati su macchine locali o remote, che possono essere o non essere dello stesso tipo di piattaforma (architettura del sistema operativo e CPU) o linguaggio (C/C++, Java).

L'applicazione client utilizza l'API di interfaccia client del framework per richiedere servizi ad un agente su un particolare sistema. A questo punto il compito di Agent Controller è di ottenere un'istanza dell'agente in esecuzione (o condividere un'istanza già in esecuzione) in base alle impostazioni di configurazione dell'agente e ai parametri della richiesta forniti dal client.  I dettagli relativi alla comunicazione e all'avvio del processo dell'agente sono gestiti dal framework. Il client utilizza quindi l'API per creare ed inviare le richieste all'agente utilizzando una serie di comandi (in formato XML) definiti dall'agente.

L'agente (l'applicazione che fornisce i dati) non deve conoscere le informazioni relative al client che richiede i dati.  Lo sviluppatore dell'agente definisce una serie di comandi (in formato XML) ai quali l'agente risponderà in base ai servizi forniti.  I servizi non devono essere necessariamente raccolte di dati.  Si possono semplicemente eseguire azioni per conto del client.  

Affinché un'applicazione sia considerata un agente in questo framework, deve registrarsi all'Agent Controller e poi restare in attesa delle richieste che arriveranno attraverso l'Agent Controller.  Il framework fornisce un'implementazione per le esigenze generali dell'agente, in modo che l'agente non debba interessarsi dei dettagli di impostazione della comunicazione.  Deve semplicemente accettare i comandi definiti e agire in base ad essi.  Il client e l'agente possono utilizzare il framework anche per definire un percorso in cui passerà il flusso di dati.  Il formato dei dati non presenta limitazioni.

Agent Controller è progettato per essere flessibile e a questo scopo esiste un file di configurazione che consente ad un amministratore di controllare le modalità di esecuzione di determinate azioni.  Per ulteriori informazioni, fare riferimento alla panoramica sul file di configurazione.

Di seguito viene fornita una descrizione più dettagliata dei componenti inclusi nel framework di raccolta dati:

Agente
Un agente è un'applicazione che offre i suoi servizi attraverso Agent Controller. Qualsiasi applicazione che si registra all'Agent Controller e può comunicare con esso tramite i messaggi di controllo rappresenta un agente. Un client accede a particolari servizi di un agente attraverso una serie di messaggi di controllo documentati, definiti dall'agente.  Agent Controller trasferisce i messaggi di controllo tra client e agente senza avere alcuna conoscenza del loro contenuto.  L'agente determina se può servire più client simultaneamente e se possono essere presenti più istanze dell'agente stesso.  Un agente dovrebbe essere registrato solo ad un unico Agent Controller.  Un agente generalmente raccoglie i dati sul sistema su cui è in esecuzione o su un'applicazione controllata oppure esegue servizi quali l'avvio di un'applicazione o la copia di file.
Client
Un client è un'applicazione (ad esempio il workbench Eclipse) che abilita l'utente di un servizio ad interagire con il fornitore (agente). Un singolo client può potenzialmente connettersi a più Agent Controller allo stesso tempo.  Allo stesso modo, il client può utilizzare i servizi di molti agenti contemporaneamente.  Le richieste del client accedono ad un agente attraverso l'Agent Controller.  Se un agente richiesto non è in esecuzione, Agent Controller avvia l'agente.   Il client può richiedere accesso esclusivo ad un agente, ma in questo caso qualsiasi successiva richiesta di servizi dell'agente proveniente da un altro client provocherà la creazione di una nuova istanza dell'agente da parte dell'Agent Controller. Un client effettua le richieste all'agente utilizzando una serie di comandi di base ed alcuni comandi avanzati definiti dall'agente.
Agent Controller 
L'Agent Controller è un processo che risiede su ogni sistema di destinazione in cui il client richiede i servizi di un agente.  Un agente e l'Agent Controller si trovano sempre sullo stesso sistema.  Il client e l'Agent Controller non devono risiedere sullo stesso sistema.   L'Agent Controller gestisce tutti i dettagli relativi all'avvio e alla comunicazione con gli agenti. L'Agent Controller può interagire con uno o più agenti contemporaneamente. Un client non è associato con un particolare agente fino a quando ottiene per esso un handle dall'Agent Controller.

Attività correlate
Modello concettuale di raccolta dati
Gestione di Agent Controller
 

Copyright (C) 2005, 2006 Intel Corporation.