Re: Databases as objects

From: Thomas Gagne <tgagne_at_wide-open-west.com>
Date: Tue, 26 Dec 2006 14:10:53 -0500
Message-ID: <F5SdncewL90l7gzYnZ2dnUVZ_vupnZ2d_at_wideopenwest.com>


David Cressey wrote:
> <snip>
> The object-oriented paradigm actually has room in it for both a data-centric
> world view and a process-centric world view. But the majority of
> object-oriented SW designers focus on object analysis and design at the
> expense of message analysis and design. They tend to treat the design of
> messages as a relatively trivial portion of overall system design. Nothing
> could be further from the truth.
>
I agree. One cause may be the fact the OO books focus on OO and not systems that exists without OO, or existed before OO, or will exist after OO. I don't believe OO is a fad, but too often its proponents behave as though OO is the only way problems may be solved--forgetting that problems were solved before OO and are still solved today without it.
> Yes, but what does all of this have to do with the quote I was responding
> to?
>
> Just this: when you use procedures as the primary intervace to the database
> you have committed yourself to the process centric world view at the expense
> of the data centric world view. When you call a procedure, you invoke a
> process, by name. When you invoke a view, you invoke some data by name. I
> have more to say, but I need to stop and think.
>
I'm curious to hear what it is. Whether you use a view or tables, when execution crosses from the application into the database there's a boundary crossed. The first question is whether or not a boundary should exist in the first place. OOers, through various frameworks and tools are trying to eliminate it, and this requires (I think) a compromise between the best relational model possible and the best application object model.

If we instead respect the boundary I believe there's a place to cross into the DB and a place to return from it. Whether that place is raw SQL or a SQL macro (procedure) makes a difference to how easily a DB's referential and semantic integrity is maintained, how reusable it is, and how much frustration programmers create for themselves.
>
>
>

-- 
Visit <http://blogs.instreamfinancial.com/anything.php> 
to read my rants on technology and the finance industry.
Received on Tue Dec 26 2006 - 20:10:53 CET

Original text of this message