Push, Poll, Push, Poll… Just Stop!
Posted on 07 October 2008
Push technology is a continual debate in the BlazeDS and Adobe LiveCycle worlds.
Too many (way too many) people claim that BlazeDS is a message pushing technology, when in fact it is only a polling technology. Long polling does not make it pushing.
Let’s just call it what it is.
Polling, regardless of whether it is short interval polling or long cycle polling is still just that, polling.
Push technology is ONLY available when a client has a connection in which the server can push a message in real-time to the connected client.
Do note, my use of “real-time”. Not “near real-time”, but actual “real-time” is necessary to be a push technology. In addition, the foundation of the HTTP protocol can’t support full duplex connections required for push technology.
An analogy that I like to use:
It doesn’t matter how many times you check your mailbox, or how long you wait each time you arrive, you are still polling your mailbox for letters.
BlazeDS does offer an alternative to the costly LiveCycle Data Services, however it does not provide real time message push as defined by the definition of push technology.
3 responses to Push, Poll, Push, Poll… Just Stop!
Have you taken into consideration the StreamingHTTPEndpoint channel offered by BlazeDS? I have only been working with BlazeDS for a few days, but in monitoring the behavior of this channel, it appears to only communicate with a Flex client at the point it has something to send to the client. It specifically doesn’t support any sort of client polling mechanism. In what way does this not meet the “definition of push technology” ?
HTTPS connectivity limitations do not allow for a full-time stateful socket connection. Streaming HTTP in my opinion is just fancy trickery and doesn’t replace a real-time socket connection for data pushing.
Earlier I mentioned that it doesn’t matter how many times you goto your mailbox, you are still polling for mail, even if you linger around for 5 minutes each time you go. 😉
As I was reading my post and comments, I wanted to make it very clear that I do like BlazeDS. It is a great project, with significant capabilities and any Flex developer needs to have a deep understanding of it if they are going to make a dent in this industry.