Какие основные процессы могут быть в бэк-энде мобильного приложения?
======================================================================

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

Если взять работу мобильного приложения, которое отправляет файловые данные на сервер приложения и получает оттуда данные из БД, какие общие процессы тут можно выделить?  

В моем понимании это транспорт данных до API, аутентификация пользователя, валидация данных, конвертация данных (если потребуется), транспорт и отправка (получение) данных в приложение.  

Значит, (если не пользоваться готовыми решениями) по логике, мне потребуется   

1. Создать приложение  

2. Развернуть БД с таблицами данных, куда будут попадать данные из файла выгрузки и пользовательские данные  

3. Научить приложение обращаться к серверу  

4. Описать критерии валидации данных  

5. Написать аутентификацию пользователей  

6. И вот что-то еще, что будет возвращать данные в приложение  

Мухи с котлетами, наверное, но материалов с доступным объяснением в открытом доступе вообще не нашла. Помогите, пожалуйста, понять, куда смотреть и как отделить мухи от котлет, либо сбросьте ссылки, где это можно посмотреть. 

 С позиции разработчиков, в общих чертах мобильное приложение отправляет какой-то запрос на сервер, а тот при его получении обрабатывает и возвращает ответ затем идет обработка ответа. Мобильное устройство управляется пользователем, имеет свой пользовательский интерфейс, имеет какие-то данные на самом устройстве и умеет обмениваться ими с сервером, находящимся где-то удаленно и доступным по интернету.  

У сервера есть API, предоставляющий набор публичных сервисов мобильному приложению и, возможно, другим видам.  

На сервере может присутствовать аутентификация пользователя, если необходимо представлять персональные услуги. После идентификации пользователя программа на сервере выполняет какие-то действия. Возможно, обновляет данные в СУБД и выдает ответ.  

Разработчик мобильного приложения должен уметь построить пользовательский интерфейс, в котором будет продумана бизнес-логика приложения а также логика взаимодействия с сервером.  

Разработчик программы на сервере должен уметь построить программу, которая будет принимать различные запросы от клиентов и уметь их обрабатывать согласно бизнес-логике, а также продумать структуру данных в СУБД и способы взаимодействия с ней.  

Валидацию данных принято выполнять и на клиенте и на сервере.  

В построении мобильного приложения и серверного приложения есть уйма нюансов помимо применяемых технологий.  

С позиции менеджера продукта есть тоже много забот.