P2P - Monitor e Logger Globale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "P2P - Monitor e Logger Globale"

Transcript

1 P2P - Monitor e Logger Globale Documento di presentazione per la tesina di Sistemi Distribuiti Dario Mazza, Paolo Pino, Pierluigi Sottile

2 Indice 1 Consegna 2 2 Logging Locale 2 3 Monitoring Locale 2 4 Ordinamento dei Messaggi 3 5 Logger e Monitor Globale 4 6 Transazioni 4 7 Replicazione 5 8 Deploy e Configurazione dell Applicazione 7 1

3 1 Consegna L obiettivo della tesina è di realizzare un servizio di Logging e un servizio di Monitor Globale che riceverà i dati provenienti dai peer realizzati nel primo step. I messaggi all interno dei componenti globali devono essere ordinati prima di essere scritti in dei file XML. I messaggi inviati ai componenti globali devono essere generati da un sistema di logging e monitoring locale ai peer. Deve essere replicato il contenuto di una delle tre code del peer utilizzando un sistema transazionale. Tutte le comunicazioni devono essere implementate utilizzando i Web Service di Java Enterprise Edition e l Application Server Glassfish. 2 Logging Locale Il sistema di logging locale si basa sull utility log4j dell Apache Software Foundation. Questa utility fornisce metodi per la creazione di logger e l associazione di appender specifici al sistema di logging. Il logging locale è diviso in due parti: la prima è composta da un serie di logger mappati sulle classi che li utilizzano e serve per lo sviluppo ed il debugging dell applicazione. Questa prima parte produce due file contenenti gli stessi dati: middleware p2p.out, scritto in formato humanreadable, e middleware p2p.log, formattato in XML in base al DTD di log4j. La seconda parte del logging è composta da un filtro sui logger della prima parte e serve per catturare i dati da inviare al componente globale. Questa seconda parte produce un file, middleware local.log, formattato in XML. I log che vengono inviati al logger globale sono solo quelli di livello INFO e devono essere del tipo MiddlewareLogEvent. Estendendo il layout XML (classe XMLLayout contenuta nelle API log4j) è stata personalizzata la formattazione del file ed è stata inserita una chiamata al Web Service GlobalLogger per eseguire il push dell evento di log. La classe MiddlewareLogEvent contiene l identificativo univoco del componente (ossia del peer), il timestamp locale dell evento, una stringa contenente la descrizione dell evento e il Vector Clock necessario all ordinamento degli eventi all interno del componente globale. L identificativo del componente viene generato applicando la funzione di hash MD5 alla stringa Component:peer ip:peer port. Interfaccia XMLSerializable e JAXB Tutte le classi, come MiddlewareLogEvent, che devono essere serializzate in XML implementano l interfaccia XmlSerializable (che estende java.io.serializable) che prevede il metodo public String toxmlstring(). Quest ultimo metodo viene utilizzato dai layout per ottenere la rappresentazione XML dell oggetto. La rappresentazione XML viene ottenuta tramite l uso di JAXB (Java Architecture for XML Binding). Per definire la struttura dell oggetto complesso XML vengono utilizzate @XmlElement. Per eseguire il marshalling si utilizza l oggetto Marshaller di JAXB. Utilizzare JAXB per la serializzazione XML ha diversi vantaggi: in primo luogo semplifica lo sviluppo dei metodi di serializzazione ed inoltre si tratta di un elemento di Java EE ed è utilizzato da JAX-WS (Java API for XML Web Service) per generare il WSDL dei Web Service. 3 Monitoring Locale Il monitoring locale si appoggia al sistema log4j per la scrittura dello stato e del contenuto delle code su file XML. Il sistema di monitoring è composto da quattro logger: middleware.p2p.monitor.wfqueue sul quale viene scritto il contenuto della coda di Workflow middleware.p2p.monitor.tdqueue sul quale viene scritto il contenuto della coda di Task Descriptor middleware.p2p.monitor.wfqueue status sul quale viene scritto lo stato della coda di Workflow middleware.p2p.monitor.tdqueue status sul quale viene scritto lo stato della coda di Task Descriptor 2

4 Agli appender su file delle API di log4j (contenuti nella classe org.apache.log4j.fileappender) viene applicato un filtro MonitorFilter che permette di applicare il layout MiddlewareMonitorLayout ad un logger con un determinato nome. Il layout si occupa di formattare i file XML in maniera appropriata e di inviare l evento al Web Service GlobalMonitor per effettuare il push. I file generati dal monitoring locale sono: middleware wfqueue content.log, middleware wfqueue status.log, middleware tqueue content.log, middleware tqueue status.log che contengono, rispettivamente,rispettivamente, il contenuto e lo stato della coda di Workflow ed il contenuto e lo stato della coda di TaskDescriptor. Gli oggetti che sono scritti nei logger del sistema di monitoring sono del tipo MiddlewareMonitorEvent e contengono il tipo della coda da cui è generato l evento di monitor, l identificativo del componente, il Vector Clock necessario all ordinamento degli eventi nel monitor globale, il timestamp locale dell evento, il numero totale di elementi inseriti nella coda, la dimensione corrente della coda e la serializzazione XML del contenuto della coda. Quest ultimo campo non viene serializzato da JAXB grazie all Estrazione dello stato e concorrenza Nel primo step del Progetto la concorrenza sulle code nei peer era stata gestita tramite la classe java.util.concurrent.linkedblockingdequeue che garantisce l atomicità e la concorrenza nelle operazioni di enqueue e dequeue. La necessità di estrarre lo stato della coda all interno della sezione critica che modifica lo stato ha imposto il cambiamento del sistema di gestione della concorrenza. La concorrenza sulle code è gestita applicando il problema di Produttori e Consumatori e utilizzando le classi java.util.concurrent.locks.lock (utilizzati allo stesso modo dei pthread mutex) e java.util.concurrent.locks.condition (utilizzati come i pthread cond). I metodi enqueue e dequeue sono stati modificati per ricevere un parametro supplementare di tipo MiddlewareMonitorEvent che sarà valorizzato in sezione critica con i dati sullo stato. 4 Ordinamento dei Messaggi Prima di analizzare i componenti globali (Monitor, Logger e Replica Manager) verrà illustrato il sistema di ordinamento dei messaggi basati sui Vector Clock e su un meccanismo di Gap Detection. Il sistema verrà illustrato in forma generica in quanto è stato utilizzato in modo sostanzialmente identico in tutti i componenti globali. Gli attori del sistema sono due EJB (Enterprise Java Beans): Service : EJB Stateless su cui viene mappato il Web Service QueueManager: EJB Statefull Singleton che viene utilizzato per gestire l ordinamento Il Web Service espone come WebMethod un metodo push per inserire nel sistema di ordinamento un nuovo elemento e un metodo resetclock che server per resettare il clock relativo ad un determinato componente. Questi metodi sono soltanto un punto di accesso per i metodi omonimi esposti dall interfaccia locale del QueueManager. Il QueueManager mantiene un Vector Clock utilizzato per ordinare i messaggi e una coda in cui vengono inseriti gli elementi che non sono consegnabili immediatamente. Il metodo push controlla se il messaggio è delivarable (consegnabile) e in tal caso chiama immediatamente il metodo privato deliver e controlla nella coda di messaggi se ci sono messaggio sbloccati dalla consegna del messaggio corrente e li consegna. Se il messaggio non è consegnabile immediatamente (immediate delivery impossibile) viene inserito nella coda di attesa. Un messaggio viene considerato delivarable se soddisfa una delle seguenti condizioni: 1. V C Q < V C m NOT Gap P rox 2. V C Q = V C m P rox 3

5 dove V C Q e V C m sono i vector clock rispettivamente del QueueManager e del messaggio, Gap è vero se tra V C Q e V C m vi sono dei gap e P rox è vero se V C Q e V C m sono marcati come prossimi. Il metodo deliver esegue le operazioni specifiche del componente legate alla consegna ma prima aggiorna il vector clock del QueueManager in modo che V C Q [k] = max(v C Q [k], V C m [k]), k NS, dove k è l identificavo di un peer e NS è l insieme dei peer conosciuti dal componente. Confronti tra Vector Clock L ordinamento dei messaggi su Vector Clock si basa su tre metodi di confronto tra i Vector Clock: compareto: implementa il confronto diretto tra due Vector Clock detectgap: controlla se vi sono gap tra i due Vector Clock detectproximity: controlla se due Vector Clock sono prossimi Il confronto diretto tra i Vector Clock si basa sulla seguente definizione: V C 1 < V C 2 V C 1 [k] V C 2 [k]], k k : V C 1 [k ] < V C 2 [k ] Il gap detection conta le distanze tra i componenti del Vector Clock e ritorna Vero se le distanze positive sono presenti in più di una componente. Due Vector Clock sono considerati prossimi se vi è una distanza positiva solo su una componente e questa distanza è pari ad uno. 5 Logger e Monitor Globale Il Logger Globale sfrutta il meccanismo di ordinamento dei messaggi utilizzando il bean GlobalLogger per il Web Service e il bean EventQueueManager per gestire la coda. Il metodo deliver stampa gli eventi consegnati su un file middleware global log.log formattato in XML e contenuto nella seguente directory $GLASSFISH HOME/domains/$DOMAIN NAME/logs. Il Monitor Globale sfrutta il meccanismo di ordinamento dei messaggi utilizzando il bean GlobalMonitor per il Web Service e il bean MonitorQueueManager per gestire la coda. Per il monitor il paradigma per l ordinamento viene leggermente modificato inserendo, all interno del MonitorQueueManager, delle code separate per ogni tipo di coda del peer. Il metodo deliver stampa gli eventi consegnati su un file, differente per ogni coda, middleware $QUEUE TYPE status.log formattato in XML e contenuto nella seguente directory $GLASSFISH HOME/domains/$DOMAIN NAME/logs. 6 Transazioni Nel sistema delle transazioni si identificano tre attori: il Client, Transaction Coordinator e Transaction Partecipant. Il flusso di esecuzione della transazione inizia con il client che inizia la transazione e riceve un identificativo univoco della transazione dal Coordinator; il client esegue tutte le operazioni sui partecipant allegando alle richieste l identificativo della transazione (i partecipant eseguono il join alla transazione contattando il coordinator). Completate tutte le operazioni, il client richiede la chiusura della transazione ed il coordinator inizia l algoritmo 2PC (Two Phase Commit) e dopo le due fasi ritorna il risultato al client: tale risultato può essere Commit o Abort. Nell implementazione presentata il Web Service che interpreta il ruolo del Transaction Coordinator è mappato sul bean TransactionCoordinator che al suo interno contiene i riferimenti alle interfacce locali degli EJB TransactionRepository (Singleton Stateful) e TransactionLogger (Stateless). Ogni peer ha il suo Transaction Coordinator locale che chiama quando deve utilizzare il sistema di transazioni. Il TransactionLogger permette di scrivere su un log lo stato di avanzamento di una transazione; il log viene scritto su file con il nome della transazione all interno della directory logs/transaction/$ruolo (dove $RUOLO indica se si tratta di un coordinator o di un partecipant) contenuta nella root del domain Glassfish. Il file di log viene utilizzato nel caso di crash del coordinator per riprendere le operazioni che stava eseguendo. 4

6 TransactionRepository L Enterprise Java Bean TransactionRepository è un Singleton che contiene una mappa che associa ad ogni Transaction Id un oggetto Transaction. Inoltre il TransactionRepository legge i timeout e l identificativo del coordinatore dal file di configurazione e permette di generare un nuovo Transaction Id assemblato come $COORDID $PROGNUM (dove $PROGNUM è un numero progressivo). Il TransactionRepository è segnato con l quindi viene caricato all avvio del Application Server Glassfish e nel costruttore viene letto il log file di tutte le transazioni e se si trovano in uno stato di Prepared o di Global Abort manda il segnale di Abort a tutti i partecipant mentre se si trovano in uno stati di Global Commit manda il segnale di Commit. 2PC Nel metodo closetransaction del coordinator viene implementato il protocollo 2PC. Il coordinator ottiene dal repository tutti i partecipant che hanno fatto join alla transazione e chiama in maniera asincrona il metodo cancommit su ognuno di loro. Una volta effettuate le chiamate, inizia la fase di raccolta dei voti: per ogni partecipant si attende un tempo pari a voting single timeout. Prima di controllare per la richiesta successiva si controlla che il tempo passato dall inizio della fase di raccolta dei voti sia minore di voting total timeout-voting delta. In caso siano violati i timeout si procede con il global abort. Se tutti i voti sono concordi sul READY si procede chiamando in maniera asincrona il docommit su tutti i partecipant altrimenti si chiama il doabort. Effettuate tutte le chiamate asincrone si attende l arrivo di tutti gli ack: si attende un tempo pari a completition single timeout e se scade il timemout si procede alla ritrasmissione ( il massimo numero di ritrasmissioni è indicato dal valore di completition max retry. Tutti i valori dei timeout sono letti dal TransactionRepository all avvio e vengono ottenuti attraverso il metodo getalltimeout(). 7 Replicazione È stato deciso di replicare lo stato della coda di TaskDescriptor utilizzando una modalità attiva di replicazione. Ogni peer ha il suo Replica Manager locale che può essere interrogato come Web Service per ottenere i dati sulle repliche possedute dal peer. La logica per ottenere e pubblicare delle repliche è contenuta all interno dell oggetto ReplicaFrontend istanziato nella classe CORE. All avvio del Worker si chiede al Frontend di trovare una replica della coda (getreplica) e se ne trova una coda non vuota si caricheranno i TaskDescriptor nella coda sincronizzata. Ogni volta che viene modificato lo stato della coda viene chiesto al Frontend di salvare in remoto la coda (storereplica). Replica Manager Il Replica Manager (RM) è implementato da un Web Service mappato su l EJB Stateless ReplicaManager ed utilizza il metodo di ordinamento dei messaggi illustrato in precedenza appoggiandosi al queue manager ReplicaQueueManager (EJB Stateful Singleton). Per implementare il 2PC il Replica Manager deve conservare traccia dello stato della transazione attraverso le varie chiamate (operazione-cancommit-docommit/doabort). A tale scopo si appoggia ad un EJB Singleton ReplicaTransactionCache che contiene una mappa che associa ad un transaction id un oggetto di tipo ReplicaCacheEntry. Quest ultimo oggetto contiene le seguenti informazioni: action : tipo enum che identifica se si tratta di un get o di una store component: identificativo del componente a cui è associata la replica content: stringa contenente la replica se si tratta di una store altrimenti la rappresentazione su stringa del boolean di ritorno del metodo getreplica tempfile: oggetto File contenente il riferimento al file temporaneo generato nel processo di store della replica, rimane sempre null durante il get. La cache è condivisa con l EJB che implementa la coda per l ordinamento. Quest ultima viene riempita attraverso i metodi del web service ReplicaManager con degli oggetti di tipo ReplicaRequest. I dati contenuti nell oggetto ReplicaRequest sono i seguenti: 5

7 vclock: vector clock della richiesta e necessario all ordinamento componentid : identificativo del componente a cui è associata la richiesta coordwsdl : URL del WSDL del transaction coordinator a cui fare il join replica : replica di cui fare la store, in caso di get vale null transid: identificativo della transazione all interno del quale è stata effettuata la richiesta responseaddr: indirizzo sul quale inviare la risposta della richiesta get: vale true se si tratta di una get, false se si tratta di una store. push: vale true se si tratta di una store, false se si tratta di una get. Il metodo deliver del Queue Manager decide in base all operazione indicata nell oggetto ReplicaRequest se eseguire il metodo privato storereplica del Queue Manager oppure il metodo privato getreplica del Queue Manager; raccolto il risultato dell invocazione di questi metodi li invia tramite socket all indirizzo indicato nell oggetto ReplicaRequest. Il metodo getreplica del Queue Manager effettua il join al coordinatore di transazione indicato e poi legge il file relativo alla replica ossia il file con nome $COMP ID.rpl nella cartella logs/replicastore all interno della root del domain dell Application Server Glassfish. Una volta letto il file il contenuto viene memorizzato all interno della cache sotto forma di ReplicaCacheEntry. Il metodo storereplica del Queue Manager effettua il join al coordinatore di transazione indicato e inserisce i dati sulla replica da memorizzare in un oggetto ReplicaCacheEntry che viene inserito nella cache. L EJB ReplicaManager è responsabile del protocollo 2PC dal lato del partecipant. Il metodo cancommit(), chiamato dal coordinator per ottenere il voto del partecipant, agisce in modo diverso a seconda che si tratti di una store o di una get. Se si tratta di una store viene scritto il contenuto del campo content della ReplicaCacheEntry all interno di un file temporaneo creato nella cartella temp all interno della replicastore (directory all interno del quale vengono registrate le repliche); il file temporaneo viene memorizzato nella entry all interno della cache. Se si tratta di una get non viene eseguita nessuna azione particolare (non ci sono dati da rendere permanenti). Il metodo docommit rende permanenti le modifiche della transazione. Nel caso di una store il file temporaneo contenuto nella entry della cache viene spostato nella directory replicastore e rinominato con l identificativo del componente a cui è associata la replica e gli viene assegnata l estensione.rpl; finite queste operazioni viene cancellata la entry dalla cache (le operazioni non sono più annullabili). Se si tratta di una get si cancella solamente la entry nella cache (non ci sono dati da rendere permanenti). Il metodo doabort cancella le entry nella cache e nel caso di store viene cancellato anche il file temporaneo generato dal metodo cancommit. Ricezione dei Response Il ReplicaFrontend permette all applicazione POJO di usufruire del sistema di replicazione mascherando la complessità del sistema distribuito. Le risposte provenienti dai Replica Manager arrivano al frontend attraverso delle socket aperte su un indirizzo passato al Web Service come parametro. Un thread implementato dalla classe ReplicaResponseHandler si occupa di creare la ServerSocket cercando una porta libera a partire da quella indicata nel file di configurazione. Questo thread rimane in ascolto in attesa delle risposte dei Replica Manager e inserisce tali risposte in una lista passatagli tramite costruttore; una volta raccolte tutte le risposte il thread termina. Il metodo getreplica inizia la transazione, avvia il thread per raccogliere le risposte e inizia ad eseguire le richieste di getreplica a tutti i Replica Manager conosciuti dal servizio di discovery (in questa implementazione il vicinato viene caricato dal file discovery peers.xml). Fatte tutte le richieste, il metodo fa join sul thread di ricezione delle risposte: quando tutte le risposte sono state raccolte, si chiama il metodo closetransaction del coordinator e si attende la response della transazione. 6

8 Il metodo storereplica è chiamato molte volte e durante l esecuzione dell applicazione POJO al contrario del getreplica che viene chiamato una volta sola in fase di caricamento dell applicazione. Per evitare che le chiamate alla storereplica peggiorino le performance dell applicativo, il frontend lancia un thread ReplicaStorerThread che esegue le operazioni di store della replica senza bloccare l esecuzione. Il thread avvia la transazione, avvia il thread per collezionare le risposte e invia le richieste di store a tutti gli RM conosciuti dal servizio di discovery. Finite le chiamate, effettua il join sul thread per collezionare le risposte e, quando riprende, effettua la closetransaction attendendo l esito della transazione. 8 Deploy e Configurazione dell Applicazione Il lavoro svolto è stato diviso in tre applicazioni Enterprise: MiddlewareGlobalLoggerApp: EJB per il Logger Globale contenente gli MiddlewareGlobalMonitorApp: contenente gli EJB per il Monitor Globale MiddlewareReplicationApp: contenente gli EJB per i Replica Manager e i Transaction Coordinator. L applicazione del primo step è contenuta nel progetto ProgettoMiddleware. Nella cartella dist/ si trovano i file EAR (Enterprise Archive) per le applicazioni e saranno inseriti, tramite l Administration Console di Glassfish, all interno dei domini appropriati. Oltre ai file EAR, vi è il file JAR dell applicazione POJO. I file di configurazione per l applicazione POJO sono : middleware config.xml: contenente i dati per configurare l applicazione. discovery peer.xml: contenente i dati sui peer conosciuti dal servizio di discovery. peer config.xml: contenente i dati per configurare il peer. I file di configurazione per l applicazione per la Replicazione sono: coordinator config.xml: contenente le configurazioni per il coordinatore delle transazioni replica manager config.xml: contenente i dati per configurare il Replica Manager. I file di configurazione dell applicazione POJO devono trovarsi nel path di esecuzione mentre i file di configurazione delle applicazioni Enterprise si devono trovare nella cartella config/ situata all interno della directory domains/domain name dell Application Server Glassfish. Segue una veloce descrizione del contenuto dei file XML di configurazione. middleware config.xml Il root tag <middleware> deve contenere i seguenti Child Node: <architecture>: indica il tipo di architettura del sistema, e.g. P2P <transport>: indica il protocollo da utilizzare per le comunicazioni, e.g. TCP <file transfer policy>: indica la politica di trasferimento dei File, e.g. PUSH <global logger wsdl>: contiene l URL dove trovare il file WSDL di descrizione del servizio di Logging globale, e.g. GlobalLogger?wsdl <global monitor wsdl>: contiene l URL dove trovare il file WSDL di descrizione del servizio di Monitor globale, e.g. GlobalMonitor?wsdl <local coordinator wsdl>: contiene l URL dove trovare il file WSDL di descrizione del servizio Coordinatore locale responsabile per le transazioni, e.g. TransactionCoordinatorService/ TransactionCoordinator?wsdl <replica response port>: indica da quale porta iniziare la scansione atta a trovare una porta libera per ricevere i response dal servizio di replica, e.g

9 discovery peer.xml Il root tag <discovery> deve contenere un numero N di elementi <peer> ognuno dei quali deve avere i seguenti Child Node: <ip>: indica l IP del peer conosciuto dal Discovery, e.g <port>: indica la porta sul cui contattare il peer, e.g <rm wsdl>: contiene l URL dove trovare il file WSDL di descrizione del Replica Manager del peer, e.g. ReplicaManager?wsdl peer config.xml Il root tag <peer config> deve contenere i seguenti Child Node : <ip> : Indirizzo IP del peer corrente, e.g <port>: Porta su cui contattare il peer corrente, e.g coordinator config.xml Il root tag <coordinator> deve avere l attributo id contenente un valore univoco che identifichi il coordinator (e.g. hash dell IP oppure random hash). Il tag <coordinator> deve contenere un elemento <timeouts> composto da elementi <timeout> con un attributo name rappresentante il nome del timeout e come contenuto il valore del timeout. I timeout da dichiarare sono i seguenti: voting single: timeout sulla singola richiesta di voto, e.g voting total: durata del timeout globale della fase di voto della transazione, e.b voting delta: delta associato all inizio di una nuova richiesta di voto, e.g completition single: timeout sulla singola richiesta di completamento, e.g completition max retry: numero massimo di ritrasmissioni in caso di timeout nella fase di completamento, e.g. 3 replica manager config.xml Il root tag <replica manager> deve contenere un singolo elemento, <wsdl url>, contenente l URL del Replica Manager da configurare. 8

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

31/05/2013. Sistemi Web Distribuiti (parte 2) - Indice dei Contenuti - Naming. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

31/05/2013. Sistemi Web Distribuiti (parte 2) - Indice dei Contenuti - Naming. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /28 Sistemi Web Distribuiti (parte 2) - Indice dei Contenuti - Naming 3 Sincronizzazione 4 Consistenza e Replica 5 Replica di sistemi

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

INDICE. Indice. Introduzione

INDICE. Indice. Introduzione V Indice Introduzione XIII Capitolo 1 La programmazione multithread 1 1.1 Cosa sono i thread 2 Utilizzare i thread per dare una possibilità ad altri task 9 Avvio ed esecuzione dei thread 10 Esecuzione

Dettagli

Cenni di JBoss Clustering

Cenni di JBoss Clustering Cenni di JBoss Clustering Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2012/2013 Corso di Sistemi Distribuiti M Cenni di Clustering di Applicazioni in JBoss Application

Dettagli

Basi di Dati Distribuite

Basi di Dati Distribuite Basi di Dati Distribuite P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (McGraw-Hill Italia) Basi di dati: architetture linee di evoluzione - seconda edizione Capitolo 3 Appunti dalle lezioni SQL come DDL

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

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

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio QUEUE : considerazioni QUEUE : considerazioni Si è realizzata una struttura dati complessa utilizzandone una primitiva, l array. Il pregio di tale implementazione è il basso costo computazionale, mentre

Dettagli

JSIS JSIS L architettura JSIS

JSIS JSIS L architettura JSIS JSIS JSIS L architettura JSIS La piattaforma JSIS Java Solution Integrated Suites, interamente realizzata dai nostri laboratori di sviluppo software, è una soluzione che integra la gestione di diverse

Dettagli

Algoritmi per protocolli peer-to-peer

Algoritmi per protocolli peer-to-peer Algoritmi per protocolli peer-to-peer Introduzione Livio Torrero (livio.torrero@polito.it) 09/2009 Approccio client-server (1/2) Client 1 Client 3 Server Client 2 Client 4 Paradigma molto comune Un client

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

Dettagli

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015 Web Container vs. EJB Container Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura Tecnologie Web T - J2EE Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione

Dettagli

ProxyIGRUE v.2.0.2. Alimentazione dati di attuazione. Manuale Utente

ProxyIGRUE v.2.0.2. Alimentazione dati di attuazione. Manuale Utente ProxyIGRUE v.2.0.2 Alimentazione dati di attuazione Manuale Utente 1/20 Indice 1. Introduzione...3 2. Documentazione...3 3. Setup del ProxyIGRUE v2...3 1.1 Censimento presso il Sistema Informativo IGRUE...3

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Manuale d uso della libreria Volta Log

Manuale d uso della libreria Volta Log Manuale d uso della libreria Volta Log www.satellitevolta.com 1 www.satellitevolta.com 2 [Rif.01] Pacchetto di distribuzione di Volta Log (volta-log-x.y.z.* scaricabile da http://sourceforge.net/projects/voltalog/files/?source=navbar)

Dettagli

Internet e la Banca. Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Banking Solutions & Technologies Gruppo AIVE

Internet e la Banca. Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Banking Solutions & Technologies Gruppo AIVE Internet e la Banca Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Gruppo AIVE 1 Scenario Le BANCHE in Italia, al contrario delle concorrenti europee, hanno proposto, sul mercato dei nuovi

Dettagli

Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA

Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA Messa in esercizio, assistenza e aggiornamento di una Piattaform Open Source Liferay plug-in per ARPA Pag. 1 di 16 Redatto da F. Fornasari, C. Simonelli, E. Croci (TAI) Rivisto da E.Mattei (TAI) Approvato

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

TRANSAZIONI DISTRIBUITE TRANSAZIONI

TRANSAZIONI DISTRIBUITE TRANSAZIONI TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

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

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

REGIONE TOSCANA GERTIC. Documentazione di progetto. Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574.

REGIONE TOSCANA GERTIC. Documentazione di progetto. Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574. REGIONE TOSCANA GERTIC Documentazione di progetto Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574.551195 www.netstudio.it INFORMAZIONI DOCUMENTO PROGETTO GeRTIC Gestione

Dettagli

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 Pag. 2 di 12 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO

Dettagli

Cluster per architetture a componenti

Cluster per architetture a componenti Luca Cabibbo Architetture Software Cluster per architetture a componenti Dispensa ASW 442 ottobre 2014 Un buon progetto produce benefici in più aree. Trudy Benjamin 1 -Fonti [IBM] Clustering Solutions

Dettagli

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

Installazione e setup del sistema di monitoring del Trigger Supervisor. Sabato Stefano Caiazza Installazione e setup del sistema di monitoring del Trigger Supervisor Sabato Stefano Caiazza 18 febbraio 2008 Struttura del Trigger Supervisor in funzione del monitoring Il Daemon XDAQD Nel suo setup

Dettagli

Introduzione ad Architetture Orientate ai Servizi e Web Service

Introduzione ad Architetture Orientate ai Servizi e Web Service Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno

Dettagli

NEAL. Increase your Siebel productivity

NEAL. Increase your Siebel productivity NEAL Increase your Siebel productivity Improve your management productivity Attraverso Neal puoi avere il controllo, in totale sicurezza, di tutte le Enterprise Siebel che compongono il tuo Business. Se

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1 + Programmazione concorrente in Java 1 + Introduzione al multithreading 2 La scomposizione in oggetti consente di separare un programma in sottosezioni indipendenti. Oggetto = metodi + attributi finalizzati

Dettagli

Supporto per servizi di File Hosting

Supporto per servizi di File Hosting Supporto per servizi di File Hosting Progetto per il corso di Reti di Calcolatori LS a.a 2005-2006 Valerio Guagliumi 0000236769 Abstract Questa relazione descrive il progetto realizzato di un sistema di

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA-SPF-1.0 Versione del 18.04.2001 SOMMARIO 1 INTRODUZIONE

Dettagli

Il Progetto SITR. L architettura applicativa

Il Progetto SITR. L architettura applicativa Il Progetto SITR Il progetto prevede la realizzazione di un Sistema Informativo Territoriale e di una Infrastruttura dei Dati Territoriali unica, scalabile e federata (SITR IDT) costituiti da risorse tecnologiche

Dettagli

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location

Dettagli

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti EJB Components Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Oggetti Distribuiti 2 Middleware Esplicito 3 Middleware Implicito 4 Tipica Applicazione J2EE 1/2 5 Tipica Applicazione J2EE 2/2 6

Dettagli

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE ARCHITETTURE DEI SISTEMI DI ELABORAZIONE 1 SISTEMI ACCENTRATI CARATTERISTICHE Sistemi proprietari Monocultura Scarsa diffusione informatica Backlog 2 Soluzione centralizzata TERMINALE TERMINALE ELABORATORE

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows

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

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

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

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Messaggi volatili. Matteo Zignani. 10 gennaio 2015

Messaggi volatili. Matteo Zignani. 10 gennaio 2015 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Messaggi volatili Matteo Zignani 10 gennaio 2015 1 PRESENTAZIONE DEL PROBLEMA Lo studente

Dettagli

Registrazione delle attività e diagnostica di base delle problematiche di mancata ricezione

Registrazione delle attività e diagnostica di base delle problematiche di mancata ricezione Registrazione delle attività e diagnostica di base delle problematiche di mancata ricezione Ciascun servizio di IceWarp Server permette di impostare un livello di registrazione dell'attività che mantenga

Dettagli

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

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

Framework di Middleware. per Architetture Enterprise

Framework di Middleware. per Architetture Enterprise Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia

Dettagli

Gestione XML della Porta di Dominio OpenSPCoop

Gestione XML della Porta di Dominio OpenSPCoop i Gestione XML della Porta di Dominio ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Hello World! 2 3 Configurazione XML della Porta di Dominio 5 3.1 Soggetto SPCoop...................................................

Dettagli

Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi

Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi Implementazione di una MIDlet che realizza un sistema di voto Christian Tiralosi Sviluppatori:

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

Introduzione ad Active Directory. Orazio Battaglia

Introduzione ad Active Directory. Orazio Battaglia Introduzione ad Active Directory Orazio Battaglia Introduzione al DNS Il DNS (Domain Name System) è un sistema utilizzato per la risoluzione dei nomi dei nodi della rete (host) in indirizzi IP e viceversa.

Dettagli

WebSphere WebSphere Extended Deployment Versione 6.0.x. Guida al modello di programmazione ObjectGrid

WebSphere WebSphere Extended Deployment Versione 6.0.x. Guida al modello di programmazione ObjectGrid WebSphere WebSphere Extended Deployment Versione 6.0.x Guida al modello di programmazione ObjectGrid Nota Prima di utilizzare queste informazioni, assicurarsi di avere letto le informazioni generali in

Dettagli

License Service Manuale Tecnico

License Service Manuale Tecnico Manuale Tecnico Sommario 1. BIM Services Console...3 1.1. BIM Services Console: Menu e pulsanti di configurazione...3 1.2. Menù Azioni...4 1.3. Configurazione...4 1.4. Toolbar pulsanti...5 2. Installazione

Dettagli

Definizione delle interfacce di colloquio fra le componenti

Definizione delle interfacce di colloquio fra le componenti Definizione delle interfacce di colloquio fra le componenti 1 DOCUMENTO:. v 1.1 Emesso da: EMISSIONE VERIFICA APPROVAZIONE Nome Luca Menegatti firma Verificato da: Giancarlo Savoia Approvato da: Angelo

Dettagli

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche 5.1 Implementazione dei monitor con i semafori Un monitor è un tipo di

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

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

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

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

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti

Dettagli

Java Web Services. Uso di Eclipse e Apache Axis

Java Web Services. Uso di Eclipse e Apache Axis Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti

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

IGRUE Alimentazione dati di attuazione

IGRUE Alimentazione dati di attuazione IGRUE Alimentazione dati di attuazione Manuale Utente v. 1.0 1/24 Indice 1. Introduzione...3 1.1 Modulo di Spedizione dei Dati di Attuazione...4 1.2 Modulo di Raccolta degli Eventi...5 1.3 Modulo di Raccolta

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 Prerequisiti per

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Basi di Dati prof. A. Longheu. 5 Progettazione fisica Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione

Dettagli

Visione Generale. Versione 1.0 del 25/08/2009

Visione Generale. Versione 1.0 del 25/08/2009 Visione Generale Versione 1.0 del 25/08/2009 Sommario 1 Premessa... 4 2 Le componenti applicative... 6 2.1 Porta di dominio... 7 2.2 Infrastrutture per la cooperazione... 9 2.2.1 Registro degli Accordi

Dettagli

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche. Query/update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura pagine Architettura di un DBMS Utente/Applicazione

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4 i Manuale Gestione di OpenSPCoop 1.4 ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Prerequisiti per la Configurazione della Porta di Dominio 1 2.1 Verifica dell applicazione di gestione

Dettagli

Relazione Progetto. Restaurant Manager. Corso: Programmazione ad oggetti Anno scolastico 2014/2015. Sara Sintoni Matteo Venditto

Relazione Progetto. Restaurant Manager. Corso: Programmazione ad oggetti Anno scolastico 2014/2015. Sara Sintoni Matteo Venditto Relazione Progetto Restaurant Manager Corso: Programmazione ad oggetti Anno scolastico 2014/2015 Autori: Daniele Rosetti Sara Sintoni Matteo Venditto Indice 1. Analisi 3 1.1 Requisiti... 3 1.2 Problema...

Dettagli

Motore di riempimento DB (generatore dati per simulazione)

Motore di riempimento DB (generatore dati per simulazione) SISTEMI DISTRIBUITI prof. S.Pizzutilo Motore di riempimento DB (generatore dati per simulazione) Studente: Alessandro Balestrucci 617937 Corso di Laurea: Informatica Magistrale Dipartimento di Informatica

Dettagli

1. ABSTRACT 2. INTRODUZIONE PROGETTO DI UN INFRASTRUTTURA GERARCHICA PER SERVIZI DI FILE HOSTING

1. ABSTRACT 2. INTRODUZIONE PROGETTO DI UN INFRASTRUTTURA GERARCHICA PER SERVIZI DI FILE HOSTING PROGETTO DI UN INFRASTRUTTURA GERARCHICA PER SERVIZI DI FILE HOSTING 1. ABSTRACT Al giorno d oggi, l enorme diffusione di contenuti multimediali quali, ad esempio, video ad alta definizione piuttosto che

Dettagli

Sistemi Web Tolleranti ai Guasti

Sistemi Web Tolleranti ai Guasti Sistemi Web Tolleranti ai Guasti Candidato: Paolo Romano Relatore: Prof. Salvatore Tucci Correlatore: Prof. Bruno Ciciani Sommario Il problema: garantire semantica exactly once alle transazioni Web. Sistema

Dettagli

INSTALLAZIONE E UTILIZZO CONVERTITORE PDF WSO2PDF 1.00

INSTALLAZIONE E UTILIZZO CONVERTITORE PDF WSO2PDF 1.00 Pagina 1 di 16 INSTALLAZIONE E UTILIZZO CONVERTITORE PDF WSO2PDF 1.00 1 SCOPO Lo scopo di questo documento è di fornire supporto tecnico per l installazione e la configurazione del prodotto Convertitore

Dettagli

Manuale di Integrazione IdM-RAS

Manuale di Integrazione IdM-RAS IdM-RAS Data: 30/11/09 File: Manuale di integrazione IdM-RAS.doc Versione: Redazione: Sardegna IT IdM-RAS Sommario 1 Introduzione... 3 2 Architettura del sistema... 4 2.1 Service Provider... 4 2.2 Local

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

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

OpenSPCoop: Guida di Installazione i. OpenSPCoop: Guida di Installazione

OpenSPCoop: Guida di Installazione i. OpenSPCoop: Guida di Installazione i OpenSPCoop: Guida di Installazione ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : OpenSPCoop: Guida di Installazione AZIONE NOME DATA FIRMA A CURA DI 3 aprile 2009 CRONOLOGIA DELLE

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.6 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

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

Struttura della lezione. Lezione 9 Architetture dei sistemi distribuiti (2) Il valore aggiunto di una rete di N utenti

Struttura della lezione. Lezione 9 Architetture dei sistemi distribuiti (2) Il valore aggiunto di una rete di N utenti Struttura della lezione Lezione 9 Architetture dei sistemi distribuiti (2) Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9 Prefazione... 1 Contenuti... 1 Ringraziamenti... 2 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 1.1 Dichiarazione di funzioni e procedure... 3 1.2 Istruzioni PSM... 4 2 Vincoli e Trigger...

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

TFS2010 Object Model Le build

TFS2010 Object Model Le build TFS2010 Object Model Le build La Team Foundation Build è il pilastro dell infrastruttura di Visual Studio ALM che permette la compilazione autonoma del codice sorgente da parte di un server, eliminando

Dettagli

Master Quiz. Matteo Zignani. 18 agosto 2014

Master Quiz. Matteo Zignani. 18 agosto 2014 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Master Quiz Matteo Zignani 18 agosto 2014 1 PRESENTAZIONE DEL PROBLEMA Lo studente

Dettagli

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli