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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Applicazione: OIL Online Interactive helpdesk

Applicazione: OIL Online Interactive helpdesk Riusabilità del software - Catalogo delle applicazioni: Gestione ICT Applicazione: OIL Online Interactive helpdesk Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi

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

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

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

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

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

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

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

Enterprise Content Management

Enterprise Content Management Enterprise Content Management SOLUZIONI PER LA COLLABORAZIONE SOCIAL Condividi l informazione, snellisci I flussi, ottimizza la produttività Freedoc è un applicazione documentale multicanale per il trattamento

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

Componenti (middleware)

Componenti (middleware) Luca Cabibbo Architetture Software Componenti (middleware) Dispensa ASW 850 ottobre 2014 Le interfacce dei componenti devono essere progettate in modo che ciascun componente possa essere implementato in

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

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

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

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

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

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

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna Web Service: Introduzione 1 Contenuti Background.NET Framework ASP.NET Web Service Concetti e architetture Progettazione e sviluppo di Web Service Utilizzo di Web Service 2 Sezione 1: Introduzione Inquadramento

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

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO Componenti di so 1 Componenti di Sistemi Operativi System Call Programmi di sistema Componenti di un SO Servizi di SO 2 System Call Le system call forniscono l'interfaccia tra running program e SO Generalmente

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

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

BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei

BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei Corso di Laurea Specialistica in Ingegneria Informatica Reti di Calcolatori LS prof. Antonio Corradi BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei di Emanuele Crescentini

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

AXIS2 Quick Start Pagina 1 AXIS2 QUICK START

AXIS2 Quick Start Pagina 1 AXIS2 QUICK START AXIS2 Quick Start Pagina 1 1. Introduzione AXIS2 QUICK START Apache-Axis2 implementa le API di JAX-WS (javax.jws.*) per semplificare lo sviluppo e la distribuzione di Java Web Services (JWS) basati sul

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

Music Everywhere with BT

Music Everywhere with BT Music Everywhere with BT Acquaviva Luca 231767 luca.acquaviva@studio.unibo.it Colombini Gabriele 231491 gabriele.colombini@studio.unibo.it Manservisi Alberto 258370 alberto.manservisi@studio.unibo.it Abstract

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

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

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

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

L'infrastruttura tecnologica Oracle Workflow alla base del progetto di Valutazione di Impatto Ambientale

L'infrastruttura tecnologica Oracle Workflow alla base del progetto di Valutazione di Impatto Ambientale L'infrastruttura tecnologica Oracle Workflow alla base del progetto di Valutazione di Impatto Ambientale Andrea Morena Roma, 10 maggio 2005 Senior Principal Sales Consultant Oracle Italia Progetto di Valutazione

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

CdL MAGISTRALE in INFORMATICA A.A. 2014-15 corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo

CdL MAGISTRALE in INFORMATICA A.A. 2014-15 corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo CdL MAGISTRALE in INFORMATICA A.A. 2014-15 corso di Sistemi Distribuiti 8. Le architetture (prima parte) Prof. S.Pizzutilo I Sistemi Distribuiti Un Sistema Distribuito è un insieme di processori indipendenti

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

Manuale di installazione dei servizi ACI

Manuale di installazione dei servizi ACI Titolo Manuale di installazione dei servizi ACI Cliente Progetto Redatto da Massimiliano Ferla, Stefano Turrini Data 21/10/2009 Verificato da Approvato da Data Data Stato Versione 1.1.0 Pagine 18 Nome

Dettagli

MailServer. Daniele Dolfini, Giovanni Franza, Neil Otupacca IPAP3 2010/2011. Relazione sulla costruzione del sistema di messaggeria elettronica.

MailServer. Daniele Dolfini, Giovanni Franza, Neil Otupacca IPAP3 2010/2011. Relazione sulla costruzione del sistema di messaggeria elettronica. MailServer Daniele Dolfini, Giovanni Franza, Neil Otupacca IPAP3 2010/2011 Relazione sulla costruzione del sistema di messaggeria elettronica. Parte relativa ai server Giovanni Franza Sono stati implementati

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

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

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

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

Architetture di sistema

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

Dettagli

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione GUIDA INTEGRATIVA ALL INSTALLAZIONE DEL SENDER Versione N.1.0 Data 11/05/2009 Versione 1.0, Data emissione 11/05/2009 Pag. 1 di 15 Revisione Capitolo Modifica Data 1.0 Prima Emissione 11/05/2009 Versione

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

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

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

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

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java

Dettagli

Enterprise Content Management

Enterprise Content Management Enterprise Content Management SOLUZIONI PER LA COLLABORAZIONE SOCIAL Condividi l informazione, snellisci I flussi, ottimizza la produttività Solgenia Freedoc è un applicazione documentale multicanale per

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

LSF. lab solution LOG SYSTEM FRAMEWORK. Pagina 1 di 14

LSF. lab solution LOG SYSTEM FRAMEWORK. Pagina 1 di 14 LOG SYSTEM FRAMEWORK Pagina 1 di 14 Introduzione Il logging è una componente importante del ciclo di sviluppo del codice. Log System Framework fornisce precise informazioni circa il contesto di esecuzione

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 5 Martedì 18-03-2014 1 Livello di applicazione Architetture

Dettagli

8. Sistemi Distribuiti e Middleware

8. Sistemi Distribuiti e Middleware 8. Sistemi Distribuiti e Middleware Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 8. Sistemi distribuiti e Middleware 1 / 32 Sommario 1 Sistemi distribuiti

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

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

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

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

Altri tipi di connessione

Altri tipi di connessione Altri tipi di connessione Francesca Martelli f.martel@di.unipi.it Socket Un socket è una connessione a una porta su un computer remoto, che è usata per scambiare informazioni con comandi HTTP Supponiamo

Dettagli

PRACTICAL DEVELOPMENT OF A WEB SERVICE

PRACTICAL DEVELOPMENT OF A WEB SERVICE PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo

Dettagli

Progetto di rete: Capacity Planning

Progetto di rete: Capacity Planning Progetto di rete: Capacity Planning Il Capacity Planning comprende tutta una serie di attività, che vanno dal monitoraggio e controllo dei carichi di rete al design della topologia, mediante le quali si

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli