Задать вопрос
Cobalt
@Cobalt
Программист - этим все сказано

Как правильно спланировать архитектуру для приложения Java EE?

Подскажите как лучше реализовать. Есть Java ee приложение состоящие из трех частей: собственно ejb с бизнеслогикой, restful и standalone клиент

К restful сервису периодически обращаются javascript клиенты сообщая сове состояние (что-то типа счетчика), он передает эти данные в ejb который это все логирует в БД. Standalone клиент должен оперативно получать все сообщения от javascript клиентов. Вопрос собственно как это реализовать. Если постоянно делать обращения к rest, чтобы он отдавал новые события - будет много трафика. Если делать SOAP сервис - еще больше. Какие есть варианты?
  • Вопрос задан
  • 3589 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@plasticmirror
весь вопрос как эффективно сделать уведомления от сервиса к standalone клиенту?
поллить http и все, не?
в смысле цепляется клиент "get /something/give_me_all_news"
с заранее известным таймаутом (1.5 минуты например)
сервис, если новости есть - сразу сообщает
если нет новостей - помещает запрос в пул, запоминая время начала запроса - и либо новости появляются - тогда сразу отдает, либо не появляются - и он отдает 204 но контент, после чего клиент тут же перепосылает такой же запрос... лишнего трафика - мизер, задержка - смешная

или про другое вопрос?
Ответ написан
Ну не знаю, я бы взял Grails и Swagger - не заморачивался с бинами.
По поводу трафика: если поддерживается gzip - большие объёмы не проблема.
Если вам нужно обрабатывать больше 60-80МБит трафика, то вопрос решается совсем по другому.
Также важно помнить про ассинхрон в сервлетах...

Собственно если нужно оповещать клиент о возникновении событий, то тут помогут Websocket'ы
и SSE. Можно глянуть на Atmosphere и socket.io. XML или JSON - это уже что вам удобней.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы