Lists Home |
Date Index |
7/6/2002 8:33:20 PM, Jonathan Robie <email@example.com> wrote:
>>If you use static typing throughout your organization, with a standard
>>infrastructure so that the types mean exactly the same thing, and you
>>impose the same on your entire supply chain and customer base, THEN
>>this error will not occur. No disagreement from me!
>>There would, however, be no need for XML in that environment :~)
>Are you saying that XML is not needed in any environment where instances
>are required to validate against a given schema?
No, I'm saying that seriously heterogenous environments -- e.g. Java
clients accessing legacy COBOL stuff via C++ intermediaries, or
whatever -- are unlikly to be sufficently "strongly typed" to
prevent the errors you talked about. WXS types give a language to
specify an abstract type underneath all that, but doesn't make the problems
of mapping unsigned int's to Java go away. Amy Lewis had a great post
about this, obviously speaking with the Voice of Experience, on this
a couple of months ago that made the point far more clearly than I can.
To get typing that is strong enough to really and truly achieve "safety"
requires, to the best of my knowledge, an essentially
homogenous environment -- one language, one DBMS vendor, etc. -- or an
IMMENSE amount of integration work. [Obviously this is my best understanding
from reading about the subject, not my "expert" opinion issued ex cathedra].
So, my point was that if you have a homogenous environment, or have created
one with all that integration work, you don't need XML in the first place:
you can send stuff around in its native format.
>Using static typing establishes that your query is safe as long as the data
>validates. You don't have to require the rest of the organization to use
>static typing - the static type check is just a way of ensuring that your
>query is typesafe.
OK, but my earlier point (invoking Enron and WorldCom) was that if you don't
have valid data in the database, you're going to get some unpleasant
surprises from the type-safe queries. In my humble opinion, the intrinsic ambiguity
and error proneness of real-world data requires explicit checking for / resolution
by business processes that can't be reasonably expressed with WXS schema or
type-safe queries. For example, it's hard to imagine data-checking rules that
don't involve co-occurrence constraints ("if A has value X, make sure that
B is between Y and Z ..."), and even harder to imagine those that don't
involve checks against external data sources ("is this item in our catalog, do
we have it in stock, and has the buyer established credit with us?"). Considering
all of that kind of stuff that will go on in a realistic application, it's hard for
me to see the tangible advantages of the static typing / safe queries.
I honestly think it's time for us all to shut up and come back when we have
reference applications that demonstrate the stuff we're speculating about :~)