Autori

  • Riccardo Maldini
  • Francesco Gorini

Sommario

Nell’ambito dei sistemi distribuiti, sempre più si fa largo l’esigenza di scambiare dati velocemente tramite web browser. Applicazioni come giochi online multiplayer, ad esempio, richiedono sempre più through-put elevato e latenza ridotta; le connessioni devono rimanere attive per lunghi periodi di tempo, con update frequenti e bidirezionali. Protocolli quali HTTP, anche nelle versioni più recenti, presentano pesanti limitazioni sotto questo punto di vista. Risulta inoltre difficile separare lo strato middleware dal resto del sistema, rendendo trasparente la logica sottostante.
Tra i possibili approcci pensati per superare queste limitazioni, ne esiste uno molto particolare e poco conosciuto, che sfrutta in combinazione le peculiarità di tre di differenti tecnologie: il protocollo WebSocket, il protocollo STOMP e i broker di messaggistica.
In primo luogo, WebSocket supporta comunicazioni bi-direzionali, e consente di mantenere aperta la connessione per lunghi periodi di tempo. Risulta inoltre facilmente e ampiamente applicato nelle comunicazioni asincrone via browser.
STOMP è invece un protocollo progettato per permettere uno scambio asincrono di messaggi tra client, sfruttando un nodo server centrale che agisce da mediatore. La sua implementazione standard agisce su TCP, ma una sua estensione molto popolare poggia su WebSocket (StompOverWebsocket), estendendo quest’ultimo con le peculiarità del modello publish-subscribe.
Quindi uno stato middleware, basato su broker di messaggistica, consente di ottenere prestazioni elevate in termini di throughput e latenza.
Questo progetto si propone in particolare di approfondire il secondo aspetto citato: il protocollo STOMP, dimostrando come applicarlo in modo specifico ad un sistema Linda-based ad agenti. Ciò permette di mostrare caratteristiche e peculiarità del protocollo, e di fornire un modello di partenza per altri progetti basati su queste tecnologie.

Materiali

    

Corso

Sistemi distribuiti

— a.a.

2019/2020

— crediti

6

— livello

Laurea Magistrale

— lingua di insegnamento

wit.gif

Docenti

— professore/ssa

Andrea Omicini

— tutor

Giovanni Ciatto

Contesto

— università

Alma Mater Studiorum-Università di Bologna

— campus

Cesena

— dipartimento / facoltà / scuola

DISI

— corso di laurea magistrale

8614 Ingegneria e scienze informatiche 

URL & ID

pagina AMS
IoL
orario ufficiale

— ID corso

58260

Partita IVA: 01131710376 - Copyright © 2008-2021 APICe@DISI Research Group - PRIVACY