I spent the better part of the weekend with "WebWork in Action" by Partick Lightbody and Jason Carreira. I did this because WebWork 2.3 == Struts 2. I wanted to come up to speed on this to make sure that I was not leaving something behind. Originally it was my plan to implement Quadran with JSF, but I'm unsure of that plan. It's a very large change for us as an organization, therefore I'm taking a more detailed survey of the landscape to see where the web framework world is.
As I've said in the past we have been a Struts 1.2 house for some time now. I do feel though that Struts 1 has run its course and that basing a new project on it would be short sighted, although I'm sure it would work, as Struts 1 is a proven framework. Therefore the evaluation of the options.
Some history. I've worked on two major projects in the past few years. One of them was written using the Enhydra presentation framework with XMLC. The other one, which I had a large part in specifying, but not writing, uses Struts for the web framework.
So, now that I'm starting with a clean sheet I'm taking a serious look at what is out there. My original inclination was to use Struts 1.2 and then back my way into another frame work down the road. I figured that in the long run we'd likely port to JSF.
Well, I've spent a lot of time with "Professional Java Development with the Spring Framework" by Rod Johnson, et. al., over the past week and I really like what I'm reading. It has me seriously rethinking my decision to use Struts 1.2.
One of the most important issues when starting a new project is the question of what tools, frameworks, and libraries are you going to use. In the past when starting a new project I take some time and survey the lay of the land. Well.. it's day one and I have been closely surveying the lay of the land.
It has been my intention that I would be using EJB 3.0 for this project, at least for the persistence layer. I have been looking at it for some time. I still feel comfortable with that decision. I've looked at Hibernate, which was the other possibility, but I think that EJB 3.0 will do for us.