Protocol WAMP

WAMP is an open WebSocket subprotocol that provides two asynchronous messaging patterns: RPC and PubSub.

 

Technically, WAMP is an officially registered WebSocket subprotocol (runs on top of WebSocket) that uses JSON as message serialization format.

 

What is RPC?

 

Remote Procedure Call (RPC) is a messaging pattern involving peers to two roles: client and server.

A server provides methods or procedure to call under well-known endpoints.

A client calls remote methods or procedures by providing the method or procedure endpoint and any arguments for the call.

The server will execute the method or procedure using the supplied arguments to the call and return the result of the call to the client.

 

What is PubSub?

 

Publish & Subscribe (PubSub) is a messaging pattern involving peers of three roles: publisher, subscriber and broker.

A publisher sends (publishes) an event by providing a topic (aka channel) as the abstract address, not a specific peer.

A subscriber receives events by first providing topics (aka channels) he is interested. Subsequently, the subscriber will receive any events publishes to that topic.

The broker sits between publishers and subscribers and mediates messages publishes to subscribers. A broker will maintain lists of subscribers per topic so it can dispatch new published events to the appropriate subscribers.

A broker may also dispatch events on its own, for example when the broker also acts as an RPC server and a method executed on the server should trigger a PubSub event.

In summary, PubSub decouples publishers and receivers via an intermediary, the broker.

 

 

Components

  TsgcWSPServer_WAMP: Server Protocol WAMP VCL Component.

 

  TsgcWSPClient_WAMP: Client Protocol WAMP VCL Component.

 

  Javascript Component: Client Javascript Reference.

 

 

Most Common Uses

 

Browser Test

If you want to test this protocol with your favourite Web Browser, please type this URL(you need to define your custom host and port)

 

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