У меня есть веб-приложение, работающее под Apache Wicket (инфраструктура Java EE MVC). На данный момент это веб-сайт. Я думаю об архитектуре, которая будет использоваться для создания мобильных приложений. Мобильные приложения будут просто отображать информацию и принимать пользовательские данные (например, конфигурацию профиля).
Я имею в виду N-уровневую архитектуру, где:
- БД совпадает с той, которая используется текущим веб-приложением.
- Создание уровня бизнес-логики, который был бы веб-сервисом, который предоставляет всю необходимую мне информацию из БД и обрабатывает вводимые пользователем данные. Это на стороне сервера.
- Веб-сервис, который опрашивает уровень бизнес-логики и предоставляет информацию через XML или JSON
- Уровень пользовательского интерфейса, который в основном является моим мобильным приложением (iOS, Android, ...). Они отправляют запросы на бизнес-уровень через веб-сервис. Запросы возвращают данные для отображения или отправляют информацию пользовательского интерфейса.
Я думал, что слой веб-сервисов мог бы затем обслуживать как веб-сайт, так и мобильные приложения.
Имеет ли эта архитектура смысл? Если да, то мое последнее предложение нарушает уже существующую структуру MVC?