Re: The IDS, the EDS and the DBMS

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Fri, 03 Sep 2004 20:27:47 +0200
Message-ID: <4138b7a3$0$78749$e4fe514c_at_news.xs4all.nl>


Laconic2 wrote:
> In this discussion, I'm trying to compare two very different reasons for
> using a DBMS. I'm calling them the "integrated data store" (IDS) and the
> "encapsulated data store" (EDS). What I think I've seen is that people who
> build an IDS and people who build an EDS use the same tools and methods,

Nice! Let's see if I understand.

Tools - to some extend: a DBMS.
Methods ... hmmm ... what do mean by methods? Encapsulation is a rigid way of doing information hiding. The IDS is rather indifferent to what method is used to build the applicaction. The unit of integrity is the database. The EDS's unit of integrity is the application. I could very well imagine a system, consisting of several EDS's, interconnected through well-defined store/forward mechanisms. It could behave to the outside world as one unit - establish a larger EDS.

> but they use them for purposes that are not merely orthogonal to each other,
> but are nearly antithetical.

> ... I'm calling a certain kind of database an "encapsulated data store". I'm
> using the term "encapsulated" hoping that I can do so without starting yet
> another tirade between the relational devotees and the OO devotees.

:-)

> Encapsulation is an important concept. Used appropriately, it can contain
> the collateral damage done when a very large system is revised and extended.
> I call this collateral damage "the ripple effect". In my structured
> programming years, I might have used modularity to contain collateral
> damage, but I think encapsulation clarifies and expands the concept beyond
> my own concept of modularity.

How so?

> What do I mean by an EDS? Roughly, it's this: a database is built to
> provide persistence to some data in an object oriented environment.
> However, the data is seen as being somehow encapsulated within a class of
> objects in the larger system.

The key here being "seen as". Encapsulated from the point of view of the user, the tester, the application programmer (who is only supposed to _<use>_ the classes, and _not_ looking into them), but not from the point of view of the designer.

> ... my purpose in this discussion is to move the IDS and the EDS from the
> realm of unconscious reaction to the realm of conscious thought. That way,
> the discussion between "IDS types" and "EDS types" can be rational and
> analytic, instead of visceral and parochial.
>
> What do you think?

Let's give it a try. Received on Fri Sep 03 2004 - 20:27:47 CEST

Original text of this message