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

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

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

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

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

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

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

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

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

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

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

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

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

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

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

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

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

19. LA PROGRAMMAZIONE LATO SERVER

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

Dettagli

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

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

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

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

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

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

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

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

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

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

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

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

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

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

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

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

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

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

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

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

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

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

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA Pag. 1 di 16 WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA Pag. 1 di 16 Pag. 2 di 16 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO ESTERNO...

Dettagli

MIXER: gestione trasmissioni DJ: governance di MIXER

MIXER: gestione trasmissioni DJ: governance di MIXER MIXER-DJ MIXER: gestione trasmissioni DJ: governance di MIXER MIXER Mixer è un ambiente applicativo di tipo Enterprise Service Bus (ESB) per la gestione delle trasmissioni di file su Linux. All'interno

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

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

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

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Nel caso di successo, i risultati delle operazioni effettuate devono essere resi definitivi; invece,

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

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

TeamUpdate Client. TeamPortal TeamUpdate Client 20120300

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

Dettagli

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

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

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

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter UNIVERSITÀ DEGLI STUDI DI MILANO, DIPARTIMENTO DI INFORMATICA LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE CORSO DI RETI DI CALCOLATORI ANNO ACCADEMICO 2011/2012 Progetto Febbraio 2013 - Appello 1: Diffusione

Dettagli

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

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

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

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

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

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

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

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

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

Manuale LiveBox CLIENT DESKTOP (WINDOWS)

Manuale LiveBox CLIENT DESKTOP (WINDOWS) 2014 Manuale LiveBox CLIENT DESKTOP (WINDOWS) LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa o implicita di

Dettagli

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it Corso GNU/Linux - Lezione 6 Davide Giunchi - davidegiunchi@libero.it Riepilogo TCP/IP Ogni host nella rete deve avere un proprio indirizzo ip Due o piu computer nella stessa rete, per poter comunicare

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni Capitolo 13 Gestione delle transazioni Transazioni L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché gli accessi al disco sono frequenti e relativamente

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

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

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

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

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

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

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

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

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

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

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

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

INTEGRAZIONE ANAGRAFE DALL APPLICATIVO

INTEGRAZIONE ANAGRAFE DALL APPLICATIVO INTEGRAZIONE ANAGRAFE DALL APPLICATIVO DI CARTELLA MMG/PLS CICOM PROGETTO ESECUTIVO DEFINITIVO Accordo di Programma Quadro "Sviluppo della Società dell'informcazione nella Regione Abruzzo" Atto Integrativo

Dettagli

8 Tecniche di recovery

8 Tecniche di recovery 8 Tecniche di recovery Se viene sottomessa una transazione T, o tutte le operazioni di T sono completate ed il loro effetto è registrato permanentemente nel DB, o T non ha nessun effetto né sul DB né su

Dettagli

Manuale utente Volta Control

Manuale utente Volta Control Manuale utente Volta Control www.satellitevolta.com 1 www.satellitevolta.com 2 Volta Control è un tool che permette la progettazione, l implementazione e la gestione di database Cassandra tramite interfaccia

Dettagli

Multi-layer switch commutazione hardware a vari livelli. Mario Baldi. Politecnico di Torino. http://staff.polito.it/mario.baldi

Multi-layer switch commutazione hardware a vari livelli. Mario Baldi. Politecnico di Torino. http://staff.polito.it/mario.baldi Multi-layer switch commutazione hardware a vari livelli Mario Baldi Politecnico di Torino http://staff.polito.it/mario.baldi Basato sul capitolo 10 di: M. Baldi, P. Nicoletti, Switched LAN, McGraw-Hill,

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

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

La Document Orientation. Come implementare un interfaccia

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

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

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