Несколько Frontends - Java Backend - PullRequest
       9

Несколько Frontends - Java Backend

0 голосов
/ 22 сентября 2011

Я только начал работать над проектом о создании большого сайта.

С большим я имею в виду:

  • Webshop
  • Форум
  • Обычный веб-сайт (информационные страницы и т. Д.)

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

Но потом я начал думать о том, как расширяться и т.д.

Я начал думать, как бы я хотел, чтобы этот сайт был доступен с мобильного телефона. Не только с браузером, но и с приложением. (У меня есть приличный опыт в создании приложений для Android и Iphone). Итак, настоящий вопрос:

Разумно ли было бы создать «Ядро» всего моего веб-сайта на Java и использовать службы для доступа к нему, что позволило бы различным веб-интерфейсам использовать одно и то же «Ядро». Подобно: - PHP для браузера - Java (Android) для приложения Android - Цель C для приложения iPhone.

И пусть все они просто общаются с «Ядром» через REST (Json).

Каковы будут преимущества / недостатки этого подхода и будет ли существенная задержка при рендеринге, например. веб-страница (запрос http на php, затем php вызывает сервер java (другой физический сервер), затем обращается к базе данных и затем возвращает все, поэтому php может отформатировать ее в HTML).

Надеюсь услышать некоторые ответы или предложения!

Ответы [ 3 ]

0 голосов
/ 22 сентября 2011

Я думаю, что ваше решение «умное». Единственные изменения, которые я предлагаю: Используйте одну и ту же платформу для создания как «основного», так и «внешнего интерфейса браузера». Таким образом, вы будете иметь больше производительности.

Сохраните интерфейс «core» и «browser» на одном сервере, если возможно, в одном процессе Если у вас нет причины сделать это по-другому. Это уменьшит проблемы с производительностью, задержкой и так далее.

0 голосов
/ 23 сентября 2011

Если вы уже знакомы с Java, я бы посоветовал вам взглянуть на что-то вроде GWT (или GWT + сторонние библиотеки, такие как Ext GWT или Smart GWT ) для вашего интерфейса.Я не вижу смысла в выборе другого языка для интерфейса, если вы действительно не хотите изучать что-то другое (например, PHP, как вы предлагаете в своем вопросе).

Я думаю, чтоостальная часть вашего подхода является надежной (т. е. Java на бэкэнде, предоставление RESTful-сервисов и т. д.)

0 голосов
/ 22 сентября 2011

Я бы пропустил слой Java и сделал бы «основной» PHP. Существует множество инструментов и сред (например, Zend FW) для сборки этих компонентов в PHP. Создайте свое приложение на основе интерфейса REST и позвольте мобильным приложениям использовать REST.

Еще лучше, используйте Rails. Это так легко спроектировать и настроить интерфейс REST.

...