[
Lists Home |
Date Index |
Thread Index
]
> -----Original Message-----
> From: Champion, Mike [mailto:Mike.Champion@SoftwareAG-USA.com]
> Sent: 30 December 2001 18:14
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] The Two Poles of the XML World (was RE: [xml-dev]
> W3C's five new XQuery/Xpath2 working drafts - Still missing Updates)
[...nice summary cropped...]
> So, what might the decision tree to steer someone to the "strong" pole or
> the "loose" pole look like? I'll just throw out a few criteria that would
> tend to point in one direction or the other, and maybe others can add to or
> critique them:
Perhaps these are 'smells' rather than decisions? Some of them
appear to be side-effects of external pressures, rather than actual
decisions. (I expect you were using the term 'decision tree' loosely
anyway).
I'll throw out a new one to begin with:
Are you early in your development/standardisation cycle -> loose
Do you have extensive experience within the domain -> strong
> Are your requirements and environments predictable and stable? -> strong
> Is everything changing faster than you can cope? -> loose
Another way to phrase this might be:
Are you confident that your have captured all your requirements? -> strong
Is change expected? -> loose
> Are you importing/exporting strongly typed data? -> strong
> Are you importing/exporting loosely structured data? -> loose
I wonder if we can decompose that further? For example I can
imagine scenarios in which systems might be loosely coupled, but
that individual data elements are still strongly typed. E.g. where
we've got a mixture of namespaced data, some of which may
be ignored.
Are you working with closed schemas? (XSD?) -> strong
Are you working with open/extensible schemas? (Schematron?) -> loose
Schematron schemas are open by default, XSD the reverse.
Can we distinguish between applications that depend on data-typing (strong),
rather than on structure (loose)?
> Are you developing with Java or C++/C#? -> strong
> Are you developing with script or VB? -> loose
While I agree that scripting is equated with looser environments, I'd
disagree that use of Java/C++/C# necessitates a strong environment.
They do facilitate use of data-bindings, but don't require them.
Perhaps the more general decision is whether one is using data-bindings
to map to language types?
How about also:
Are you using non-XML aware tools (grep, regexps, etc) -> loose
> Do you have authority to make others do the right thing? -> strong
> Are you at the mercy of folks who live by Murphy's Law? -> loose
Somewhat related:
Are you processing data from multiple sources -> loose
Are you exchanging data with business partners -> strong
Another way to state this might be:
Are you aware of everyone who is processing your data -> strong
Are you distributing data to multiple endpoints, some of which are unknown -> loose
Cheers,
L.
|