2012-01-28 2 views
5

У меня есть веб-приложение, работающее под Apache Wicket (Java EE MVC framework). На данный момент это веб-сайт. Я думаю об архитектуре, используемой для создания мобильных приложений. Мобильные приложения просто будут предоставлять информацию и принимать пользовательские входы (например, например, для конфигурации профиля).Какая архитектура для веб-приложений с мобильными приложениями?

я иметь архитектуру N-уровневую в виду, где:

  • БД такое же, как той, которая используется в текущем веб-приложение.
  • Построение уровня бизнес-логики, который будет веб-сервисом, который предоставляет всю необходимую мне информацию из базы данных и обрабатывает пользовательские входы. Это серверная сторона.
  • Веб-сервис, который запрашивает уровень бизнес-логики и предоставляет информацию через XML или JSON
  • Уровень пользовательского интерфейса, который является в основном моим мобильным приложением (iOS, Android, ...). Они отправляют запросы на бизнес-уровень через веб-службу. Запросы возвращают данные для отображения или отправки информации пользовательского интерфейса.

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

Имеет ли смысл эта архитектура? Если да, мое последнее предложение нарушает структуру MVC уже на месте?

+0

Никто не имеет понятия? – nche

+0

Мне интересно узнать, как вы это сделали? У меня та же проблема, и я борюсь с одним и тем же случаем. У меня есть n-уровневая архитектура Java EE + JPA + Mysql, и я использую Primefaces, и я хотел бы поехать с ней с помощью webservices + что-то. Есть комментарии? – Sami

ответ

1

Я бы не стал переписывать существующее веб-приложение, это, вероятно, не стоит усилий.

Ваша интуиция (ИМХО) правильная. Шаблон HTML на стороне сервера как часть некоторой веб-архитектуры на стороне сервера MVC просто не подходит для Интернета и особенно не подходит для мобильных веб-приложений.

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

0

Возможно, вы могли бы взглянуть на рамки, которые могут создавать мобильные приложения только с HTML, CSS, JavaScript. Они могут предоставить набор API-интерфейсов JavaScript, которые подключаются к собственным функциям устройства, таким как камера, компас, контакты и геолокация. Они дают вам возможность создавать приложения для iOS, Android, Blackberry, WebOS, Symbian и Windows Mobile. Все, что вам нужно, это знание веб-разработки и, конечно, HTML, CSS и JavaScript. Вот список таких фреймворков: http://www.hongkiat.com/blog/mobile-frameworks/. Пожалуй, самый знаменитый PhoneGap. Надеюсь, это поможет.