penzu
@penzu
Некоторые говорят верно, потому что они всесильны.

Как лучше организовать серверную архитектуру для мобильных и десктоп приложений?

Всем добрый день.
В общем сразу начну со своего вопроса.
До этого я находился весь в вопросах системного администрирования, управление небольшими IT отделами.
Сейчас у меня все повернулось таким образом, что бы разработать полноценное приложение для фрилансеров ( сервис инженеров ).
Тут то у меня и вспыхнуло, что моих текущих компетенций отнюдь недостаточно для продолжения разработки.

Итак, необходимо разработать 3 приложения под 3 мобильные платформы, 1 десктопное приложение. (Android, iOS, Windows mobile, Windows 8).

Функционал приложений:
Пользователь подает заявку, по телефону, или через приложение. Заявка попадает в базу как неподтвержденная. Диспетчер (Десктопное приложение, либо Web) видит что в базу упала заявку, связывается с клиентом, подтверждает. Заявка попадает в базу как открытая.

Со стороны инженера. Инженер заходит в приложение, проходит авторизацию. Может посмотреть открытые заявки, текущие (которые выполняет), завершенные (которые сделал).
Соответственно открытую может взять, а выполняемую завершить. Завершенные просто как просмотр статус о проделанной работе за период времени.

Диспетчер выступает в роли администратора.

Сейчас находимся на этапе, как организовать серверную архитектуру, что бы перейти к следующему шагу. Какие операционные системы, какие сервисы, фреймворки.
  • Вопрос задан
  • 3444 просмотра
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
REST. Прячите все за приятный интерфейс на основе http и вашим приложениям будет глубоко плевать, что там под ним, балансировщик нагрузок на класстер серверов или шаред хостинг. Опять же таким образом ваши клиенты так же не будут зависить от конкретной реализации сервера, им нужен только интерфейс.

И еще, это статегически не верный шаг, подключать программистов уже после организации сервера, так как они должны предоставить вам требования.
Ответ написан
GxocT
@GxocT
@penzu
В общем-то приложение у вас получается достаточно простое.
На сервере БД + приложение, которое будет отвечать за работу с БД и обработку запросов от клиентов.
На клиенте приложение хранит заявки в структурированном файле (например XML) или БД SQLite.
@Fesor верно заметил, что для взаимодействия лучше всего подойдет REST.

В принципе вы можете вместо разработки клиента для каждой мобильной платформы создать Web-приложение, которым смогут пользоваться и мобильные и desktop клиенты, а в последствии, если это понадобится создадите нативные приложения.
Ответ написан
Комментировать
penzu
@penzu Автор вопроса
Некоторые говорят верно, потому что они всесильны.
На сервере БД + приложение, которое будет отвечать за работу с БД и обработку запросов от клиентов.

Приложение имеется в виду Application (frontend) server ?

REST, я лишь поверхностно знаком с данным стилем построения архитектуры.
Как его реализовывать ? Хотя бы в кратце.

В дальнейшем планируется масштабируемость моего сервиса, исходя из этого надо продумать все так, что бы в последствии было лего расширять.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы