2014-09-12 8 views
0

Существует система управления автопарком. В упрощенном виде она состоит из:Приложение для отслеживания времени в реальном времени

Service (Java, JDBC), который взаимодействует со всеми устройствами на автомобиле гнездо (получает новые данные, разбирает и помещает в базу данных (Mysql)).

Веб-интерфейс (на стороне сервера: Tomcat, Java, Spring, JDBC, Mysql. Клиентская сторона: GWT, GWTP, GoogleMaps). Он запрашивает данные с сервера каждые 10 секунд с использованием GWT-RPC и вносит соответствующие изменения на клиенте.

Цель: сделать приложения в режиме реального времени. Все данные на странице обновляются независимо от в разные моменты времени сразу после их получения на сервере. Совместимость со всеми новыми браузерами (браузеры, которые не поддерживают WebSockets, также должны работать с приложением без добавления альтернативного кода). Рамки открытых источников.

1) Как уведомить мою сторону сервера Java о том, что в базе данных есть новые данные (получена новая информация с устройства (операция вставки) или обновлено, например, название автомобиля (операция обновления)). Mysql -> Java?

2) Как уведомить всех клиентов о том, что что-то изменилось на сервере? Java -> GWT (пожалуйста, поясните вкратце организация безопасности. Каждый пользователь видит свои автомобили и небольшое подмножество всех данных, которые к ним относятся)

3) Плавно без переходов и миганий перемещает единицы вокруг карты на впечатление, что они идут.

Что касается 2), то они имеют тенденцию к созданию атмосферы, но я принимаю любые предложения.

Если вы знаете ответ на один из вопросов, напишите. Я был бы очень благодарен

Заранее спасибо за ответы

ответ

0

С моей точки зрения, необходимо реализовать системы очередей и нажмите уведомление.

Ответ от пуль:

1) Использование JMS (http://docs.oracle.com/javaee/6/tutorial/doc/bncdq.html), чтобы иметь "производитель" (т.е. услуги) уведомляет о наличии новых данных

2) Используйте толчок уведомление для клиентов (например: Атмосфера - https://github.com/Atmosphere/atmosphere), чтобы показать новые данные клиенту. Для маршрутизации правильной информации на нужный клиент, это зависит от данных, которые у вас есть, для отправки данных в очередь

3) Это следствие первых двух пунктов ... вы должны получить обновленный интерфейс пользователя только в измененных частях.

Надеюсь, что это было полезно

+0

Спасибо, @Dan M. Что касается push-уведомления, я выбрал атмосферу тоже. Что касается общения между моими java-сервисами и Tomcat, то мне нравится ваша идея с JMS. Какую реализацию JMS выбрать (Spring, ActiveMQ и т. Д.)? Если у вас есть ссылки на хорошие примеры - я буду очень благодарен – Alex

+0

Я думаю, что многое зависит от вашего сервера установки и приложений ... Возможности JMS более или менее одинаковы для каждой реализации. Как правило, я использую тот, который лучше всего подходит для используемого сервера приложений –

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