Миграция устаревшего приложения: EJB3 или Spring

У меня есть устаревшее приложение, использующее struts и ejb2.0, hibernate v3.0, запущенные на JBoss версии 4.0, и теперь мы переносим это приложение в новый стек технологий. Мы изучаем pros и cons разных стеков технологий, и сейчас у нас есть два варианта: EJB3.0 и JSF, Hibernate v4 на Jboss 7 или Spring и Hibernate v4 на tomcat.

Какие параметры следует рассматривать для выбора того или другого или наоборот?

Update:

Какая из EJB3.0 и Spring имеет эффективную поддержку сообщества, тег стороны - EJB3.0 имеет 1097 вопросов, а Spring - 13297, и поэтому некоторые из них склоняются к Spring, также не будучи стандартный spring имеет преимущество быстрого обновления, которое бы устранило проблемы отрасли довольно быстро по сравнению с ejb3.

Мысли?

Ответ 1

Давным-давно, Spring был де-факто для использования, но со временем Spring превратился в совершенно тяжелого зверя. EJB, с другой стороны, значительно уменьшился и был значительно упрощен.

То же самое касается JSF, который был значительно улучшен в версии 2.0.

Эти технологии действительно сияют при совместном использовании в стеке Java EE 6, который в настоящее время имеет большой импульс. Полная реализация Java EE 6 (например, GlassFish) составляет всего лишь 50 Мбайт, а меньшая часть ее (так называемый веб-профиль) может быть вдвое меньше. Серверы запускаются за считанные секунды.

В настоящий момент я больше не вижу конкретной потребности в Spring. Если ваш стек уже включен в Spring, он, конечно, не требуется для перехода на Java EE, но для новых проектов я бы никогда не выбрал Spring в эти дни.