I need help designing a web app project. I have worked on existing projects, but this is my first experience designing one from scratch and I want to do it right. The app is a very small one. It has about 6-8 screens right now. But the requirements can change in the future. It has a tabbed pane layout. I plan to use ajax instead of frames to get the tabbed pane layout. I will need to use ajax for other uses for eg, table editing; adding a row in a table etc..
The appserver that we have to use is Websphere 5.1 or websphere 6.0. Since I have come from an open source background, I am familiar with struts and spring(business layer) and hibernate. I am not really familiar with EJBs, but I was wondering whether EJBs will be an overkill for such a small app. I would like to use declarative transactions and transaction support provided by websphere(but I am not very familiar with it). Is it good to use spring or Ejbs? I don't plan to use any ORM or Entity Beans.
Since I am familar with struts, I plan to use struts. I looked around and found ajaxanywhere library which integrates with struts. But reading around I found that other frameworks are supposed to be better than struts. I need a good framework which will provide support for Ajax and not for autocomplete and stuff, but for also dynamically updating portions of a page and table editing. I want a clean design which will be easily enhanceable and easy to understand for another developer.
Please let me know your thoughts. Any suggestions of books or examples of good app designs will be very helpful.