Protocollo WAMP

WAMP è un sottoprotocollo WebSocket aperto che fornisce due modelli di messaggistica asincrona: RPC e PubSub.

 

Tecnicamente, WAMP è un sottoprotocollo WebSocket ufficialmente registrato (eseguito su WebSocket) che utilizza JSON come formato di serializzazione dei messaggi.

 

Cos'è RPC?

 

Remote Procedure Call (RPC) è un pattern di messaggistica che coinvolge peer con due ruoli: client e server.

Un server fornisce metodi o procedure da chiamare sotto endpoint ben noti.

Un client chiama metodi o procedure remote fornendo l'endpoint del metodo o della procedura e gli eventuali argomenti per la chiamata.

Il server eseguirà il metodo o la procedura utilizzando gli argomenti forniti alla chiamata e restituirà il risultato della chiamata al client.

 

Cos'è PubSub?

 

Publish & Subscribe (PubSub) è un pattern di messaggistica che coinvolge peer con tre ruoli: publisher, subscriber e broker.

Un publisher invia (pubblica) un evento fornendo un argomento (detto anche canale) come indirizzo astratto, non un peer specifico.

Un subscriber riceve eventi fornendo prima i topic (detti anche canali) a cui è interessato. Successivamente riceverà tutti gli eventi pubblicati su quel topic.

Il broker si colloca tra i publisher e i subscriber e media i messaggi che i publisher pubblicano verso i subscriber. Un broker mantiene elenchi di subscriber per ogni topic in modo da poter distribuire gli eventi appena pubblicati ai subscriber appropriati.

Un broker può anche inviare eventi di propria iniziativa, ad esempio quando il broker funge anche da server RPC e un metodo eseguito sul server deve attivare un evento PubSub.

In sintesi, PubSub disaccoppia i publisher e i ricevitori tramite un intermediario, il broker.

 

 

Componenti

TsgcWSPServer_WAMP: Componente VCL Protocollo Server WAMP.

 

TsgcWSPClient_WAMP: Componente VCL Client Protocol WAMP.

 

Componente Javascript: Riferimento Javascript per il Client.

 

 

Utilizzi più comuni

 

Browser Test

Per testare questo protocollo con il proprio browser Web preferito, digitare questo URL (è necessario definire il proprio host e porta personalizzati)

 

http://host:port/wamp.esegece.com.html