Разработайте изящную архитектуру Паба-Sub в web-oriented-apps, реальная проблема. Хотя существуют некоторые очень интересные решения с помощью длинных соединений опроса (например, Комета) и повторяющиеся тайм-ауты (например, js setTimeout). По моему скромному мнению, нажатие Ajax, все еще бывшее похожее на слой тонких настроек и взломов, вызывающих невинный протокол HTTP.
Таким образом, что Вы думаете, что действительно ли нажатие Ajax является аберрацией протокола HTTP?
Какие альтернативы других Вы могли рассмотреть в веб-архитектуре?
Другой вариант, который я видел раньше, - это использование небольшого скрытого Java или Flash для соединения через обычные сокеты с удаленным сервером. Затем сервер может передавать данные / события через эти сокеты в любое время, без какого-либо опроса со стороны клиента.
Flash немного лучше IMO, поскольку он не требует подписанного апплета (который выводит предупреждения о безопасности для пользователя). Сокеты в той или иной форме существуют уже около 9 лет, хотя только во Flash 9 / AS3 появились "чистые" сокеты, которые можно использовать для подключения к любому типу сервисов (ранее требовалось, чтобы сообщения завершались "нулевым" пакетом, то есть вам приходилось разрабатывать протокол специально для Flash, вместо того чтобы использовать XMPP, SMTP или любой другой существующий протокол)
.Опрос - это способ веб-архитектуры для pub-sub. Он хорошо работает, когда клиенты опрашивают нечасто, а ответы можно кэшировать и использовать совместно (например, rss-лента блога). Держать открытым tcp-сокет для каждого клиента, как в comet, - не идеальный способ использования http. Однако, если ваше приложение работает в веб-браузере и нуждается в частых, уникальных обновлениях для каждого клиента, это неплохой способ.
Comet и опрос ресурсов для каждого клиента не являются полным отклонением от http или веб - просто http и веб были разработаны специально для обмена одними и теми же ресурсами (т.е. веб-страницами) между многими клиентами, поэтому именно этот способ работает лучше всего.
Просто подумайте о наиболее распространенных реализациях Comet, Один тот факт, что вам приходится обманывать браузер, заставляя его думать, что он получает многокомпонентный ответ или бесконечно длинный html внутри iframe, достаточен, чтобы поднять флаг о том, подходит ли эта технология для данной работы или нет.
Какие еще альтернативы вы могли бы
HTML 5 Web Sockets API и Server-sent Events выглядят многообещающими в будущем. Поддержка Web Sockets в IE пока отсутствует, а Server-sent Events все еще является экспериментальной. Предложение Дугласа Крокфорда JSONRequest также было бы интересной альтернативой AJAX push, но оно еще не реализовано в современных браузерах.
В настоящее время я буду придерживаться Comet.