This article describes both Warewolf Studio and Server communications.
Server Communications
The Warewolf Server utilizes SignalR to serve as a webserver. Communication is done via the EsbHub which implements and follows the HubConnection pattern of SignalR. The webserver is also used to display and interact with the Webs portion of the Studio.
Studio Communications
The Warewolf Studio utilizes SignalR to communicate with the Server as the client end of the HubConnection. All requests are routed through the CommunicationsController which handles creating the request correctly i.e. what service is being executing and what parameters are being sent. The requests are then passed on to the ServerProxy which sends the request to the correct server for execution. Studio also receives communications from the Server, this includes message, debug and results for executions, through methods in the ServerProxy.
To find out more about SignalR in this context, take a look at this SignalR Self-Host tutorial from Microsoft.