Utilizzo del protocollo STOMP in un sistema ad agenti Linda-based


Utilizzo del protocollo STOMP in un sistema ad agenti Linda-based

classic project

Authors

Abstract

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.

Outcomes

Courses / Views

Home

Clouds
•  tags  •  project tags  

A.Y.
 2022/2023    2021/2022    2020/2021    2019/2020    2018/2019–1996/1997

Course

— a.y.

2019/2020

— credits

6

— cycle

2nd cycle

— language

wit.gif

teachers

— professor

Andrea Omicini

— tutors

Giovanni Ciatto

context

— university

Alma Mater Studiorum-Università di Bologna

— campus

Cesena

— department / faculty / school

DISI

— 2nd cycle

8614 Ingegneria e scienze informatiche 

URLs & IDs

— course ID

58260

Partita IVA: 01131710376 — Copyright © 2008–2023 APICe@DISI – PRIVACY