Getting Started with WAMP 
WAMP is a routed protocol for distributed applications with all application components connecting to a WAMP Router, where the WAMP Router performs message routing between them. WAMP provides two communication patterns: Publish-Subscribe and Routed Remote Procedure Calls.
Establishing a Session 
The typical data exchange workflow is:
- Clients connect to the Router using a transport, serialisation format and authentication method of choice, establishing a session onto a realm.
 - The Router authenticates the clients and grants them permissions for the current session.
 - Clients send messages to the router which routes them to the targets using message URIs.
 
Routed RPC Message Flows 
The clients send these messages using the two high-level primitives that are routed RPC and PubSub, doing four core interactions:
register: a client (Callee) exposes a procedure to be called remotely with an URI (also a URI pattern if Router provides this feature).
bashsession.register("com.example.add", [], {}, fun(a, b){return a + b})call: a client (Caller) asks the Router to invoke procedure from another client by providing the procedure URI.
bashRes = session.call("com.example.add", [3, 4]) // Res = 7
Pub/Sub Message Flows 
- subscribe: a client (Subscriber) notifies its interest in a topic, by providing the topic URI (or URI pattern).
 - publish: a client (Publisher) publishes events on a topic, by providing the topic URI.
 
