Tuesday, December 05, 2006
The Murky Waters of Schemas
I attended two sessions that discussed schemas this morning. The first presenter was from Microsoft, and he explained how Microsoft decided they needed to know more about how people are actually using Schemas (or if they're using Schemas?) before they went and built a tool to build schemas that people might actually use.
The study revealed recurrent reasons people are currently using schemas:
- Because other people are using them.
- Because other people are using them and we need to work with their stuff.
- Because the tools don't support DTDs.
They didn't ask questions about best practices. They didn't ask questions about business need. They just took the answers from a bunch of developers and DBAs and went from there. Amusingly, they summarized the response:
"Developers are saying that DBAs use schemas, and everyone else says Developers use schemas."
Uhh... Where are the business requirements in this mix? Some context please? No. They didn't ask about that. They just asked about current use.
MKay...
What was established is the fact that the level of schema use will increase in the future as people stop supporting DTDs. More products will incorporate some sort of XML. Other people are doing it, so we need to be on the band wagon. Future projects will require schemas. Web services require schemas.
One thing that wasn't explicitly mentioned – Microsoft never bothered to support DTDs in the first place.
But here's the important stuff – My notes from the Q & A at the end of the session:
Q: Is there any relationship between the adoption of Schema and XQuery?
A: The presenter can't answer this question since they didn't really ask anything about XQuery.
Q: Tools for complicated schemas would be very useful for adoption – people are using tools to build SOA schemas now, which is why people who are developing more complex schemas are building schemas by hand. Will there be tools developed for people who are working with extensible and complex schemas?
A: Presenter says that Microsoft has worked with large schemas and that they want to ensure that their tools/APIs will handle large schemas effectively.
Note: Currently, it's hard to work with modular schemas – the schema include thing is not highly implemented – which means people are flattening their complex schemas just to make them work.
Note from a W3C Working Group Member: The Schema 1.1 workgroup wants to make sure they're attacking a limited set of pain points to repair things that people want – did Microsoft's study tell them anything that might help the Schema 1.1 working group address these pain points? Why are people using Schematron and RELAX NG? What is the schema group missing?
(My un-voiced answer to this question: Uhhh.... go look at what Schematron and RELAX NG do, and you'll find out what XML Schema doesn't.)
I asked if they had asked any questions about methodologies and best practices, since my own attempts to follow methodologies resulted in a schema that Word 2003 chewed up and spit out. I was told that Microsoft's study never asked people about schema methodologies and tool support for how schemas are developed (like schemas in MS Word 2003). However, they are going to try track best practices in the future. A huge barrier to completing this work is getting Web Services group to cooperate with the SQL group and the Office group on what best practices are.
Q: Would the use of UML to develop schema requirements have any effect upon, or help increase the adoption of schemas in the future?
A: Cricket cricket cricket... Uh... No. That wasn't part of the survey.
In conclusion, people use schemas, but not because they want to. A small number of people started a conversation regarding RELAX NG, Schematron, and TRANG during the session break.
The next session was "Daddy? Where do Schemas Come From" – the most I got out of that was practice safe validation. Someone even suggested digitally signed certificates to validate validation. Oh boy.
This presentation also failed to put reasons to practice safe validation into real world business requirements.
Sigh. Hopefully the desktop tools sessions this afternoon will have more relevance in terms of the real world.
Labels: XML2006
