Protocol WAMP

WAMP is een open WebSocket-subprotocol dat twee asynchrone berichtenpatronen biedt: RPC en PubSub.

 

Technisch gezien is WAMP een officieel geregistreerd WebSocket-subprotocol (draait bovenop WebSocket) dat JSON gebruikt als berichtserialisatieformaat.

 

Wat is RPC?

 

Remote Procedure Call (RPC) is een berichtenpatroon waarbij peers twee rollen vervullen: client en server.

Een server biedt methoden of procedures aan die kunnen worden aangeroepen via bekende eindpunten.

Een client roept externe methoden of procedures aan door het methode- of procedureeindpunt en eventuele argumenten voor de aanroep te verstrekken.

De server voert de methode of procedure uit met de opgegeven argumenten voor de aanroep en retourneert het resultaat van de aanroep naar de client.

 

What is PubSub?

 

Publish & Subscribe (PubSub) is een berichtenpatroon waarbij peers drie rollen hebben: uitgever, abonnee en broker.

A publisher sends (publishes) an event by providing a onderwerp (aka kanaal) as the abstract address, not a specifiek peer.

Een subscriber ontvangt events door eerst de topics (ook wel channels genoemd) op te geven waarin hij geïnteresseerd is. Vervolgens ontvangt de subscriber alle events die naar die topic worden gepubliceerd.

De broker bevindt zich tussen uitgevers en abonnees en bemiddelt berichten die worden gepubliceerd naar abonnees. Een broker houdt lijsten bij van abonnees per onderwerp zodat nieuw gepubliceerde gebeurtenissen naar de juiste abonnees kunnen worden verzonden.

Een broker kan ook zelf gebeurtenissen verzenden, bijvoorbeeld wanneer de broker ook als RPC-server fungeert en een methode die op de server wordt uitgevoerd, een PubSub-gebeurtenis moet activeren.

Samengevat ontkoppelt PubSub uitgevers en ontvangers via een tussenpersoon, de broker.

 

 

Componenten

TsgcWSPServer_WAMP: Server Protocol WAMP VCL-component.

 

TsgcWSPClient_WAMP: Client Protocol WAMP VCL-component.

 

Javascript-component: Javascript-referentie voor clients.

 

 

Meest voorkomende toepassingen

 

Browsertest

Als u dit protocol wilt testen met uw favoriete webbrowser, typt u deze URL (u moet uw eigen host en poort definiëren)

 

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