Eclipse’s RAP Push Session Revisited

A few years ago, I wrote an article on Eclipse’s RAP Push Session mechanism. To review, the Remote Application Platform team faced the problem that a full-fledged Rich Client application comes with its conundrums when this needs to be implemented with HTTP and JavaScript. A regular rich client can respond to any event that it receives, while HTTP always starts with an event that is spawned in the client itself. Usually, this problem is tackled by polling the event source, and generating a UI event when the event source changes. The Push Session mechanism provided such a mechanism in Eclipse RAP but needed a bit of boilerplate code to make it work. My previous post addressed this issue.
I’ve been using the proposed mechanism for a few years, without too much ado, but there were a few developments which made me reconsider the solution I wrote about. The main ones are: