- A generic application protocol kernel for connection-oriented, asynchronous interactions Its advantages over HTTP are threefold - firstly, it is truly peer-to-peer (with HTTP, the client MUST initiate the request, which causes major problems if the server needs to communicate with the client asynchronously), secondly it provides multiple channels over the same connection (HTTP does not), and thirdly it allows higher level "profiles" to define what flows over a channel (HTTP defines the methods (GET, POST, etc )