Steve, I've heard you mention your "DB defines the UI" aproach before and I do find it intriguing. I'm not sure it would be my preferred aproach (though I'm open to reconsidering that) but I can see how it could seriously enable RAD, particularly with simple CRUD apps. Holding the data in the DB along with meta data that defines a UI and how it should bind to that data sounds like an elegant solution which would enable rapid development and simple roll out.

I'm intrigued as to how you handle complex behaviour though. You know, the complex business logic that many of us would hive off to some class or other. Do you somehow hold that logic in the DB too?

I'm aware that by referring to "simple CRUD apps" it might sound like I'm demeaning them. I'm not. Simple CRUD apps probably represent 90% of the business app that get produced and they've certainly been the vast majority of the applicatiosn I've worked on in my career. Anything that facilitates their development can only be a good thing.