MikeBD

weblog for MikeBD.com. Musings of a 24/6 techie (Software Architect / Technical Manager) family guy struggling to find meaning, balance and strong design / implementation supporting excellent user experiences.

Your Ad Here Your Ad Here Your Ad Here

Thursday, April 26, 2007

Java Framework Stack: Spring / Hibernate / Tapestry

Any thoughts on this proposed framework stack?

A snip from a recent message to the development team at GS1 Canada:
I propose the following for new applications (we can have a separate discussion on if / when / how we migrate existing code).
- Spring (lightweight IoC container with AOP support) + Acegi (for security)
- Tapestry + Tacos (or other for Ajax - future...)
- Maven (consider for project dependancy release management) and/or CruiseControl or similar for build automation / continuous integration server
- JDK 5 (to at least gain the benefits of generics and metadata / annotations). My gut feel is it might be a little premature to use JDK 6 right now.

I believe all of the above are stable enterprise quality frameworks with a critical mass of developer support and strong reference resource availability. It also seems that the particular combination of frameworks play well together and have been documented to be a good combination, see Beginning POJOs (combining Spring + Hibernate + Tapestry).

My motivations for this include:
- reduce design risk / complexity / time to develop and debug custom code that provides non-domain specific functionality (logging / tracing / profiling, database access, transaction management, pooling / caching, security, configuration, UI templates etc...). Save our innovation efforts for domain specific value added use cases.
- ease the ramp up for new developers by leveraging industry recognized frameworks which are either readily available in candidates or easily learned
I'm especially interested in trap doors and negative experiences you were unable to workaround.

Also, what version numbers of these would be a stable combination that is recent enough to leverage JDK 5 Generics and metadata / annotations?

Feedback: please comment here or contact me.

Happy, highly leveraged, coding...

Cheers,
Michael.

Labels: ,