[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] Should an XML vocabulary be a Swiss Army Knife or adedicated appliance?
- From: "Costello, Roger L." <costello@mitre.org>
- To: "'xml-dev@lists.xml.org'" <xml-dev@lists.xml.org>
- Date: Tue, 17 Feb 2009 08:11:33 -0500
Hi Folks,
Tommie Usdin did a great job focusing the problem statement:
When should one accommodate variation in an
XML vocabulary and when should one create
separate XML vocabularies?
He also made an illuminating comment that any proposed solution to the problem should target the usage of the XML vocabulary(s), not how easy it is to create the vocabulary(s):
The differences in the costs to CREATE the
vocabulary(s) should be (largely) irrelevant
in an environment in which the vocabulary(s)
are create once and used many many times.
Let's approach the problem from that perspective (i.e. how does the XML vocabulary benefit the users).
Let's return to the example of the local moving company & Fedex.
Suppose that currently the two companies are paper-based; they desire to become digital-based and use XML to structure their data. Your job is to create an XML vocabulary. Should you create separate vocabularies, or should you create one vocabulary that supports variation?
I see four possible scenarios:
SCENARIO #1: INDEPENDENT/INDEPENDENT
The two companies currently operate independent of each other (they don't do business with each other) and they will continue to operate independently in the future.
SCENARIO #2: INDEPENDENT/INTEROPERATE
The two companies currently operate independent of each other (they don't do business with each other) but they will interoperate in the future (the local moving company will subcontract with Fedex).
SCENARIO #3: INTEROPERATE/INDEPENDENT
The two companies currently interoperate (the local moving company subcontracts with Fedex) but in the future they will be independent (they won't do business with each other).
SCENARIO #4: INTEROPERATE/INTEROPERATE
The two companies currently interoperate (the local moving company subcontracts with Fedex) and in the future they will continue to interoperate.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ANALYSIS
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
How would you create your XML vocabulary(s) to benefit the users in these four scenarios? I'll take a stab at answering:
SCENARIO #1: INDEPENDENT/INDEPENDENT
Create separate XML vocabularies. The users won't benefit from one vocabulary with variations.
SCENARIO #2: INDEPENDENT/INTEROPERATE
Create separate XML vocabularies and perform XSLT transformations when interoperability is needed.
SCENARIO #3: INTEROPERATE/INDEPENDENT
Create separate XML vocabularies and perform XSLT transformations when interoperability is needed (the XSLT stuff will go away once the companies stop doing business with each other).
SCENARIO #4: INTEROPERATE/INTEROPERATE
I see two sub-scenarios:
SUB-SCENARIO #1: LOTS OF INTEROPERABILITY
The two companies interoperate a lot.
SUB-SCENARIO #2: LITTLE/LOCALIZED INTEROPERABILITY
The two companies interoperate just a little.
Here's how I think the XML vocabularies should be created for these two sub-scenarios:
SUB-SCENARIO #1: LOTS OF INTEROPERABILITY
Create one XML vocabulary with variation.
SUB-SCENARIO #2: LITTLE/LOCALIZED INTEROPERABILITY
Create separate XML vocabularies and perform
XSLT transformations when interoperability is
needed.
RECAP
My analysis reveals these recommendations:
1. Always create separate XML vocabularies except for the situation where both companies already interoperate a lot and will continue to interoperate a lot in the future.
2. Use XSLT to transform separate XML vocabularies where interoperability is needed.
Do you agree with this analysis and these recommendations?
/Roger
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]