I started working on the outline for a book I am planning to write about ObjectSpaces. My goal was to get it started before 2004, so there you go – well ahead of schedule.
Please don’t tell Dare though, I am suppose to be finishing up a long over due ExtremeXml column for him today. In fact, it is part 2 of an article I wrote eight months ago. Oh well, unless distracted, I will probably finish it today also. My apologies to all the SqlXml’ers out there. Originally I said the new column would be out a few months after TechEd 2003. I guess my New Year’s resolution for 2004 is to make my writing deadlines, and of course, as always – to work out more.
The articles are about using XmlSerialization and SqlXml 3.0 to turn Sql Server into an object repository. Basically, it shows how to build a basic object to relational mapping framework using existing, released technologies. In other words, a poor man’s ObjectSpaces. However, please note that the ObjectSpaces’ persistence engine does not utilize XmlSerialization like my sample application does. In fact, the lexical reprsentation (XML) of the data being exchanged between the client objects and the data store it really unimportant. What is being leveraged is the heirerarchical, semi-structured nature of the XML data model. In other words, XML is an excellent way to representing an object graph and SqlXml is really good at translating the relational data to the XML data model – so by utilizing SqlXml and XmlSerilization, one can create a very interesting alternative data access mechanism for .net applications.
It is no secret that going forward that the SqlXml and ObjectSpaces teams at Microsoft are sharing the core query/ persistance/ persistencemapping code base. In fact, in Whidbey the new three part mapping will only differ only on the “left hand side”. I prefer to say (with a bit of hand waving) that the only difference between the two technologies is angle brackets… but that is probably a bit of an exaggeration. I would however suggest that the two technologies are a lot more similar then not.