Thinking about beginning a new JEE project is as unsettling as it is exciting. On the one hand, you’re going to get your hands dirty with some new and challenging business problem to solve, you can use the latest and greatest JVM and of course let’s not forget the choice of many excellent application/persistence/web frameworks. On the other hand, you have … the choice of many excellent application/persistence/web frameworks!
I think we can all agree that choice is good, but is the sheer number of non-trivial frameworks really unifying the java community, or are we breeding segments of the population who know only a subset of what’s out there?
When you’re an ASP guy, you pretty much have you work cut out for you. Same goes for the new kid on the block Ruby [on Rails]. But Java, in its maturity, has brought so many innovations to market that one could make an entire project out of evaluating frameworks for use in any given project!
The days of Struts & JDBC are pretty much over, kids. Do you use Spring at the web tier? How ’bout JSF or Tapestry or WebWork? Do you decorate with SiteMesh, or assemble with Tiles? Maybe you are into JSP includes or writing a lot of custom tags. Do you manage your middle tier with Spring, or opt for the latest appserver’s EJB3 implementation? It might seem like everyone is using Hibernate for persistence, but it aint the only kid on the block. TopLink Essentials is bundled with GlassFish and other EE5 offerings will be supporting JPA as well. This is just the tip of the iceberg.
How do you decide?