Separating Data from Architecture
Two excellent articles, from Software Reality and The Server Side on designing applications so that the data model is separate from the application, thus making it easier to reuse code.