Выбор хорошей основы для веб-разработки

На основании принятого ответа на этот вопрос я настроил среду NetBeans/tomcat. Тестируя эту настройку, я пытаюсь создать веб-приложение на Java, но не могу выбрать рамки для этого тестового приложения.

Варианты выбора:

  • Spring Web MVC 2.5
  • JavaServer Faces
  • Struts 1.3.8
  • Hibernate 3.2.5

В моем прочтении (поиск в Google и SO) довольно быстро заблудился в лесу, поэтому я рассматриваю вопрос о том, чтобы просто выбрать один и, если он не получится, позже переключиться / перейти на другой. Будет ли такой подход осуществимым?


Предыстория проекта

(Должно быть основано на Java из-за устаревшего кода)
Он использует самоподписанный апплет для рендеринга и взаимодействия на стороне клиента;
Сервлеты получают наборы данных, запрошенные у клиента;
База данных может находиться на каком-то удаленном сервере, поэтому я намерен использовать JDBC для доступа к ней;

Унаследованная система была CORBA (ACE/TAO), основанная на множестве модулей C++, которые должны быть переведены на Java, и существующие Java-модули (к счастью, несколько), которые делают вызовы CORBA, должны быть изменены для использования недавно переведенных Java-модулей. модули.

Если вы можете придумать лучший подход для управления этим проектом, пожалуйста, скажите мне.

(Этот проект имеет все признаки того, что мне нравится: это интересно, интересно, и я узнаю что-то новое)

3 ответа

Решение

Ну, во-первых, не повредит внимательно взглянуть на весь Spring Framework в целом. Документация неплохая, начиная с самого базового модуля, работающего вплоть до уровня веб-MVC (где вы можете решить, хотите ли вы его использовать, например, интеграция с Struts тоже возможна - но я все же обнаружил, что Struts всегда будет проблемой.). Hibernate является, вероятно, самой популярной платформой Object Relation Mapper. Он используется для хранения, запроса и получения ваших объектов модели домена (всего, что вы хотите сохранить в базе данных), но не имеет никакого отношения к веб-слою.

Лично мне не нравится JSF (еще один спецификационный монстр, которому требуется гораздо больше времени, чтобы войти в него, чем нужно). Если вы предпочитаете подход, основанный на виджетах (соединяя страницу вместе с компонентами вместо вывода простого старого HTML), возможно, вы захотите взглянуть на Google Web Toolkit.

Еще одно весеннее решение - GRails. Это действительно интересно использовать, и даже если вам нужно выучить другой (скриптовый) язык (называемый Groovy), вы все равно можете использовать все свои классические Java-классы в Framework, потому что классы Groovy совместимы с классами Java (и наоборот).

И кстати. Я думал, что CORBA - это технология / протокол / стандарт, который особенно позволяет вам получать доступ к методам и объектам независимо от языка. Википедия:

Архитектура Common Object Request Broker (CORBA) - это стандарт, определенный Группой управления объектами (OMG), который позволяет программным компонентам, написанным на нескольких компьютерных языках и работающим на нескольких компьютерах, работать вместе, т.е. он поддерживает несколько платформ.

Так почему же вам нужно переводить модули C++ для общения с Java?

Прежде всего вычеркните Hibernate из своего списка - хотя вам будет рекомендовано использовать его, если у вас есть требование ORM, оно не связано с веб-уровнем.

Тогда я думаю, что у вас есть два варианта:

  • Spring MVC и JSF
  • Распорки

Если вы выберете любой из этих маршрутов, вы перейдете к тому или иному API, и переход на более поздний срок никогда не будет безболезненным.

Мой совет будет:

  • используйте Spring MVC - вы, скорее всего, будете использовать Spring в любом случае, и это естественный выбор.
  • игнорируйте JSF, пишите HTML-код самостоятельно, используя JSTL для рендеринга bean-компонентов.
  • используйте JQuery/JavaScript, чтобы обогатить пользовательский опыт.
  • используйте Hibernate для сохранения объекта.

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

Идея может состоять в том, чтобы начать с Spring как вашей "большой схемы вещей" и технологии интеграции. Затем добавьте дополнения по мере необходимости:

  • постоянство: спящий
  • javaScript: выберите библиотеку js, которая хорошо сочетается с модулем Spring MVC, который вы используете
Другие вопросы по тегам