Обычная практика в 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.