Звучит так, как будто вы заинтересованы в 'Reverse-Ajax', где клиент получает уведомление, когда событие происходит на стороне сервера. Это отличается от стандартного Ajax, где асинхронное событие отправляется на сервер в зависимости от действия клиента. Возможен обратный Ajax, и одна структура, которая очень хорошо справляется с этой задачей и упрощает основную сложность, - это DWR.
http://directwebremoting.org/dwr/reverse-ajax
Возможно, вы захотите ознакомиться с влиянием на производительность различных способов реализации в зависимости от ожидаемой нагрузки, контейнера веб-приложения и т. Д., Независимо от того, какую платформу вы используете.
Что касается того, является ли это хорошей практикой, это действительно зависит от вашего приложения. Если важно, чтобы данные почти в реальном времени передавались обратно клиенту, и вы не хотите использовать что-то вроде Flex или других более тяжелых сред, то я бы сказал, что вы на правильном пути. Если данные не обязательно должны быть в режиме реального времени, или если ваша нагрузка слишком высока, то, возможно, более простой подход, такой как запланированное обновление страницы, избавит вас от некоторой сложности и поможет повысить производительность.