He Couldn't Have Said it Better
Ayende said
Let me start by saying that I absolutely reject this statement:
[The] database model is going to support far more than your application
The database model is private to the application, and is never shared with the outside world. If you need to access to my data, here is the service URL, have fun reading from it.
I couldn't agree more. Steve Eichert and I fought this battle for 2 years at Algorithmics (where we used Wilson OR/M) where everyone wanted the data model. Then the customers wanted it because they were used to fuddling with the previous generation of the app. No wonder there was so much instability. The data model is PRIVATE and if you want access, you come into my app the same way everyone and everything else does, through the Service layer via a service URI. Got it?