Lists Home |
Date Index |
Here are some thoughts:
1. Constraints on data are not equal to business rules.
2. Business rules change. Constraints on data do not.
3. Constraints on data should be specified in XML Schemas. Business rules
should not. Business rules should be specified in higher level application
A company has employees. The current company policy on the minimum age
requirement is 16. Should the company create an XML Schema that constrains
<minimum-age> to 16? Or, should the company create an XML Schema that
simply constrains <minimum-age> to an integer, and let applications higher
up provide further constraints?
- Mandating that the minimum age of an employee be 16 is a business rule.
It is highly likely to change over time.
- The value of the <minimum-age> must be an integer. This is a constraint
on the data. It will not change over time.
Therefore, an XML Schema should simply constrain <minimum-age> to be an
integer. Higher level applications should implement the business rule that
<minimum-age> be further constrained to 16.
How would you characterize the distinction between "business rules" and
"constraints on data"? /Roger