Data Access Layer and Tier Purity

Ralfs Sudelbucher has an interesting post about using a DataAccess Layer.

<cite>How application development currently is "sold" is wrong. Developers still - after 8 years of Microsoft application server - don´t really understand the concept of application server or the value of business logic components. (And I mean "real" business logic with a service oriented interface.)How application development currently is "sold" is wrong. Developers still - after 8 years of Microsoft application server - don´t really understand the concept of application server or the value of business logic components. (And I mean "real" business logic with a service oriented interface.)<cite>

i agree with much of Ralfs end game specifically the seperation of responsiblities which i like to call tier purity (however i don't believe raw dataaccess should be done through a webservice...assembly yes...but not a webservice...but that's another discussion ;)). in many respects ralf is talking about the implementation of a model-view controller or a similar pattern that seperates responsibilities so that the rearrangement of one-tier does not necessarily affect other tiers.

however, i disagree with the culprit of the disconnect. ralf states that it is the pictures we draw that are the disconnect. i believe the culprit is microsoft themselves and many of us who write about the different microsoft technologies. only recently has microsoft really spent any time on the concept of patterns and practices. only someone with an understanding of tier purity/seperation of responsibilities will understand where to draw the line between the encapsulation of business logic and the encapsulation of dataaccess. for example, if you look at many of the examples out there for ADO.Net, you will see that the examples are concerned with showing how to use ADO.Net and not building software tiers. typically, these examples have direct ties from the gui to the database. neophytes look at these examples as a blueprint for building software. The extrapolation to a data-access layer and a business-logic layer is never discussed and it is lossed in the translation. so i agree with much of what you have to say and i agree the pictures are wrong. i just think the problem starts at the top and we as a community need to do a better job and present a better picture of where it all fits in the jigsaw puzzle of software....imho

-Mathew Nolton

No Comments