[
Lists Home |
Date Index |
Thread Index
]
It's
scoping, Mike. If the name entry into an employee database is done
by the HR department, it's perfectly
reasonable to have the schema enforce the age constraint. In this
case, the IT department (if indeed they
control the schema) is the servant of the HR department who is likely the
servant of another HR group
reading the state or federal laws for employment. The actual
case in the state I live in is that employment
is not
constrained, but the number of hours they can work a week during the school
year, the days of
the
week and the precise range of clock time (say from 5 to 8pm) or the weekend, the
time of year,
and
the types of jobs they are allowed to do. Would that schema
apply in the UK? Possibly not.
Is
that a bit complex to put in a schema? Probably, but I can easily
envision a large company operating
within
a state that needs to ensure all of its divisions apply the same policy equally
attempting to use
an
operational schema to do that because they can create and update that easier
than they can
force
all of the distributed departments to use the same
processor.
It is
the convergence of hierarchical or networked authority resulting in scoped
policy that declares
the
business rule. The schema, CAM, Schematron, JavaScript, and so on are just
means. If
the
means is not ubiquitous, the policy still can be. The
general rule is, the larger the scope,
the
looser the schema. It isn't means but application that determines
constraints. The tradeoff
is
that increased abstraction reduces performance, and spreading the business rules
out increases
the
processing required to complete a transaction.
The
example you give below is a consequence of distribution of the application at a
greater scope
than
the design can support. The means is functional but the design is
not fit.
len
Incidentally, it happens less often nowadays, but just yesterday I made
an online purchase from a US supplier who required me to enter a two-letter
code in the "State" box and a numeric value in the "postal code" box,
despite the fact that I had entered UK as the country; so of course I lied,
and they now have my state recorded as "ZZ" and the postal code as 12345. They
also required a ten-digit phone number. Which reinforces another of my
arguments: the more validation you do, the more you force people to supply
incorrect information.
Michael Kay
|