Installazione e setup del sistema di monitoring del Trigger Supervisor. Sabato Stefano Caiazza

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Installazione e setup del sistema di monitoring del Trigger Supervisor. Sabato Stefano Caiazza"

Transcript

1 Installazione e setup del sistema di monitoring del Trigger Supervisor Sabato Stefano Caiazza 18 febbraio 2008

2 Struttura del Trigger Supervisor in funzione del monitoring Il Daemon XDAQD Nel suo setup definitivo tutte le applicazioni del Trigger Supervisor verranno invocate tramite un daemon che è usato anche per lanciare tutti i servizi di cui queste applicazioni fanno uso. Il daemon viene lanciato tramite il riferimento al file \etc\init.d\xdaqd. Questo file serve a definire le operazioni legate al servizio, in particolare le funzioni di start, stop e restart. Per ognuno dei servizi o applicazioni lanciati il daemon ricerca un file.conf dallo stesso nome in cui sono specificati i path per individuare i file di configurazione del servizio e la porta su cui aprirlo. Le applicazioni, oltre ai path specifici che determinano la posizione dei file di profilo, fanno riferimento anche ad un file, con estensione.configure che inizializza l applicazione prima della sua configurazione. Inizializzazione applicazioni Tutte le applicazioni (con il termine applicazione faccio riferimento a supervisor e workers) prima di essere configurate devono essere inizializzate. Questa inizializzazione viene effettuate all interno di un file con estensione.configure. A questo file va riferimento tanto lo shell script quanto il daemon al momento del lancio delle applicazioni desiderate. Per il funzionamento del monitoring, oltre alle celle, è necessario attivare l applicazione LAS, che gestisce tutte le operazioni di logging e alarming. I file di profilo Ognuno dei servizi lanciato dal daemon viene configurata attraverso un file di profilo. Tutti i file di profilo sono raccolti nella sottodirectory profile della directory di setup. Ognuno di questi file di profilo è chiamato servicename.profile in cui servicename è il nome dell applicazione lanciata nella startup list che deve essere configurata. Un file di profilo è una raccolta di plugin. Il primo di questi plugin è sempre chiamato Executive. Insieme a PeerTransportHTTP e PeerTransportFIFO costituisce l insieme dei plugin obbligatori. Oltre a questi plugin obbligatori ce ne sono altri di utilità chiamati XRelay, HyperDAQ, Xplore e Sentinel. I plugin importanti da personalizzare sono generalmente alla fine del file (per comodità, non per prescrizione). Nel caso della cella supervisor questa applicazione aggiuntiva da personalizzare è il sensore. Il sensore riceva dalla cella i valori delle variabili da monitorare e li reinvia al collector, chiamato ws-eventing. Un sensore può essere utilizzato tanto per pubblicare i dati monitorabili sui servizi ws-eventing quanto per raccogliere dati da più sensori e reinviarli ad un altro ws-eventing. I sensori I sensori sono i servizi del trigger supervisor che raccolgono dalle celle o da altri sensori i dati relativi alle variabili monitorate per ripubblicarli sui collector. Ogni cella può avere il suo specifico sensore. Il sensore, istanziato all interno del file di profilo della cella stessa viene configurato da un apposito file dall estensione.sensor. Oltre ai sensori definiti dalle varie applicazioni esiste un sensore generale che raccoglie i dati relativi all intero sistema. Questo sensore viene invocato nel daemon stesso, nella startup list, ed ha il proprio file.profile e il proprio file.sensor. In questo sensore il valore dell attributo group è dtsc,general. Ciò significa che fa capo contemporaneamente ai gruppi dtsc e general e può pubblicare o raccogliere dati da entrambi. Questo sensore funge da collector per il gruppo dtsc ripubblicando quei dati nel gruppo general in modo che gli stessi monitorabili di dtsc siano visibili a tutto il sistema (probabilmente permette ad altre celle di accedere a quei monitorabili). Flashlists Come abbiamo visto nella precedente sezione il file di configurazione del sensore fa riferimento ad un oggetto chiamato flashlist. La flashlist è una lista di oggetti monitorabili che serve a dichiararli a livello globale all interno del trigger supervisor. Per ogni sensore può essere definita una flashlist diversa a pato che i nomi delle variabili dichiarate siano univoci (è da controllare se due sensori possono accedere alla stessa flashlist dato che in questo caso dichiarerebbero due volte la stessa variabile. Forse è possibile se questi sensori sono in gruppi separati. Si potrebbe anche controllare se un sensore può accedere a più di una flashlist) 2

3 Collectors Le informazioni sulle grandezze monitorabili raccolte dai sensori vengono inviati ad applicazioni di nome ws-eventing. Ogni sottosistema, ovvero ogni insieme di applicazioni con lo stesso valore dell attributo group invia i propri dati ad uno di questi collectors. Ad esempio, nel caso del gruppo dtsc, avremo un collector dedicato a nome dtsc-ws-eventing che viene avviato dal daemon xdaqd e che viene configurato tramite il suo file di profilo dedicato. Questo, come plugin finale ha proprio un applicazione di classe ws::service::eventing. Oltre ai singoli collector per i singoli sottosistemi esiste un collettore generale a cui tutti i collettori specifici inviano le proprie informazioni per la pubblicazioni di queste a livello globale. Anche questo collector viene lanciato attraberso il daemon con il nome di general-ws-eventing. La configurazione è simile a quella dei collector specifici di sottosistema ma il valore di group contiene la denominazione general che lo identifica come il collettore di tutte le variabili di sistema Pulser Per sincronizzare la raccolta dei dati su tutto il sistema distribuito un servizio specifico chiamato Pulser invia segnali periodici ai sensori perchè aggiornino il valore delle variabili monitorabili. Anche questo servizio è configurato attraverso un appropriato file di profilo alla cui fine abbiamo la definizione del plugin Pulser. Questo file punta ad un altro file di configurazione che ha estensione.pulser e si trova nella sottodirectory pulser della directory di setup. La configurazione del pulser prevede la definizione di un evento, collegato ad una determinata flashlist. Ogni evento è caratterizzato da una determinata frequenza, parametrizzata dal valore dell attributo period che identifica l intervallo tra due successivi refresh del monitorabile. Gli Oggetti Monitorabili Configurando correttamente i precedenti servizi si dichiarano a livello globale le variabili da monitorare in modo tale che tutte le applicazioni, tanto quelle locali che quelle remote vi possano accedere. Il funzionamento di queste variabili, in particolare le operazioni da effettuare sull hardware per generare i dati monitorabili, è programmato all interno del codice della cella. Le variabili monitorabili sono tutte dichiarate all interno di un oggetto derivato dal tipo DataSource, una classe definita all interno di XDAQ appositamente per gestire il monitoraggio. Nel nostro caso questa classe derivata si chiama MonitorSource. Questa classe derivata definisce un costruttore ed una serie di metodi di refresh, una per ogni variabile da monitorare. Nel costruttore vengono principalmente definite le variabili da monitorare e invocate le funzioni di refresh su queste variabili, le funzioni di refresh invece contengono l algoritmo da eseguire sull hardware, o su altre variabili interne per aggiornare le variabili monitorabili. Questo algoritmo viene eseguito ogni qual volta il pulser invia il proprio segnale, comunicando difatti alla classe MonitorSource di eseguire il proprio costruttore. 3

4 Setup del sistema passo passo Il primo passo da fare al momento di configurare il sistema del Trigger Supervisor, in particolare per applicazioni quali il monitor e il database è decidere la posizione della directory di configurazione all interno della quale raccogliere tutti i file di configurazione che in seguito si andranno a modificare e al quale il daemon avrà accesso. Environment.sh Cambiare in questo file l alias della variabile d ambiente $XDAQ_SETUP_ROOT in modo tale che punti alla directory di setup desiderata. Nella versione di default questa directory è /opt/xdaq/share. Questa directory è accessibile normalmente solo a superusers. Cambiare l alias della variabile d ambiente XDAQ_ZONE in modo che punti alla sottodirectory della directory di setup in cui sono contenute le directory conf, profile.... Nella configurazione di default questa variabile è impostata su multicell o unicell. xdaqd Dopo aver definito a livello di variabili d ambiente la directory dove sono situati tutti i file di configurazione bisogna comunicare al daemon che lancerà i servizi la posizione di questi file. Per farli bisogna cambiare la variabile CONF_DIR all interno del file /etc/init.d/xdaqd. Questa variabil deve puntare alla sottodirectory conf della directory di setup dove si trova il file xdaqd.conf. Nella versione definitiva, dove il sistema sarà distribuito su varie macchine, su ognuna ci sarà un file analogo di nome hostname.conf dove hostname è il nome della macchina. xdaqd.conf Il file xdaqd.conf definisce la lista dei servizi da lanciare e la posizione dove individuare i loro file di configurazione. La posizione dei file di configurazione viene individuata attraverso la ridefinizione delle variabili $XDAQ_SETUP_ROOT e XDAQ_ZONE in modo tale che queste corrispondano al path definito nel file di ambiente. La lista dei servizi da lanciare è invece definita attraverso la variabile STARTUP_LIST. Un esempio di questo file, con una lista di servizi essenziali per poter attivare il monitoring del sistema è inclusa nel prossimo estratto di codice. XDAQ_SETUP_ROOT=/home/caiazza/DAQKit/TriDAS/trigger/setup/ XDAQ_DOCUMENT_ROOT=/opt/xdaq/htdocs XDAQ_EXTERN_LIBRARY_PATH=/opt/xdaq/lib PID_DIR=/var/run LOCK_DIR=/var/lock XDAQ_ZONE=multicell XDAQ_HOSTNAME= hostname -f XDAQ_USER=root XDAQ_ROOT=/opt/xdaq CORE_DIR=/tmp XDAQ_CONFIG= STARTUP_LIST="dtsc-ws-eventing general-ws-eventing general-dashboard general-las dtsc-pulser dtsc-sensor exception-ws-eventing exception-dashboard" xdaq.conf Per ognuno di questi servizi il daemon ricerca un file.conf dallo stesso nome in cui sono definiti alcuni parametri essenziali per avviare l applicazione. files.conf Nei file.conf sono definiti i path dei file di configurazione del sistema nonchè la porta su cui aprire i servizi e le applicazioni. Nel caso di un servizio, quale ad esempio dtsc-sensor, il file ha questo formato 4

5 XDAQ_SETUP_ROOT=/home/caiazza/DAQKit/TriDAS/trigger/setup XDAQ_DOCUMENT_ROOT=/opt/xdaq/htdocs XDAQ_PORT=5004 XDAQ_LOG=/var/log/${CONFIGURATION}.log XDAQ_PROFILE=${XDAQ_SETUP_ROOT}/${XDAQ_ZONE}/profile/${CONFIGURATION}.profile dtsc-sensor.conf Nel caso di un applicazione invece, oltre ai parametri definiti nel precedente estratto di codice abbiamo anche il riferimento al file.configure che inizializza l applicazione e alla directory BUILD_HOME nelle cui subdirectory è contenuto il codice dell applicazione stessa. XDAQ_SETUP_ROOT=/home/caiazza/DAQKit/TriDAS/trigger/setup XDAQ_DOCUMENT_ROOT=/opt/xdaq/htdocs XDAQ_PORT=2974 BUILD_HOME=/home/caiazza/DAQKit/TriDAS XDAQ_CONFIG=${XDAQ_SETUP_ROOT}/${XDAQ_ZONE}/profile/dtsc.configure XDAQ_LOG=/var/log/${CONFIGURATION}.log XDAQ_PROFILE=${XDAQ_SETUP_ROOT}/${XDAQ_ZONE}/profile/${CONFIGURATION}.profile dtsc-supervisor.conf Ogni qualvolta si personalizza un servizio o un applicazione è opportuno controllare che il corrispondente file.conf faccia capo al path appropriato. dtsc.configure Dopo aver configurato il daemon, che lancia i servizi, si passa a configurare le applicazioni, attraverso il file dtsc.configure. A questo file va fatto riferimento tanto quando si lanciano le applicazioni via shell script, tanto quando queste verranno lanciate tramite il daemon. In questo file, per ogni applicazione da lanciare, è contenuto del codice di configurazione. Per esempio inserisco quello relativo alla cella supervisor del dtsc. <!-- SUPERVISOR CELL --> <xc:context url="http://pctrbo3.bo.infn.it:3974"> <xc:application class="cell" id="13" instance="2" network="local" service="dtsc-supervisor" group="dtsc"> <properties xmlns="urn:xdaq-application:cell" xsi:type="soapenc:struct"> <name xsi:type="xsd:string">dtsc</name> <xhannellisturl xsi:type="xsd:string">file://$xdaq_setup_root/$xdaq_zone /profile/dtsc-supervisor.xhannel</xhannellisturl> </properties> </xc:application> <xc:module>file://${build_home}/trigger/dtsc/ts/parsers/lib/ ${XDAQ_OS}/x86_slc4/libParsers.so</xc:Module> <xc:module>file://${build_home}/trigger/dtsc/ts/boardprocedures/lib/ ${XDAQ_OS}/x86_slc4/libBoardProcedures.so</xc:Module> <xc:module>file://${build_home}/trigger/dtsc/ts/cell/lib/ ${XDAQ_OS}/x86_slc4/libdtsc.so</xc:Module> </xc:context> dtsc.configure Per poter correttamente attivare il monitor è necessario prender nota dei valori degli attributi service e group all interno del tag xc:application. É inoltre opportuno verificare che il tag 5

6 xhannellisturl faccia capo al file corretto in cui è inserita la lista degli xhannel dell applicazione. Infine è anche opportuno verificare che i tag xc:module facciano riferimento alle librerie corrette. Oltre alle applicazioni Supervisor e Worker è necessario, in questo file, dichiarare una applicazione supplementare, il LAS, che gestisce tutto il sistema di monitor. Questa dichiarazione è effettuata tramite la seguente struttura XML: <!-- LAS --> <xc:context url="http://pctrbo3.bo.infn.it:5005"> <xc:application class="xmas::las::application" id="10" instance="0" network="local" group="general" service="las"> </xc:application> </xc:context> dtsc.configure Si può notare come il valore degli attributi service e group siano diversi dal caso della cella supervisor. Questa struttira che di default è già presente nel file.configure installato non va modificata ulteriormente dtsc-supervisor.profile Dopo aver definito quali saranno le applicazioni (con il.configure) e i servizi (tramite la STARTUP_LIST del daemon) è necessario configurale. Per effettuare questa configurazione è opportuno partire dalle applicazioni. In seguito il testo farà sempre riferimento all applicazione supervisor del dtsc, ma lo stesso procedimento può essere eseguito sui worker o su qualsiasi altro sottosistema, avendo cura di modificare opportunamente le stringhe inserite nei file di configurazione. Per effettuare questa configurazione partiamo dalla personalizzazione del file di profilo della nostra applicazione.il primo plugin presente nel file di profilo è sempre quello chiamato executive. La personalizzazione che può essere opportuno effettuare in questo plugin è la modifica del tag logurl che indica la posizione dove registrare il log dell applicazione. Nel caso in cui si voglia inviare il log direttamente su console basta inserire come contenuto del tag la stringa console come mostrato nel prossimo estratto di codice <xp:application class="executive::application" id="0" group="profile" service="executive" network="local"> <properties xmlns="urn:xdaq-application:executive" xsi:type="soapenc:struct"> <logurl xsi:type="xsd:string">console</logurl> <loglevel xsi:type="xsd:string">info</loglevel> </properties> </xp:application> dtsc-supervisor.profile Le personalizzazioni più importanti vanno generalmente effettuate sull ultimo plugin della serie. Nel caso del monitoring di un applicazione questo plugin definisce il sensore dell applicazione stessa. I valori da modificare in questo plugin sono il valore dell attributo group del tag xp:application ed il contenuto del tag group. Entrambi devono corrispondere al valore dell attributo group dell applicazione così come definito all interno del file.configure. Nel prossimo estratto di codice mostro la configurazione del sensore della nostra applicazione di esempio. <!-- xmas::sensor::application --> <xp:application class="xmas::sensor::application" id="11" service="sensor" group="dtsc" network="local"> <properties xmlns="urn:xdaq-application:xmas::sensor::application" xsi:type="soapenc:struct"> <usediscovery xsi:type="xsd:boolean" >true</usediscovery> 6

7 <autoconfigure xsi:type="xsd:boolean" >true</autoconfigure> <autoconfsearchpath xsi:type="xsd:string">${xdaq_setup_root}/ ${XDAQ_ZONE}/sensor</autoConfSearchPath> <publish xsi:type="soapenc:array" soapenc:arraytype="xsd:ur-type[1]"> <item xsi:type="soapenc:struct" soapenc:position="[0]"> <tag xsi:type="xsd:string"></tag> <group xsi:type="xsd:string">dtsc</group> </item> </publish> </properties> </xp:application> dtsc-supervisor.profile Si può notare come in questo sensore sia definito il tag publish che istruisce il servizio a che invii i dati monitorabili al servizio ws-eventing che fa capo al gruppo dtsc oppure ad altri sensori che effettuano il collecting dei dati del gruppo dtsc. dtsc-supervisor.sensor Tutti i sensori vengono configurati tramite degli specifici file di configurazione che generalmente hanno l estensione.sensor e si trovano nella subdirectory sensor della directory di setup. Nel caso di un applicazione questo file di configurazione si chiama servicename.sensor dove servicename è il valore dell attributo service dell applicazione, così come definito nel file.configure. Nel nostro caso quindi il file si chiama dtsc-supervisor.sensor <xmas:sensor xmlns:xmas="http://xdaq.web.cern.ch/xdaq/xsd/2006/xmas-10"> <xmas:monitor xmlns:xlink="http://www.w3.org/1999/xlink"> <xmas:flash xlink:type="locator" xlink:href="${xdaq_setup_root}/ ${XDAQ_ZONE}/flash/dtsc-supervisor.flash #urn:xdaq-flashlist:dtsc-supervisor"/> <xmas:sampler tag="dtsc" type="urn:xmas-sampler:instant"> </xmas:sampler> </xmas:monitor> </xmas:sensor> dtsc-supervisor.sensor Gli elementi da personalizzare in questo file sono il tag xmas:flash e il valore dell attributo tag del tagxmas:sampler. Il primo di questi elementi definisce il nome e la posizione della flashlist a cui fa capo questo sensore. É fondamentale che la stringa che segue il carattere # sia uguale al valore dell attributo id della flashlist. Il secondo elemento deve invece corrispondere al valore dell attributo group dell applicazione. dtsc-supervisor.flash Come abbiamo visto precedentemente il sensore fa riferimento ad un oggetto chiamato flashlist. Un esempio di flashlist è contenuto nell estratto di codice che segue: <xmas:flash xmlns:xmas="http://xdaq.web.cern.ch/xdaq/xsd/2006/xmas-10" id="urn:xdaq-flashlist:dtsc-supervisor" version="1.0.0"> <xmas:item name="item1" infospace="dtsc-supervisor" type="string" /> <xmas:item name="item2" infospace="dtsc-supervisor" type="int" /> <xmas:item name="table" infospace="dtsc-supervisor" type="table" /> </xmas:flash> dtsc-supervisor.flash La prima riga di codice definisce l oggetto flashlist assegnandole un nome, il valore dell attributo id, che deve corrispondere a quello inserito nel file di sensore che fa riferimento a tale flashlist 7

8 (Bisognerebbe controllare se nello stesso file.flash si possono inserire flashlist multiple con id differente). Nei contenuti del tag xmas:flash ciascuna delle variabili da monitorare viene dichiarata con un nome, un tipo ed un infospace un identificativo che serve a raggruppare insiemi di variabili. dtsc-ws-eventing.profile Dopo aver configurato i plugin dell applicazione che stiamo aggiungendo bisogna modificare in maniera appropriata alcuni altri servizi che si rapportano a questa applicazione, invocati attraverso la startup list del daemon. Questi servizi da modificare sono il collector, il sensore e il pulser relativi al gruppo di cui questa applicazione fa parte. Iniziamo a personalizzare il collector, il cui file di profilo ha nome dtsc-ws-eventing.profile. In particolare va personalizzato l ultimo plugin presente in questo file in modo tale che il valore dell attributo group sia identico a quello dell applicazione da monitorare. Nel nostro caso questo valore è "dtsc". <xp:application class="ws::service::eventing" id="400" network="local" group="dtsc" service="ws-eventing"> <properties xmlns="urn:xdaq-application:ws::service::eventing" xsi:type="soapenc:struct"> </properties> </xp:application> dtsc-ws-eventing.profile dtsc-sensor.profile Il successivo servizio da configurare è il sensore relativo all intero sottosistema. Questo servizio è chiamato dtsc-sensor e quindi il suo file di configurazione è chiamato dtsc-sensor.profile. Questo file è identico al file di profilo della cella, in tutto tranne che nella definizione del plugin che definisce il sensore. In questo caso il sensore fa capo ad entrambi i gruppi dtsc e general. Le operazioni sono però diverse ripetto ai due gruppi. Il sensore infatti colleziona gli elementi dal gruppo dtsc e li ripubblica sul gruppo general laddove il sensore dell applicazione si limitava a pubblicare i dati nel gruppo dtsc. In effetti questo servizio opera una copia delle varibili dal gruppo dtsc a quello general. <xp:application class="xmas::sensor::application" id="15" service="sensor" group="dtsc,general" network="local"> <properties xmlns="urn:xdaq-application:xmas::sensor::application" xsi:type="soapenc:struct"> <usediscovery xsi:type="xsd:boolean">true</usediscovery> <url xsi:type="soapenc:array" soapenc:arraytype="xsd:ur-type[2]"> <item xsi:type="xsd:string" soapenc:position="[0]">${xdaq_setup_root}/ ${XDAQ_ZONE}/sensor/dtsc-sensor.sensor</item> </url> <collect xsi:type="soapenc:array" soapenc:arraytype="xsd:ur-type[1]"> <item xsi:type="soapenc:struct" soapenc:position="[0]"> <tag xsi:type="xsd:string"></tag> <group xsi:type="xsd:string">dtsc</group> </item> </collect> <publish xsi:type="soapenc:array" soapenc:arraytype="xsd:ur-type[1]"> <item xsi:type="soapenc:struct" soapenc:position="[0]"> <tag xsi:type="xsd:string"></tag> <group xsi:type="xsd:string">general</group> </item> </publish> </properties> 8

9 </xp:application> dtsc-sensor.profile dtsc-sensor.sensor Come nel caso del sensore dell applicazione supervisor anche quello del servizio dtsc-sensor va configurato attraverso l apposito file.sensor che introduce il riferimento alle flashlist. Questo sensore però deve fare riferimento a tutte le flashlist delle applicazioni del gruppo. Come esempio inserisco un estratto di codice in cui, oltre alla flashlist vista prima per l applicazione supervisor si fa riferimento anche alla flashlist si un altra applicazoione chiamata dtsc-worker. Anche in questo caso vanno personalizzati i valori degli attributi xlink:href e tag. <xmas:sensor xmlns:xmas="http://xdaq.web.cern.ch/xdaq/xsd/2006/xmas-10"> <xmas:monitor xmlns:xlink="http://www.w3.org/1999/xlink"> <xmas:flash xlink:type="locator" xlink:href=" /home/caiazza/daqkit/tridas/trigger/setup/multicell/ flash/dtsc-supervisor.flash#urn:xdaq-flashlist:dtsc-supervisor"/> <xmas:sampler tag="dtsc" type="urn:xmas-sampler:history" output="merge" format="standard" range="pt50s"/> </xmas:monitor> <xmas:monitor xmlns:xlink="http://www.w3.org/1999/xlink"> <xmas:flash xlink:type="locator" xlink:href="${xdaq_setup_root}/ ${XDAQ_ZONE}/flash/dtsc-worker.flash#urn:xdaq-flashlist:dtsc-worker"/> <xmas:sampler tag="dtsc" type="urn:xmas-sampler:history" output="merge" format="standard" range="pt50s"/> </xmas:monitor> </xmas:sensor> dtsc-sensor.sensor dtsc-pulser.profile Per configurare il pulser del nostro sottosistema dobbiamo prima di tutto personalizzare il file di profilo di servizio dtsc-pulser.profile. L ultimo plugin di questo file crea l oggetto pulser. Ancora una volta la personalizzazione prevede che il valore dell attributo group corrisponda al nome del gruppo a cui il servizio fa capo. Oltre a questo è necessario che il tag item punti ad un file di configurazione, di estensione.pulser, che nel nostro caso ha nome dtsc.pulser <xp:application class="xmas::pulser::application" id="10" network="local" group="dtsc" service="pulser"> <properties xmlns="urn:xdaq-application:xmas::pulser::application" xsi:type="soapenc:struct"> <url xsi:type="soapenc:array" soapenc:arraytype="xsd:ur-type[1]"> <item xsi:type="xsd:string" soapenc:position="[0]">${xdaq_setup_root}/ ${XDAQ_ZONE}/pulser/dtsc.pulser</item> </url> <usediscovery xsi:type="xsd:boolean">true</usediscovery> </properties> </xp:application> dtsc-pulser.profile dtsc-pulser.pulser Il servizio pulser è configurato attraverso uno specifico file. I parametri da personalizzare in questo file sono gli attributi tag e xlink:href perchè i loro valori puntino al gruppo e alle flashlists appropriate. Può essere inoltre necessario personalizzare il valore degli attributi period e delay per gestire la frequenza delle richieste di aggiornamento inviate dal pulser. (Il delay non so ancora bene a cosa possa servire) 9

10 <xmas:pulser xmlns:xmas="http://xdaq.web.cern.ch/xdaq/xsd/2006/xmas-10"> <xmas:event delay="pt1s" period="pt10s" xmlns:xlink="http://www.w3.org/1999/xlink"> <xmas:flash xlink:type="locator" tag="dtsc" xlink:href="#urn:xdaq-flashlist:dtsc-supervisor"/> </xmas:event> </xmas:pulser> dtsc.pulser MonitorSource.h Terminata la configurazione dei servizi che gestiscono il monitoring, l ultimo passo da effettuare è l aggiornamento del codice della cella che deve pubblicare i dati da monitorare. Per farlo bisogna creare una classe, derivata dalla classe di XDAQ DataSource, che esegua effettivamente il lavoro di aggiornamento di queste variabili. Nel nostro caso d esempio la classe derivata è stata chiamata MonitorSource. Nell header della classe va definito, oltre al costruttore e al distruttore, una funzione di refresh per ciascuna delle variabili da monitorare. class MonitorSource: public DataSource { public: MonitorSource(const std::string& infospacename, CellContext* context, log4cplus::logger& logger); private: void refreshitem1(const std::string& name, xdata::string& item); void refreshitem2(const std::string& name, xdata::integer& item); void refreshtable(const std::string& name, xdata::table& item); }; MonitorSource.h Ciò che è fondamentale è che il secondo argomento sia del tipo xdata::serializable corrispondente al tipo dichiarato nella flashlist. La lista di tali corrispondenze si può trovare nella tabella 3 del manuale di installazione del Trigger Supervisor. MonitorSource.cc Nel file sorgente andremo quindi a definire le funzioni dichiarate all interno dell header. Nel costruttore le operazioni fondamentali da effettuare sono la creazione delle variabili da monitorare tramite la funzione add e il refresh di queste variabili tramite la funzione autorefresh. E necessario che il tipo dichiarato nella funzione add sia del tipo xdata::serializable corrispondente al tipo dichiarato nella flashlist. É altresì necessario che la funzione invocata da autorefresh corrisponda alla opportuna funzione di refresh, dichiarata nell header. MonitorSource::MonitorSource(const std::string& infospacename, CellContext* context, log4cplus::logger& logger) :DataSource(infospaceName,context,logger) {//Monitoring example code add<xdata::string>("item1"); autorefresh("item1",this,&monitorsource::refreshitem1); add<xdata::integer>("item2"); autorefresh("item2",this,&monitorsource::refreshitem2); add<xdata::table>("table"); 10

11 autorefresh("table",this,&monitorsource::refreshtable); } MonitorSource.cc Completata la personalizzazione del costruttore dobbiamo personalizzare le varie funzioni di refresh che aggiornano la variabile da monitorare ogni qualvolta che il pulser invia il proprio segnale. In queste funzioni sarà inserito l algoritmo personalizzato che esegue sull hardware o su altre variabili le operazioni necessarie. CellContext.h Perchè questa classe venga effettivamente istanziata deve essere invocata all interno del Context dell applicazione. Per farlo dobbiamo innanzitutto modificare l header della classe CellContext. In questo file dobbiamo includere una dipendenza dal file MonitorSource.h, quindi creare un oggetto di tipo MonitorSource ed inserire una funzione che restituisca un handle dll oggetto di tipo MonitorSource. public: MonitorSource& getdatasource() {return *datasource_;}; private: MonitorSource* datasource_; CellContext.h CellContext.cc Per finire completeremo il setup del monitor aggiungendo nel codice sorgente della classe CellContext una chiamata nel costruttore che crei l oggetto di tipo MonitorSource con i parametri appropriati. Il parametro più importante, da personalizzare, è il nome della variabile infospace che deve corrispondere al valore dell attributo infospace presente nella flashlist datasource_ = new MonitorSource(" dtsc-supervisor", this, getlogger()); CellContext.cc 11

12 0.1 Creazione di variabili monitorabili In quest ultima sezione illustrerò il metodo, passo passo, per l aggiunta di una variabile monitorabile al sistema. Inseriremo, come esempio una variabile di tipo int, di nome Test, appartenente all infospace Test che ad ogni aggiornamento aumenterà di 1 il proprio valore. Modifica della Flashlist Il primo passo per effettuare l aggiunta di una variabile monitorabile al sistema del Trigger Supervisor è la modifica della flashlist con l aggiunta di un tag xmas:item che definisca la variabile globalmente all interno del tag xmas:flash. É importante accertarsi che non ci siano altre variabili con lo stesso nome già dichiarate all interno del gruppo. Nel caso della nostra variabile di prova questa riga sarà: <xmas:item name="test" infospace="test" type="int" /> Modifica di MonitorSource.h Completato l aggiornamento della flashlist è necessario aggiornare l header della classe MonitorSource aggiungendo la dichiarazione della funzione di refresh per la variabile aggiunta. Nel nostro esempio abbiamo: void refreshtest(const std::string& name, xdata::integer& item); Modifica di MonitorSource.cc Una volta aggiunta la dichiarazione nell header bisogna modificare il codice sorgente. Questa è la parte più importante e delicata dlel intero processo. Per prima cosa è necessario aggiungere nel costruttore due righe di codice: 1. Una chiamata alla funzione add perchè aggiunga la variabile da monitorare, avendo cura che il tipo della variabile aggiunta, derivato da xdata::serializable, corrisponda al tipo di quella dichiarata all interno della flashlist, secondo la tabella 3 del manuale di installazione del Trigger Supervisor 2. Una chiamata alla funzione autorefresh che faccia riferimento alla funzione il cui prototipo è stato inserito nell header nel passo precedente Nel nostro caso di test abbiamo: add<xdata::integer>("test"); autorefresh("test",this,&monitorsource::refreshtest); Bisogna poi definire la funzione di refresh il cui prototipo è stato dichiarato nell header. Nel nostro esempio la funzione aggiunge semplicemente 1 al valore contenuto precedentemente nella variabile void MonitorSource::refreshTest(const std::string& name, xdata::integer& item) { int actual = item; actual += 1; item = actual; } Compilazione e avvio Dopo aver completato questi passaggi è necessario ricompilare il codice della cella perchè venga aggiunta la variante della classe MonitorSource e riavviare tutti i servizi in modo che questi possano far capo alla nuova flashlist modificata. 12

Petra Provisioning Center, rel 3.1

Petra Provisioning Center, rel 3.1 Petra Provisioning Center, rel 3.1 Petra Provisioning Center, rel 3.1 Copyright 1996,2006Link s.r.l. 1 Questo documento contiene informazioni di proprietà riservata, protette da copyright. Tutti i diritti

Dettagli

BIMPublisher Manuale Tecnico

BIMPublisher Manuale Tecnico Manuale Tecnico Sommario 1 Cos è BIMPublisher...3 2 BIM Services Console...4 3 Installazione e prima configurazione...5 3.1 Configurazione...5 3.2 File di amministrazione...7 3.3 Database...7 3.4 Altre

Dettagli

Una soluzione per il Provisioning e la Software Distribution

Una soluzione per il Provisioning e la Software Distribution Una soluzione per il Provisioning e la Software Distribution Scenario Svariati server, con funzione in base all'area di competenza, dislocati nel territorio su Nodi Periferici collegati in rete (VPN) Un

Dettagli

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria Elettronica e Telecomunicazioni a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual

Dettagli

NAL DI STAGING. Versione 1.0

NAL DI STAGING. Versione 1.0 NAL DI STAGING Versione 1.0 14/10/2008 Indice dei Contenuti 1. Introduzione... 3 2. Installazione NAL di staging... 3 VMWare Server... 3 Preistallazione su server linux... 6 Preinstallazione su server

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Sviluppato da Santoro Carlo Maurizio Matricola:0108/528 Sviluppo terminato il: 18/06/06 TRACCIA DEL PROGETTO Si costruisca, utilizzando la

Dettagli

[AD.AGIO] ANDROID SDK

[AD.AGIO] ANDROID SDK [AD.AGIO] ANDROID SDK 2013.06 Pag. 1 1. PREMESSA Il presente documento riporta informazioni riservate il cui utilizzo è confidenziale e permesso esclusivamente nell'ambito del rapporto di fornitura in

Dettagli

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

Servers Activatable. Massimo Merro Programmazione di Rete 166 / 193

Servers Activatable. Massimo Merro Programmazione di Rete 166 / 193 Servers Activatable Nelle lezioni precedenti abbiamo detto che una referenza remota ad un server di tipo UnicastRemoteObject rimane valida finchè il server è in esecuzione. Quando il server termina, o

Dettagli

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/

Dettagli

COM_HELLOWORLD_PART4

COM_HELLOWORLD_PART4 COM_HELLOWORLD_PART1 Nel manifest la presenza del tag permette di gestire le versioni incrementali di aggiornamento anche grazie all uso del tag . Le installazioni successive del componente

Dettagli

mcdomus Guida alla Configurazione

mcdomus Guida alla Configurazione mcdomus Guida alla Configurazione Data: 25/12/2012 Revisione: 1.02 Sommario Il sistema... 2 Le variabili... 2 Le Funzioni... 2 La Grafica... 3 Gestione Configurazione... 4 Configurazione Base... 4 Configurazione

Dettagli

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools rel. 1.2 ITA 01-06-2012 Introduzione alla creazione del plug-in Questo documento ha lo scopo di illustrare come creare

Dettagli

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe

Dettagli

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore

Dettagli

Informatica. Prof. A. Longheu. Introduzione ai Linguaggi Object-Oriented

Informatica. Prof. A. Longheu. Introduzione ai Linguaggi Object-Oriented Informatica Prof. A. Longheu Introduzione ai Linguaggi Object-Oriented 1 Generalità programmazione OO La programmazione ad oggetti è un particolare modo di scrivere il programma. Si prevede che: 1) si

Dettagli

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

FileMaker Pro 12. Guida di FileMaker Server

FileMaker Pro 12. Guida di FileMaker Server FileMaker Pro 12 Guida di FileMaker Server 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker,

Dettagli

Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com

Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com Hibernate Configurazione di base Dott. Doria Mauro doriamauro@gmail.com I file di configurazione Hibernate prevede l uso dei file di configurazione formato XML. I principali file sono: Un file di configurazione

Dettagli

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2 I metodi statici -1 I metodi statici non hanno il parametro implicito il metodo sqrt di Math I metodi statici vengono detti anche metodi di classe perche` non operano su una particolare istanza della classe

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Server 15per UNIX

Istruzioni di installazione di IBM SPSS Modeler Server 15per UNIX Istruzioni di installazione di IBM SPSS Modeler Server 15per UNIX IBM SPSS Modeler Server può essere installato e configurato per l esecuzione in modalità di analisi distribuita insieme ad altre installazioni

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

Esercitazione di Sistemi Distribuiti: Java RMI

Esercitazione di Sistemi Distribuiti: Java RMI Esercitazione di Sistemi Distribuiti: Java RMI Anno Accademico 2007-08 Marco Comerio comerio@disco.unimib.it Richiami Teorici Oggetti distribuiti 2-16 Usuale organizzazione di un oggetto remoto con un

Dettagli

MANUALE PER GLI OPERATORI DELLA PIATTAFORMA PB-GAS G-1

MANUALE PER GLI OPERATORI DELLA PIATTAFORMA PB-GAS G-1 MANUALE PER GLI OPERATORI DELLA PIATTAFORMA PB-GAS G-1 30 settembre 2015 SOMMARIO Introduzione... 2 Tipologie di utenti... 2 Le funzionalità offerte dal portale... 2 Registrazione al portale... 2 Autenticazione...

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Introduzione allo sviluppo per SharePoint

Introduzione allo sviluppo per SharePoint Introduzione allo sviluppo per SharePoint Esercitazione pratica Manuale dell esercitazione SPCHOL306 - Utilizzo di Silverlight con il modello a oggetti client - C# Questo documento viene fornito «così

Dettagli

Linux Day 2014. Network Monitoring. Nagios. Alessandro Costetti alle@costetti.it. Luca Ferrarini luca@ferrarini.info 25/10/2014

Linux Day 2014. Network Monitoring. Nagios. Alessandro Costetti alle@costetti.it. Luca Ferrarini luca@ferrarini.info 25/10/2014 Linux Day 2014 Network Monitoring Nagios Alessandro Costetti alle@costetti.it Luca Ferrarini luca@ferrarini.info 25/10/2014 Network Monitoring può essere definito come l insieme dei controlli che è necessario

Dettagli

DBImport Manuale Utente. DBImport Manuale Utente

DBImport Manuale Utente. DBImport Manuale Utente DBImport Manuale Utente Pagina 1 di 28 Pagina 2 di 28 SOMMARIO 1 Introduzione... 4 2 Descrizione del processo di importazione... 5 2.1 Invocazione... 5 3 File XML di importazione... 6 3.1 File principale,

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Corso su LINQ Lezione 16. Introduzione

Corso su LINQ Lezione 16. Introduzione LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante

Dettagli

Server web e protocollo HTTP

Server web e protocollo HTTP Server web e protocollo HTTP Dott. Emiliano Bruni (info@ebruni.it) Argomenti del corso Cenni generali sul web IIS e Apache Il server web Micsosoft Internet Information Server 5.0 Il server web Apache 2.0

Dettagli

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1 a cura di Giancarlo Cherchi 1 Introduzione Il meccanismo dell eredità consente di sfruttare delle relazioni tipo/sottotipo, ereditando attributi

Dettagli

Sistemi per la Gestione delle Basi di Dati

Sistemi per la Gestione delle Basi di Dati Sistemi per la Gestione delle Basi di Dati Esercitazione di Laboratorio N. 4 L esercitazione consiste nel progettare un data warehouse che permetta di gestire la problematica illustrata nei punti seguenti,

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2 i Manuale SDK di OpenSPCoop2 ii Copyright 2005-2013 Link.it srl iii Indice 1 Introduzione 1 2 La Personalizzazione del Protocollo di Cooperazione 1 3 Il Software Development Kit 2 3.1 Gestione dei payload.................................................

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Android. Adapter e ListView. diegozabot@yahoo.it

Android. Adapter e ListView. diegozabot@yahoo.it Android Adapter e ListView diegozabot@yahoo.it Funzionamento di un Adapter Quando il contenuto del layout non è predeterminato o è dinamico possono essere utilizzati gli Adapter. Un Adapter recupera i

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

1. INSTALLAZIONE DEL PACCHETTO MS4W

1. INSTALLAZIONE DEL PACCHETTO MS4W autore del documento: Massimiliano Cannata data del documento: 13/12/2005 1. INSTALLAZIONE DEL PACCHETTO MS4W Il pacchetto ms4w si può scaricare dal sito Web: http://www.maptools.org/ms4w/index.phtml

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Il linguaggio C# Eventi ed eccezioni

Il linguaggio C# Eventi ed eccezioni Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it

Dettagli

maildocpro Manuale Installazione

maildocpro Manuale Installazione maildocpro Manuale Installazione versione 3.4 maildocpro Manuale Installazione - Versione 3.4 1 Indice Indice... 2 Creazione database... 3 Database: MAILDOCPRO... 3 Database: SILOGONWEB... 5 Configurazione

Dettagli

Il Gestionale: Gestionalino-Magazzino

Il Gestionale: Gestionalino-Magazzino Tempi & Metodi di Giorgio Andreani Servizi di Controllo e di Organizzazione dei Processi Produttivi Iscrizione al Registro delle Imprese CCIAA di Verona REA 357269 Partita Iva 03686020235 - Cod. Fisc.

Dettagli

La Document Orientation. Come implementare un interfaccia

La Document Orientation. Come implementare un interfaccia La Document Orientation Come implementare un interfaccia Per eliminare l implementazione di una interfaccia da parte di una classe o documento, occorre tirarla su di esso tenendo premuto il tasto ctrl.

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

PHI-RE. Configurazione infrastrutturale SOA. Version 1.0 Marzo, 2011. Page 1 of 17

PHI-RE. Configurazione infrastrutturale SOA. Version 1.0 Marzo, 2011. Page 1 of 17 PHI-RE Configurazione infrastrutturale SOA Version 1.0 Marzo, 2011 Page 1 of 17 Versione Marzo 2011 Marzo 2011 Descrizione della variazione Versione iniziale Inserimento capitoli descrizione script installativi

Dettagli

qui possiamo scegliere se creare un nuovo Database oppure aprire un Database già esistente. Fatto ciò avremo questa seconda schermata:

qui possiamo scegliere se creare un nuovo Database oppure aprire un Database già esistente. Fatto ciò avremo questa seconda schermata: Creare un Database completo per la gestione del magazzino. Vedremo di seguito una guida pratica su come creare un Database per la gestione del magazzino e la rispettiva spiegazione analitica: Innanzitutto

Dettagli

SVN server, per Florim, è installato su server di test, anche se la sua configurazione può avvenire in qualsiasi ambiente.

SVN server, per Florim, è installato su server di test, anche se la sua configurazione può avvenire in qualsiasi ambiente. Siti FLORIM SVN Subversion Il sistema di versioning viene illustrato nell immagine seguente: Sistema locale dello sviluppatore, si parla di working copy ( copia dei file dal server in produzione) SVN server,

Dettagli

Corso basi di dati Installazione e gestione di PWS

Corso basi di dati Installazione e gestione di PWS Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del

Dettagli

LE STAMPE IN ALEPH500 (versione 20.02)

LE STAMPE IN ALEPH500 (versione 20.02) Università degli Studi di Siena Servizio Automazione Biblioteche Sistema Bibliotecario di Ateneo LE STAMPE IN ALEPH500 (versione 20.02) MANUALE a cura di: Marta Zorat Fausta Cosci data di creazione: 20

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 8 Java Server Pages Java Server Pages è essenzialmente un modo più comodo per il programmatore dell applicazione web di scrivere una Servlet.

Dettagli

3 Come Configurare il Vostro Server per lanciare Programmi Java CGI (forma abbreviata) 5

3 Come Configurare il Vostro Server per lanciare Programmi Java CGI (forma abbreviata) 5 Java CGI HOWTO di David H. Silber dhs@orbits.com v0.4, 18 Novembre 1996 Questo HOWTO spiega come configurare il vostro server per accogliere programmi CGI scritti in Java e come utilizzare Java per scrivere

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Note pratiche sullo sviluppo di servlet (I)

Note pratiche sullo sviluppo di servlet (I) Note pratiche sullo sviluppo di servlet (I) Nel caso in cui sulla macchina locale (PC in laboratorio/pc a casa/portatile) ci sia a disposizione un ambiente Java (con compilatore) e un editor/ambiente di

Dettagli

ARCHIVIA PLUS - DOCPORTAL

ARCHIVIA PLUS - DOCPORTAL ARCHIVIA PLUS - DOCPORTAL Informazioni per il setup di DocPortal Versione n. 2014.3.4 Data : 04/03/2014 Redatto da: Veronica Gimignani Approvato da: Claudio Caprara Non stampare questo documento la versione

Dettagli

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE IDROID 86 LAB pagg 12-13 23-04-2007 14:57 Pagina 12 I-D01 LAB UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE PROGRAMMAZIONE Alcuni comportamenti predefiniti attivabili su I-Droid01 sono facilmente riproducibili

Dettagli

Archiviare messaggi da Microsoft Exchange 2003

Archiviare messaggi da Microsoft Exchange 2003 Archiviare messaggi da Microsoft Exchange 2003 Nota: Questo tutorial si riferisce specificamente all'archiviazione da Microsoft Exchange 2003. Si dà come presupposto che il lettore abbia già installato

Dettagli

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE LABORATORI DI INFORMATICA CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE Tutti i laboratori di informatica, come la gran parte delle postazioni LIM, sono stati convertiti

Dettagli

Procedura di installazione Linux Red Hat

Procedura di installazione Linux Red Hat Servizio Calcolo e Reti Bollettino N. 2/02 28 Giugno 2002 Procedura di installazione Linux Red Hat (Servizio.Calcolo@pv.infn.it) Abstract Questa breve nota descrive la procedura consigliata per l installazione

Dettagli

3 ServletContext. Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005

3 ServletContext. Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 3 ServletContext Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 ServletContext I interfaccia ServletContext fornisce alla web application (ed i suoi servlet) una serie di funzionalità

Dettagli

SCP - Scuola di Calcolo Parallelo - Scheduler per programmi paralleli. Mattia Sessolo I.T.I.S. V.Volterra San Donà di Piave

SCP - Scuola di Calcolo Parallelo - Scheduler per programmi paralleli. Mattia Sessolo I.T.I.S. V.Volterra San Donà di Piave SCP - Scuola di Calcolo Parallelo - Scheduler per programmi paralleli Mattia Sessolo I.T.I.S. V.Volterra San Donà di Piave 2006-2007 Introduzione Questo programma è stato ideato per facilitare e automatizzare

Dettagli

TeamUpdate Client. TeamPortal TeamUpdate Client 20120300

TeamUpdate Client. TeamPortal TeamUpdate Client 20120300 Client Client INDICE Introduzione... 3 Specifiche Client... 4 Contenuti... 5 Gestione contenuto... 6 Gestione documenti... 8 Contenuti locali... 11 Da gestire... 11 Cronologia... 12 Consultazione... 13

Dettagli

Versioni x.7.7 installazione e aggiornamento

Versioni x.7.7 installazione e aggiornamento Versioni x.7.7 installazione e aggiornamento Che cosa è cambiato Gestione dell inversione contabile... 2 Tabella Codici Fissi (Autofattura)... 4 Nuovi campi nell archivio Clienti-Fornitori... 4 Tabella

Dettagli

Guida all uso. Instant Cloud Platform As A Service

Guida all uso. Instant Cloud Platform As A Service Guida all uso Instant Cloud Platform As A Service Prima edizione maggio 2014 Instant Cloud Platform As A Service Sommario Instant Cloud - Platform As A Service... 4 1 Introduzione... 4 2 Instant Cloud...

Dettagli

Plugin Wordpress Albo Pretorio on line Sviluppato da Scimone Ignazio

Plugin Wordpress Albo Pretorio on line Sviluppato da Scimone Ignazio Plugin Wordpress Albo Pretorio on line Sviluppato da Scimone Ignazio http://plugin.sisviluppo.info ignazios@gmail.com 1 Indice Introduzione... 4 Come installare il plugin... 5 Parametri; come configurare

Dettagli

Introduzione all uso di Eclipse

Introduzione all uso di Eclipse Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente

Dettagli

ZZZ01 Esercizi Vari. Esercizi per preparazione alla prova pratica di laboratorio

ZZZ01 Esercizi Vari. Esercizi per preparazione alla prova pratica di laboratorio ZZZ01 Esercizi Vari Esercizi per preparazione alla prova pratica di laboratorio Esercizio ZZZ01_01 - Elefanti Schizzinosi Nella savana africana c'e' una pozza d'acqua fresca alimentata da un acquedotto.

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

CREARE UNA LIBRERIA IN C

CREARE UNA LIBRERIA IN C CREARE UNA LIBRERIA IN C Prima di cominciare a vedere come fare una libreria, dobbiamo capire di cosa abbiamo bisogno... di un file.h che sarà l'header della libreria (ovvero il file che conterrà i prototipi

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Il server web: Apache, IIS e PWS

Il server web: Apache, IIS e PWS IL SERVER WEB Corso WebGIS - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Il server web: Apache, IIS e PWS...1 Directory di default...2 Alias e cartelle virtuali...3

Dettagli

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati. 2010 Ing. Punzenberger COPA-DATA Srl Tutti i diritti riservati. Tutti i diritti riservati la distribuzione e la copia - indifferentemente dal metodo - può essere consentita esclusivamente dalla dittacopa-data.

Dettagli

Manuale utente. ver 1.0 del 31/10/2011

Manuale utente. ver 1.0 del 31/10/2011 Manuale utente ver 1.0 del 31/10/2011 Sommario 1. Il Servizio... 2 2. Requisiti minimi... 2 3. L architettura... 2 4. Creazione del profilo... 3 5. Aggiunta di un nuovo dispositivo... 3 5.1. Installazione

Dettagli

Infine abbiamo anche effettuato un operazione di traduzione in italiano delle due aree principali di Joomla.

Infine abbiamo anche effettuato un operazione di traduzione in italiano delle due aree principali di Joomla. Joomla dopo l installazione Lezione 2 Joomla dopo l installazione Premessa Abbiamo nella lezione precedente installato offline la piattaforma di Joomla. Ricapitolando abbiamo prima configurato EasyPhp

Dettagli

TEMI - Struttura. I file del tema

TEMI - Struttura. I file del tema TEMI - Struttura - Ci sono due possibilità per modificare un tema: - Tramite l editor di amministrazione (AspettoàEditor), che consente di selezionare modificare i file (NOTA: copiare il file prima di

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick

Dettagli

Laboratorio di reti II: Java Server Pages

Laboratorio di reti II: Java Server Pages Laboratorio di reti II: Java Server Pages Stefano Brocchi brocchi@dsi.unifi.it 6 aprile, 2009 Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, 2009 1 / 34 JSP - Java Server Pages Le

Dettagli

Procedure per l aggiornamento automatico di liste di distribuzione IAT-B41999001. Laura Abba, Marina Buzzi, Francesco Gennai

Procedure per l aggiornamento automatico di liste di distribuzione IAT-B41999001. Laura Abba, Marina Buzzi, Francesco Gennai C Consiglio Nazionale delle Ricerche Procedure per l aggiornamento automatico di liste di distribuzione IAT-B41999001 Laura Abba, Marina Buzzi, Francesco Gennai e-mail: Laura.Abba@iat.cnr.it Marina.Buzzi@iat.cnr.it

Dettagli

Nuvola It Data Space

Nuvola It Data Space MANUALE UTENTE INDICE 1. Descrizione servizio... 3 1.1. Informazioni sul servizio di Telecom Italia... 3 1.2. Ruoli e Autenticazione per il servizio di Telecom Italia... 3 1.3. Strumenti... 5 1.4. Documentazione...

Dettagli

Pedigree Documentazione aggiuntiva Corso di reperimento dell informazione a.a. 2005/2006 prof.sa Maristella Agosti

Pedigree Documentazione aggiuntiva Corso di reperimento dell informazione a.a. 2005/2006 prof.sa Maristella Agosti Pedigree Documentazione aggiuntiva Corso di reperimento dell informazione a.a. 25/26 prof.sa Maristella Agosti Argenton Matteo Buzzi Lorenzo Gatto Giorgio Molinaro Matteo Zorzan Emmanuele Prestazioni

Dettagli

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Web Server TOMCAT Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

MANUALE DI UTILIZZO VISUALPATH V3 VERSIONE ASP

MANUALE DI UTILIZZO VISUALPATH V3 VERSIONE ASP MANUALE DI UTILIZZO VISUALPATH V3 VERSIONE ASP Revisione 1.4 ultimo aggiornamento: 14/06/2011 SOMMARIO Introduzione... 3 Attivazione... 4 Tracciamento... 4 Codice da inserire nell header del sito... 4

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps SOFTWARE PER LA GESTIONE DEI TELECONTROLLI SMS-GPS MANAGER Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps Rev.1009 Pag.1 di 10 www.carrideo.it INDICE 1. DESCRIZIONE

Dettagli

Istruzioni operative

Istruzioni operative Manuale d'uso dello strumento di compilazione Bilanci con foglio di calcolo Istruzioni operative Manuale d uso - versione 4 - febbraio 2014 pag. 1 di 25 Indice Indice... 2 Introduzione... 3 Redazione del

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: srotabul@dais.unive.it Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html

Dettagli