Помогите с архитектурой и ПО клиент-серверного приложения (мобильное приложение)
Необходимо создать прототип для проверки одной бизнес идеи, подскажите что лучше использовать для этого из мира Java.
Суть идеи: догонялки. мобильные устройства перемещаются (состояние Покоя), от сервера может поступить команда, что устройство А должно догнать устройство Б, ну и соответственно переходим в режим Встречи.
В состояние Покоя устройство эпизодически посылает свои координаты на сервер. (если сместилось на Н метров или прошло К минут)
В состоянии Встречи передача координат идет значительно чаще.
Клиентское устройство (КУ) - андроид. (легкая доступность по андроид железу).
соответственно КУ может общаться с сервером:
-просто http запросами
-асинхронными http запросами (аля комет сервер)
-открывать сокет соединение и держать его открытыми.
-push-нотификация.
Насколько я понимаю, в режиме Покоя достаточно обычного http запроса для передачи текущих данных, а push нотификация от сервера, в случае перехода в режим Встречи. Эта нотификация придет за секунду или лучше открыть сокет и держать его?
В случае режима Встречи, КУ открывает сокет соединение и поддерживает связь, другой вариант, это асинхронное соединение КУ с сервером, но честно говоря я попробовал пару примеров и не получилось.
Сервер - вот тут мне необходима помощь, однозначно это Java, но я слегка отстал от текущих серверных платформ. (У нас до сих пор тьма проектов на Jboss 4.2 и никуда они с них не съедут).
Если КУ использует сокеты, но для их обработки на сервере хорошо подходит Apache Mina.
Если КУ использует асинхронное соединение, то соответствующий сервлет.
Что лучше использовать для передачи данных на сервере из канала КУ А, в КУ Б с небольшой обработкой и наоборот (те сервер будет обмениваться их координатами)?
Проект отчасти учебный, хочется прокачаться с создании серверных частей проектов, но и создать прототип идеи и показать бизнес оунеру тоже надо.
Работать это все должно на простом ксеоновом сервере с 4 гигами, при нагрузке эдак 20-30 тестовых КУ.
Если идея понравится, соответственно КУ внезапно станет до нескольких тысяч с немерянной географией.
1 как лучше организовать связь сервера и клиента?
2 какой и как надо создавать сервер?
Суть идеи: догонялки. мобильные устройства перемещаются (состояние Покоя), от сервера может поступить команда, что устройство А должно догнать устройство Б, ну и соответственно переходим в режим Встречи.
В состояние Покоя устройство эпизодически посылает свои координаты на сервер. (если сместилось на Н метров или прошло К минут)
В состоянии Встречи передача координат идет значительно чаще.
Клиентское устройство (КУ) - андроид. (легкая доступность по андроид железу).
соответственно КУ может общаться с сервером:
-просто http запросами
-асинхронными http запросами (аля комет сервер)
-открывать сокет соединение и держать его открытыми.
-push-нотификация.
Насколько я понимаю, в режиме Покоя достаточно обычного http запроса для передачи текущих данных, а push нотификация от сервера, в случае перехода в режим Встречи. Эта нотификация придет за секунду или лучше открыть сокет и держать его?
В случае режима Встречи, КУ открывает сокет соединение и поддерживает связь, другой вариант, это асинхронное соединение КУ с сервером, но честно говоря я попробовал пару примеров и не получилось.
Сервер - вот тут мне необходима помощь, однозначно это Java, но я слегка отстал от текущих серверных платформ. (У нас до сих пор тьма проектов на Jboss 4.2 и никуда они с них не съедут).
Если КУ использует сокеты, но для их обработки на сервере хорошо подходит Apache Mina.
Если КУ использует асинхронное соединение, то соответствующий сервлет.
Что лучше использовать для передачи данных на сервере из канала КУ А, в КУ Б с небольшой обработкой и наоборот (те сервер будет обмениваться их координатами)?
Проект отчасти учебный, хочется прокачаться с создании серверных частей проектов, но и создать прототип идеи и показать бизнес оунеру тоже надо.
Работать это все должно на простом ксеоновом сервере с 4 гигами, при нагрузке эдак 20-30 тестовых КУ.
Если идея понравится, соответственно КУ внезапно станет до нескольких тысяч с немерянной географией.
1 как лучше организовать связь сервера и клиента?
2 какой и как надо создавать сервер?
