28.05.2013 Views

download tesi - MobiLab

download tesi - MobiLab

download tesi - MobiLab

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Analisi delle prestazioni delle principali soluzioni<br />

per servizi publish/subscribe<br />

Il layer “Model” offre un insieme di comandi incapsulati in classi e funzionalità che fanno<br />

lavoro utile su richiesta dell„applicazione.<br />

Il layer “Session” offre trasporto affidabile di comandi dall‟applicazione al server e<br />

all‟indietro, sincronizzazione e gestione degli errori.<br />

Il layer “Transport” offre framing, codifica dei dati, rilevamento dei fallimenti e canne<br />

multiplexing [51].<br />

2.8.1 AMQP Model Layer<br />

L‟AMQP Model specifica un insieme modulare di componenti e di regole per connettere<br />

questi componenti tra di loro. Ci sono tre principali tipi di componenti, che sono collegati<br />

in catene di processi all‟interno del server per creare la funzionalità desiderata [51]:<br />

“Exchange” riceve i messaggi dall‟applicazione publisher e instrada questi verso<br />

una coda di messaggi basata su un criterio arbitrario, usualmente proprietà del<br />

messaggio o contenuti.<br />

“Message queue” che memorizza i messaggi finchè essi non possono essere<br />

finalmente processati dall‟applicazione che li consuma o da applicazioni multiple.<br />

“Binding” definisce la relazione tra l‟Exchange e la coda e offre i criteri di routing.<br />

Usando questo modello possiamo emulare i concetti classici di middleware di code “store<br />

and forward” o a sottoscrizione per argomento (topic). In linea di principio, un server<br />

AMQP è analogo a un server di posta elettronica, con ogni Exchange che agisce da agente<br />

di trasferimento messaggi e ogni coda come una mailbox, mentre il binding definisce le<br />

tabelle di routing in ogni agente di trasferimento. I Publisher spediscono messaggi ad un<br />

singolo agente di trasferimento il quale poi instrada i messaggi in una mailbox. I<br />

consumatori infine prendono i messaggi dalle mailbox [54].<br />

Il diagramma che segue mostra la semantica del server che deve essere standardizzata con<br />

l‟intento di garantire la interoperabilità tra le implementazioni AMQP [51]:<br />

64

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!