Нужны ли интегрированные среды для веб-приложения Java EE 6, JSF-2? Какие? - PullRequest
1 голос
/ 29 октября 2010

В предыдущих версиях J2EE было обычной практикой дополнять библиотеки по умолчанию такими средами, как Spring, Hibernate, Struts и т. Д.
Java EE 6, казалось, закрыл пробел (с CDI, JPA, JSF2.0 и т. Д.) - должен ли я по-прежнему использовать дополнительные каркасы (Seam? Библиотека граней? Spring?)

В настоящее время я использую стек Oracle по умолчанию - GlassFish v3, JSF (Mojarra) 2.0

Ответы [ 2 ]

8 голосов
/ 12 февраля 2011

Обычная практика в J2EE 1.3 и J2EE 1.4 заключалась в том, чтобы дополнять стек J2EE множеством дополнительных платформ.Теоретически вы можете создать приложение, используя только J2EE, но я думаю, что даже Sun не рекомендовал делать это для любого нетривиального приложения.часто использовались.

Начиная с Java EE 5, и теперь, безусловно, с Java EE 6 вам больше не нужны дополнительные платформы.Все, что было добавлено в J2EE для основного контейнера Spring, теперь можно сделать с помощью облегченных моделей компонентов EJB3.1 и CDI, поддержку ORM обеспечивает JPA (которая часто реализуется Hibernate, но в стороне), а веб-инфраструктура MVC является частьюстандартный стек через JSF 2.

Конечно, отдельные пользователи могут по-прежнему предпочитать API-интерфейсы программирования Spring и Struts, но в Java EE 6 нет острой необходимости их использовать.Иными словами, больше не нужно абсолютно дополнять Java EE.

Тем не менее, Seam действительно предоставляет несколько хороших (переносимых) расширений для Java EE, и JSF фактически собирался для использования с библиотеками компонентов и сторонних компонентов.,Такая библиотека компонентов, однако, на самом деле не является «структурой», а просто дает вам дополнительные виджеты для использования на ваших страницах.Это не то же самое, что заменить JSF скажем Struts или GWT.

1 голос
/ 29 октября 2010

Я не совсем уверен, что понимаю ваш вопрос.

Если сторонняя библиотека / фреймворк добавляет некоторые функции, которые нетривиально полезны для вашего приложения, вы почти наверняка должны использовать ее (несмотря на политические ограничения). Если вы не получаете никакой выгоды от фреймворка, оставьте его.

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

Так что просто оцените технические достоинства каждого фреймворка (индивидуально) в сравнении с тем, что вы используете в настоящее время, а затем перейдите к наиболее подходящему. Правильный ответ будет варьироваться в зависимости от ваших индивидуальных обстоятельств, поэтому было бы неправильно, если кто-то скажет, например. «Да, вам нужно Spring и Hibernate, но игнорируйте Struts."

...