Develop a elegant Pub-Sub architecture in web-oriented-apps is a real challenge. Although there are some very interesting solutions using long-polling-connections (e.g. COMET) and repetitive-timeouts (e.g. js setTimeout). IMHO AJAX push still looking like a layer of tweaks and hacks forcing the innocent HTTP protocol.
So what do you think Is AJAX push a HTTP protocol aberration?
Which others alternatives you could consider in a web architecture?
Another option I've seen used before is to use a small hidden Java or Flash to connect via plain sockets to the remote server. The server can then push data / events over these sockets at any time, without any polling from the client.
Flash is a little better IMO since it doesn't require a signed applet (which pops up security warnings for the user). It's had Sockets in one form or another for something like 9 years now, though it wasn't until Flash 9 / AS3 that you got 'pure' sockets that you could use to connect to any type of service (previously it required that messages be terminated with a 'null' packet, meaning you had to design your protocol specifically for flash, instead of being able to use XMPP or SMTP or any existing protocol)