The Quest for the Generic CRUD Web Application
January 4th, 2006
More than once in my career, I had to develop a "simple and easy-to-extend" CRUD web application. Every time, I thought "Somebody must have done that already!", and every time, Google returned next to zero results.
My luck seems to be changing slowly, though. My latest effort delivered 3 CRUD engines for Java:
- RIFE CRUD
- Belgian! But tightly coupled to the RIFE framework, which still doesn't have got the momentum from the big frameworks.
- Trails
- This seems to be a very interesting bet to go with. However, it is bound to JDK 5.0 and Tapestry. While I personally like both choices, JDK 5.0 is still not done in some environments, leaving me very frustrated.
- AppGen
- CRUD generation framework to use with AppFuse. AppFuse itself is based on all the usual suspects, and gives you the choice between them: Hibernate or iBatis, Spring, Struts, SpringMVC, WebWork, and so on. However, the founder of the project (Matt Raible) has some problems with code generation tools, leading to an incomplete tool.
The best approach for writing such a CRUD application framework seems to be that of the last two. Use a stack of well-known components, glue them together with your own special goo, and you have something that is at least based on something known. But the first one is a bit too cutting-edge for the typical Big Company, and the last one is a bit too incomplete for Feelings of Hopping Up and Down.
At the moment, I'm giving a go to 2 CRUD projects, one personal and one professional. For the personal one, I'm going with Trails (finally, generics! ;) ), and the professional one will probably be an extension of AppGen. If you have other suggestions, I'll be more than happy to hear about them. And I hope that next time, my Google query will lead to even more results. Or maybe I should finally start scratching that itch myself...

April 21st, 2008 at 10:18 PM en Aton? Misschien moet Boris eens een demo geven van waar we momenteel staan! (btw, standing upon the shoulders of giants lijkt mij ook de beste approach)
April 21st, 2008 at 10:18 PM I'd be interested to hear the problems I have with code generation tools and how AppGen can be improved.
April 21st, 2008 at 10:18 PM Have you considered or seen any application tier tools (or framework) that manages CRUD and or specific business logic via application meta-data?