Re: Multiple specification of constraints

From: Dawn M. Wolthuis <dwolt_at_tincat-group.com>
Date: Sun, 29 Feb 2004 13:04:39 -0600
Message-ID: <c1td50$7ch$1_at_news.netins.net>


"mAsterdam" <mAsterdam_at_vrijdag.org> wrote in message news:4041a4e2$0$558$e4fe514c_at_news.xs4all.nl...
> Dawn M. Wolthuis wrote:
>
> > "Marshall Spight" <mspight_at_dnai.com> wrote in message
> > news:ZNU%b.135759$jk2.560043_at_attbi_s53...
> >>"Bob Badour" <bbadour_at_golden.net> wrote in message
> >> news:btKdnadUYoVY-6LdRVn-gQ_at_golden.net...
>
<SNIP>
>> If we call this current intersection between the constraints/typing that
the
> > UI or WS does and what the DBMS does as the "data integrity engine"
> > (produces a lousy acronym, so I don't think it'll catch on ;-) then
ideally
>
> Indeed it would not sell easily. More importantly I would associate
> "data integrity engine" more with what just the DBMS does, not
> whith the (topical) intersection, so luckily they allready exist
> as part of the CRUD services. But what to call the set of constraints
> that serve to assists the users in achieving their goal?
> They are not limited to the workstation.
> (That is what you mean with WS ?)

No, sorry -- I had previously referred to web services and will be sure to spell it out in the future as I can see why WS is confusing.

>
> > I would want the run-time environment, the logic applied and the
integrity
> > constraints to all be the same, even if we need to apply this twice --
for
> > entering the front door and again for the inner sanctum.
>
> I'ld want that too - but they are not - at least they are not
> except in the most trivial situations. Hm... to many hints and negatives
> and here. Let me rephrase. Only in the most simple of situations C-UA
> and C-CRUD are the same. (C = type defined in terms of contstraintset,
> UA = user assistence).
>
> Unfortunately they are generally not the same. But to avoid unnecessary
> duplication of the intersection, we could/should use the ancient
> *indirection* trick: create a new original, and have both the old
> original and the duplicate refer to the new original. If the translation
> from/into human readable form is done at the right time and the right
> place, we won't even notice - hey, we only *think* we are writing
> characters here, while at the lower level we are actually writing ASCII,
> UTF or whatever bitcodes (assisted by our mailerprogram) that just refer
> to characters.
>
> > This DIE is then like a distributed DBMS, which can be decoupled from
CRUD
> > services, useful for all such purposes. I haven't done much study of
> > Aspect-oriented programming, but I think that might have some relevance
to
> > this area (not sure -- I'll have to read a bit more). Otherwise, I
really
> > don't hear much from database providers that would do what I looking
for,
> > but allowing for the software applications to be written in Java or C#
or
> > whatever language is desired.
>
> Even ODBC is capable of delivering a usable set of constraints - at
> least with Oracle and DB2. Haven't looked into Pg, MySQL or SQLite yet.
>
> Or did I get you wrong, are you looking for something else?

If I'm writing Java swing code, for example, or pick your favorite environment, and I need to display a set of mutually exclusive options (such as true/false) or a short or long list from which the user selects one or more options, or a calendar from which to select a date, ... then the data constraints (such as the type of element, a range or set of valid values, max or min length, etc) need to be available for my java-written GUI (or C, or C++ or VB or ...). However, now they are buried in the dbms so developers tend to write them again at the front-end of the process, duplicating both specs and logic for applying such specs in a different language. Bad plan, methinks.

>
> > It seems to me that the DIE could end up with the DBMS's moving that
> > direction or the programming libraries with application servers
> > (J2EE/.NET) -- or both. But continuing our plight of double-coding type
> > information in two different places, two languages, two run-time
> > environments, just doesn't seem wise.
>
> I see hurdles in the coordination involved. As soon as there is a
> reference to a thingy, that thingy is not as free to change as it was
> before the reference. This goes for charactersets as well as for
> constraints.

Today if you have a constraint with multiple specifications and you want to change it, you must find all places it needs to change (GUI, database, data extraction tools, reporting tools?) and then find enough developers to cover all required skills and only then can it be changed. What is the opposite of "agile"?

--dawn Received on Sun Feb 29 2004 - 20:04:39 CET

Original text of this message