Live auction un’ infrastruttura di supporto per aste in tempo reale basata su JMS. Autore: Andrea Ceruti Matricola: 0000223986 Corso: Reti Di Calcolatori.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Architetture dei sistemi distribuiti Prof
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Gestione dei laboratori Come rendere sicura la navigazione internet e l'uso della rete Lorenzo Nazario.
Per crittografia si intende la protezione
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
Integrazione di una piattaforma IPTV in un’architettura SOA
L'innovazione Tecnologica Per Il Federalismo Efficiente Roma 30 Giugno 2005 Sistema Pubblico di Cooperazione Applicativa.
Modello di replicazione attivo e di supporto alla tolleranza ai guasti in ambito MOM Autore: Claudio Fusconi Matricola: Esame: Reti di calcolatori.
Reti di Calcolatori LS Universitá degli Studi di Bologna Remotizzazione del Framework Unibo-env Autrice: Leticia Riestra Ainsua.
Un sistema software per la vendita di prodotti on-line Università degli studi di Bologna Facoltà di ingegneria Reti di calcolatori L-S Studente: Rinaldi.
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
P ROGETTO PERMESSO PER SISTENT MESS AGING IN AD H O C NETWORKS Presentazione di Manuela Bassetti Corso di Reti di Calcolatori L-S AA Progetto.
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
A Reliable Message Oriented Middleware based on Publish and Subscribe paradigm Mirko Matoffi a.a. 2003/2004.
Supporto in RMI per la collaborazione in rete Autore:Vincenzo Coco Matricola: Corso di Reti di Calcolatori LS 2006/2007 Docente: Antonio Corradi.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
High-Available Service Manager Diego Costantini Università degli studi di Bologna Corso di Laurea Specialistica.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Corso di Informatica per Giurisprudenza Lezione 7
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
Middleware di Discovery Avanzato Di Giuseppe Tomaiuoli Mat Reti di Calcolatori LS Prof. Ing. Antonio Corradi.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Il modello di riferimento OSI
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Architettura di storage ad alta affidabilita e bilanciamento di carico per volumi centrali e di esperimento A.Brunengo, M.Corosu INFN Sezione di Genova.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
L’architettura a strati
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
Un sistema per la replicazione ottimistica in una rete di pari Progetto di Reti di calcolatori LS Federico Grassi a.a. 2004/2005.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Reti di computer Condivisione di risorse e
Realizzazione di moduli applicativi per messaggistica e gestione preferenze nel «carpooling» Università degli Studi del Sannio Dipartimento di Ingegneria.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
R.E.V.E.N.G.E. RELIABLE AND VERSATILE NEWS DELIVERY SUPPORT FOR AGENCIES Corso di Reti di Calcolatori LS – AA Professore: Antonio Corradi Referente.
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
Muse2: MUSic Everywhere with WI-FI Progetto realizzato da: Bambini Stefano Bergamini Andrea Pierangeli Diego Bologna C.d.L.S. Ingegneria Informatica.
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Mots, programmazione collaborativa di Ettore Ferranti.
Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Transcript della presentazione:

Live auction un’ infrastruttura di supporto per aste in tempo reale basata su JMS. Autore: Andrea Ceruti Matricola: Corso: Reti Di Calcolatori L-S Docente: Prof. Antonio Corradi Corso di Laurea in Ingegneria Informatica L-S Anno Accademico

Introduzione Live Auction vuole riprodurre l’esperienza di un’ asta in sala su internet, ovvero ricostruire una sala virtuale distribuita sul web. Si è deciso che fosse prioritario permettere alle varie parti del sistema di lavorare in modo indipendente le une dalle altre, per quanto possibile. Sono due le tipologie di utente che interagiscono col sistema:  L’ offerente (bidder).  L’ amministratore (admin). Ciascuno di questi tipi di utente ha a disposizione una diversa applicazione per interagire col sistema.

Obiettivi Applicazione Admin: usata dal battitore dell’ asta, ha come obiettivo quello di fornire informazioni agli offerenti riguardo i lotti oggetto dell’ asta e di ricevere da questi informazioni sulle offerte. Applicazione Bidder: usata dagli offerenti distribuiti su diversi nodi. Riceve informazioni sui lotti oggetto dell’ asta ed ha come obiettivo quello di fornire informazioni al battitore e agli altri offerenti sulle relative offerte.

Caratteristiche della comunicazione Comunicazione push based di tipo molti a molti.  Sia bidder che admin sono produttori e consumatori di informazioni. Numero di client non noto a priori.  I partecipanti all’ asta possono essere numerosi. Asincronicita’:  le parti devono poter comunicare con successo anche se non sono tutte presenti all’atto della comunicazione. Affidabilita:  la comunicazione deve essere affidabile, anche su reti non affidabili, così che le informazioni non vengano perse. Un’ evenutale perdita di informazioni e’ infatti da considerarsi inaccettabile dal momento che i messaggi rappresentano transazioni economiche.

Infrastruttura Middleware Considerate le caratteristiche della comunicazione sono state escluse tecnologie come RMI, RPC che, oltre ad essere sincrone, richiedono una connessione fisica attiva fra il client e il server. Un middleware orientato ai messaggi si adatta bene alle caratteristiche di disaccoppiamento cercate:  permette alle applicazioni di comunicare tramite DESTINAZIONI che non richiedono la presenza contemporanea di mittente e destinatario affinché la consegna avvenga con successo;  permette alle applicazioni di ricevere messaggi in modo asincrono rispetto al flusso di esecuzione dell’applicazione stessa;  supporta il modello di gestione dei messaggi publish/subscribe adatto ad una comunicazione uno a molti o molti a molti. Le API JMS permettono di accedere ai servizi dei messagging system  fornendo un metodo standard tramite il quale le applicazioni possono creare, inviare e ricevere messaggi usando un sistema MOM.

JMS – generalita’ Queue (coda) : realizza il modello di comunicazione point- to-point Topic (topic): realizza il modello di comunicazione publish-subscribe

Architettura logica del sistema Il nucleo centrale del sistema è composto da un topic in cui l’ Admin è publisher di un messaggio chiamato Status contenente le informazioni sui lotti correnti e i bidder sono i subscriber interessati a ricevere questo messaggio. A loro volta i bidder sono publisher di un messaggio chiamato Bid contenente informazioni sulle offerte effettuate e l’ Admin è il subscriber interessato a ricevere questo messaggio.

Architettura logica del sistema

Struttura dei messaggi Bid Andrea moneta romana 2 secolo a.c. Status moneta romana 2 secolo a.c. 250 Andrea Bidder e Admin creano degli oggetti TextMessage che incapsulano un documento XML come stringa Java.

Pubblicazione dei messaggi In fase di pubblicazione il publisher setta il Delivery Mode a PERSISTENT per evitare la perdita di messaggi in caso di caduta del provider. Il JMS provider ActiveMQ si occupa di memorizzare i messaggi in opportune tabelle. Le sottoscrizioni sono state rese durevoli, in modo da consentire la ricezione dei messaggi anche se il client non era in ascolto al momento della generazione del messaggio. L’identificazione univoca del subscriber consente in caso di crash del JMS provider e successivo riavvio, di effettuare il resume del subscriber dallo stato in cui era stato lasciato precedentemente, riprendendo la ricezione dei messaggi. Guaranteed Message Delivery

Message Selectors Vengono specificati in fase di invio del messaggio ed in fase di creazione del consumatore. In fase di creazione del messaggio si aggiunge ad esso una string property di tipo ACTION, il cui valore, settato a ‘bid’ o ‘status’, identifica l’applicazione interessata alla ricezione del messaggio stesso. Dal lato subscriber, in fase di creazione di una sottoscrizione durevole, il metodo createDurableSubscriber permette di specificare come argomento il valore del selector: solo i messaggi con property corrispondente al valore del selector vengono consegnati dal provider JMS. l’ onere di filtrare I messaggi spetta al provider JMS:  ottimizzazione del traffico di rete  semplificazione del codice.

Ricezione dei messaggi La sessione di un subscriber è caratterizzata dalla modalità AUTO_ACKNOWLEDGE. Politica della consegna dei messaggi once-and-only- once.  ottimizzazione del traffico di rete Il subscriber definisce un message listener e ridefinisce il metodo onMessage(). Quando un messaggio arriva alla destinazione d'interesse, il provider JMS provvede ad invocare in maniera asincrona il metodo di callback onMessage(), alla cui esecuzione la sessione riconosce automaticamente il messaggio.

Servizio di login Il nucleo centrale del servizio di login è costituito da due code unidirezionali, loginQueue e confirmQueue, e da due attori, ovvero il Bidder che si vuole autenticare e un servizio autenticatore lato server. Messaggio di LogIn e messaggio di Confirm TimeToLive per entrambi i tipi di messaggi per evitare che, in caso di failure del servizio di autenticazione, non rimangano messaggi inevasi nelle code. LogIn Andrea xxxxx Confirm Andrea true

High Availability e fault tolerance (1/1) Provider JMS punto critico per l’ applicazione. I messaggi vengono replicati su dei broker slave di modo che, in caso di fallimento del master, si ha immediato failover sullo slave senza perdita di messaggi. Utilizzando un DB condiviso e JDBC come connettore si puo’ adottare una configurazione master/slave eseguendo tanti broker quanti si ritengono opportuni; uno slave fornisce un broker hot stand by sempre sincronizzato, pronto a prendere posto se il master s’interrompe in seguito ad hardware failure.

High Availability e fault tolerance (2/2) ActiveMQ mette a disposizione funzionalita’ master/slave per garantire alta disponibilita’ e tolleranza ai guasti Protocollo Failover: utilizzato dai client per connettersi ad uno degli URI specificati (Es: failover:(tcp://broker1:61616,tcp://broker2) ) Il protocolo sceglie casualmente uno degli URI specificati e tenta di stabilire una connessione con esso, se cio’ non avviene una nuova connessione viene stabilita con uno degli altri URI. Per le operazioni di recovery dopo un fallimento un broker ActiveMQ sfrutta un proprio database ACTIVEMQ da cui recupera:  le destinazioni, la lista di “durable subscriptions”, la lista di “acks” per ogni messaggio.

Replicated Message Store JDBC Master/Slave database unico sistema di gestione della persistenza, pertanto singolo punto di fallimento  RAIDb combina molteplici istanze di database in una matrice di database e fornisce affidabilità migliore di quella di un singolo database.  RAIDb-1: DB completamente replicato su ogni macchina. Utilizzando RAIDb-1 si fa riferimento ad un’astrazione di database che in realtà è composto da due backends reali posti su due macchine diverse. Utilizziamo il driver Sequoia, un middleware open source che permette a qualsiasi applicativo di accedere in maniera trasparente ad un cluster di database tramite JDBC.

Conclusioni e sviluppi futuri  L’infrastruttura descritta offre un sistema robusto ed efficiente per la gestione di aste in tempo reale.  Consente affidabilità grazie al Guaranteed Message Delivery e alta disponibilita e tolleranza ai guasti a basso costo. Si dimostra efficiente grazie alla modalita’ di consegna once and only once e all’ ottimizzazione del traffico di rete che si ottiene con l’utilizzo dei message selectors  Possibili miglioramenti possono riguardare l’implementazione di politiche di sicurezza, necessarie dal momento che i messaggi rappresentano transazioni economiche