Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)

From: Bart Wakker <>
Date: Sun, 04 Jun 2006 10:46:59 +0200
Message-ID: <>

"David Cressey" <> writes:

> I disagree completely with the above, which seems to have been
> written by Robert Martin.
> The heart of the system is the data.
> For 20 years, I believed that the heart of the system was the
> application code. I wrote application code. That's why I believed
> it. But I've seen enough to convince me otherwise in the last 17
> years.
> Not that I didn't say: "the database". What if we change database vendors?
> Been there, done that.
> What if we rewrite almost all the application code? Been there, done that.
> What if we destroy all the data up to this point? Time to update your
> resume, everybody!

Completely agree w.r.t. the data.

When I still was a project leader and following courses on project leading, the rule of thumb we learned was to plan 30-50% in a large project for data migration.

You have to preserve your data when making big archtitectural changes, e.g. restructuring your data model or even switch to some other technology to store your data. It is very important, you must think about it long before and reserve a lot of time and testing for it.

Even smaller releases with changing business requirements often lead to changes to your data model, not all of which can be hidden behind views etc.

In 20 years time, I have never seen a system replacing the application code while retaining the DBMS, and also not seen a full replacement of the DBMS or data model while retaining the application code.

It is good to try to separate application code and DBMS as far as possible without too much trouble, but it is not worthwhile to go to extremes. Neither case will ever happen in practice, even if it could in theory. Received on Sun Jun 04 2006 - 10:46:59 CEST

Original text of this message