The W3C's Web Apps working group has recently produced a couple of candidate recommendations for APIs that allow server to client messaging, Server-Sent Events and WebSockets.
Server-Sent Events
(aka Event Source API)
WebSockets
The WebSocket (RFC 6455) protocol provides two-way, message-based communications over a single TCP socket. Messages may be text or binary. It is designed for a web application, but also may be used independently. Due to its close relationship to HTTP and web communications, we expect it to become widely adopted. It already is supported in the latest versions of the well known browsers.
Messaging and Queueing
Can messaging and queueing be integrated with WebSocket use? The links below show significant work being done with well known protocols and products.
- IBM MQ and Mosquitto support MQTT over WebSockets
- Javascript library for STOMP over WebSockets. Notice the linked page describes built-in support for this approach by HornetQ, ActiveMQ, RabbitMQ.