Сначала давайте обсудим IDE, ORM и безопасность, а также DB: На мой взгляд, лучшая Java IDE - это IntelliJ IDEA. Это от тех же людей, которые разработали Resharper для Visual Studio. Он имеет самый мощный редактор из всех Java IDE и имеет встроенную поддержку многих популярных Java-фреймворков.
ORM. Самая мощная библиотека ORM в Java - это Hibernate. Сам Hibernate является реализацией стандарта Java Persistence API (JPA). EclipseLink является еще одной реализацией JPA, но Hibernate является лучшим вариантом IMO.
Безопасность: Spring Security, вероятно, является самой мощной средой безопасности (аутентификации и авторизации), доступной в мире Java.
БД: Если вы знакомы с SQL Server, продолжайте его использовать. Однако не используйте драйверы JDBC от Microsoft. Вместо этого используйте драйвер из DataDirect: http://web.datadirect.com/products/jdbc/index.html. Если вы не хотите использовать SQL Server, MySQL - отличный выбор для FOSS, а Oracle, DB2 и т. Д. - другие варианты.
Для веб-фреймворка есть несколько опций:
Вариант 1. Если вы хотите использовать фреймворк в стиле RAD, выберите Grails. Grails похож на Ruby on Rails, но использует JVM и подобный Java, но динамический язык Groovy. ORM API от Grails называется GORM, который построен поверх Hibernate, но гораздо проще в использовании. Grails также использует Spring Security для управления безопасностью.
Вариант 2. Если вам нужна платформа корпоративного уровня, выберите JBoss Seam + JavaServer Faces. JSF - это основанная на компонентах инфраструктура MVC, и для ее использования доступно множество великолепных библиотек JSF: RichFaces, OpenFaces и т. Д. Seam интегрирует JSF с EJB, и вместе они создают отличную корпоративную среду. Однако у этого есть крутая кривая изучения.
Вариант 3. Использование Spring + SpringMVC + JPA.
Вариант 4: использовать распорки 2.
Заключительные замечания: Если вы ищете простую в освоении инфраструктуру MVC + ORM, используйте Struts 2 + JPA. Если вы ищете RAD и простую в использовании инфраструктуру MVC + ORM, используйте Grails. Если вы ищете надежную и корпоративную (но не простую в освоении) инфраструктуру, используйте JBoss Seam.