Timeline
Chat
Prospettiva

Streaming Text Oriented Messaging Protocol

protocollo di comunicazione Da Wikipedia, l'enciclopedia libera

Remove ads

Streaming (o Simple) Text Oriented Message Protocol (STOMP), precedentemente noto come TTMP, è un semplice protocollo di comunicazione basato sul testo (text-based), di livello applicativo nella pila ISO/OSI, progettato per lavorare con middleware orientati ai messaggi (MOM). Fornisce un wire format interoperabile che consente ai client STOMP di parlare con qualsiasi broker di messaggi che supporti il protocollo.[1]

Remove ads

Descrizione

Riepilogo
Prospettiva

Il protocollo è sostanzialmente simile a HTTP e funziona su TCP utilizzando i seguenti comandi (frame lato client):

  • CONNECT (dalla versione 1.0) o STOMP (dalla versione 1.2)[2] (utilizzato dal client che deve specificare l'header host, per indicare con quale host virtuale desidera connettersi, e l'header accept-version, per indicare la versione del protocollo STOMP che supporta)[2]
  • SEND (utilizzato dal client che vuole comportarsi da produttore nel problema del produttore/consumatore)[2]
  • SUBSCRIBE (utilizzato dal client che vuole comportarsi da consumatore nel problema del produttore/consumatore, indicando la coda o il topic di destinazione verso cui vuole consumare)[2]
  • UNSUBSCRIBE
  • BEGIN (per iniziare una transazione, specificando obbligatoriamente un identificatore della transazione con l'header transaction)[3]
  • COMMIT (per fare il commit di una transazione in corso, specificandone obbligatoriamente l'identificatore)[4]
  • ABORT (per fare il rollback di una transazione in corso, specificandone obbligatoriamente l'identificatore)[5]
  • ACK (per indicare di aver consumato un messaggio proveniente da una sottoscrizione che si è effettuata)[6]
  • NACK (per indicare di non aver consumato un messaggio)[6]
  • DISCONNECT (per disconnettersi dal server e chiudere la socket, in modo asincrono)[7]

La comunicazione da client a server avviene attraverso un “frame” lato client tra quelli precedentemente indicati, composto da un certo numero di righe. La prima riga contiene il comando, seguito da intestazioni nella forma <chiave>: <valore> (una per riga), seguita da una riga vuota e quindi dal contenuto del corpo, che termina con un carattere null. La comunicazione da server a client avviene attraverso i frame lato server MESSAGE, RECEIPT o ERROR con un formato simile di intestazioni e contenuto del corpo. La codifica di caratteri utilizzata di default da STOMP è UTF-8.[2]

Remove ads

Implementazioni

Tra i prodotti MOM che supportano STOMP, vi sono:

Tra le librerie per utilizzare STOMP dal lato client, vi sono stomp.py per Python e Net::STOMP::Client per Perl.[14]

Note

Collegamenti esterni

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads