Lists Home |
Date Index |
Michael is right, but this isn't a one size fits all decision.
Loose filters allow dirt to seep into the system. The architectural
question is what are the right places to put such rules into
a system? We are aware of different technologies for this,
and it is a good thread to out the issues if that interests
the members of this list.
That a technology can accomplish a task doesn't mean it
is the right tech for that task. It doesn't mean it isn't.
I suspect this is another task situatedness issue, but given
a services architecture, one might want to inquire about
tasks relative to their roles in distributed processes
that are candidates for orchestration.
From: Roger L. Costello [mailto:email@example.com]
Michael Kay wrote:
> I tend to be a little wary of constraints myself.
> Many of those you see in student textbooks are
> misguided. If I see a schema (XML or RDB) with the
> constraint that employees must be over 16, I ask
> myself what the IT department would do if the
> business decided to hire someone under 16. If
> there's a rule that an employee's manager must
> themselves be an employee, I ask what would
> happen when someone is told that they now report
> to a contractor.
This is excellent:
> It's not the job of computers to limit what people
> are allowed to do (or the job of the IT department
> to regulate the business).
The following innocuous sentence has profound implications
on the role of schemas:
> A guideline I use is that constraints should be there
> only to protect the IT system itself from data that
> it cannot handle.
Would you elaborate upon this sentence Michael? I believe
that you are saying that the role of a schema is to define
things such as:
- ensure that a "date" is indeed a valid date
- ensure that an "age" is indeed a valid age
The role of a schema is not, for example, to specify:
- the "age" must be at least 16.
So, your guideline says: use schemas to specify datatypes
for objects, not their range of values. Is that a fair
summary of your guideline? /Roger