Real Time Web
UPDATE 30/03/2011: this article was started as a draft last year and unfortunatly published as is. As things changing quite fast in this part of the web, I update this article to keep only references to technologies. I m sure there a lot of more today.
For the website Pronostic Facile I m looking for technologies to provide real time information. I receive information of different kinds and want to dispatch it to users as soon as possible and make it available without the user reloading the page. This can be provided by a Pubsub architecture with a Comet layer.
Node.js
Node.js is the server technology build for this job. Scalable, asynchronous, it can handle a lot of requests as to receive and publish messages.
Faye
pubsub over http for node.js and rack, Faye
Nodule
a pubsub Key-value store, Nodule
Fanout.js
I needed a robust and scalable event-driven message fanout server for several Comet-based webapps where some process in the backend could send various messages of different types/channels to the clients (browsers) in the front-end. fanout.js implements such a server using standard TCP sockets so that it can be used in a wide variety of applications. Connection to web browsers is accomplished by using the TCPSocket abstraction in the Orbited.org project.
a simple and robust fanout pubsub messaging server for node.js, Fanout.js
Nodered
NodeRed is an extensible network service container for Node.js
Express
Not really build for Pubsub, it s a good base to build a service on node.js. This framework try to bring to node.js all the power of other framework like rails and make development fast.
Socket.io
A nice piece of software giving you server and client abstraction of sockets over technology and browser.
Socket.io client
Socket.io node.js server
I did look at XMPP and APE, but this solution is far simpler and is the new technology for real time application.