2013-11-28 5 views
0

Проблемапередачи данных от сервера с Java EE 6 для клиента

У нас есть приложение клиент-сервер, на стороне сервера Glassfish 3.1.2. В этом приложении много пользователей, а также множество модулей (например, просмотр транзакций, просмотр банков и т. Д.). Есть несколько длительных запущенных процессов, которые клиент запускает на сервере. В настоящее время мы не нашли хорошего решения, чтобы показать пользователю, что происходит на стороне сервера. Мы хотим, чтобы пользователи получали обновленные сообщения с сервера с заданной частотой. Что вы предложите использовать?

Что мы сделали/пытался

  1. Мы (независимо друг от друга) использовал подход с Singleton бобом и Map клиентских идентификаторов аналогичны this, и она работает, конечно. Но затем на стороне сервера каждый метод doSomething(Object... vars) должен быть преобразован в doSomething(Object... vars, String clientID) или любой другой тип. Клиент извлекает данные с сервера, говорят один раз в секунду. Я бы хотел избежать добавления фасадов между сервером и клиентом.

  2. Я думал о JAX-WS или JAX-RS, но я не знаком с этими технологиями глубоко и не уверен, что они могут сделать.

  3. Розетки

Я хотел бы отметить, что на стороне сервера, у нас есть только без гражданства бобы (есть причина для этого), поэтому я не говоря уже об использовании Stateful боба (который я думаю).

С уважением, Олег

+0

Является ли клиент веб-приложением? Вы управляете клиентскими сеансами на стороне сервера? – remigio

+0

Нет, @remigio, клиент не веб, он находится на Swing. Да, мы также управляем серверной стороной. – Oleg

ответ

0

WebSocket может быть подходящим выбор, позволяет серверу рассылать данные клиентов, без сильной связи, вы просто хранить идентификатор клиента для отображения клиентских подключений выполнения задач и быть способный подтолкнуть обновления к правильному соединению. Сопоставление соединения идентификатора/сокета клиента может поддерживаться в одноэлементном компоненте, используя структуру в памяти, то есть карту хэша, или постоянный хранилище данных для целей масштабируемости или в случае, если вам требуется надежное решение. Некоторые полезные ссылки для лучшего понимания технологии WebSocket: this и this.

+0

Спасибо, @remigio! Я попробую, что вы предложили – Oleg

Смежные вопросы