Within an imbedded space pull architectures are considered superior simply because a call for example to query a service layer takes a certain ammount of time and therefore an answer can be arrived at a predictable momemt in time. Also with this load on the service can be calculated in advance, all of it makes a poll architecture better in environments which operates on strict time/load constraints.
For interactive applications this can be bad from a user's perspective. Simply because an user may judge system to be slow and un unresponsive while waiting for an answer.
The moral of the story is simply, if you have an back end process which gathers data for consumption, a poll process may be more network friendly. Users can be press an F5 button very fast, and all of that translates to an hit on the network infrastructure.
Sometimes an hybrid solution can also work: If no data arrives in x, start polling the queue. Once data arrives, stop polling, allowing the client process data from the queue in an interactive manner.
[Message sent by forum member 'wildfirexy' (wildfirexy)]
http://forums.java.net/jive/thread.jspa?messageID=234573