AS WITH EARLIER MICROSOFT mantras (ActiveX, Windows DNA), .Net means almost everything and therefore nothing in particular. The Redmond priesthood incants XML with the same mystical vagueness. No resounding amen has yet been heard from the hundreds of millions of souls who use Windows and Office, who were recently demoted from "knowledge workers" to "information workers" and then reclassified as "first-class data objects." Instead they ask, "What's in it for me?"
The answer is a vision of computer-assisted work and play imagined by science fiction writers for decades -- by Apple in a 1987 concept video called Knowledge Navigator, and again by Microsoft two summers ago when it first rolled out the .Net strategy.
The truth is, nobody knows when, how, or even if we will get from here to there. XML and .Net are really just code words for sets of best practices that will, we hope, create an environment in which the vision can be made real. It's useful to unpack these terms and list what those best practices are.
First, consider the engine at the core of .Net: the CLR (Common Language Runtime). Already deployed on servers, and coming soon to a desktop near you, CLR unifies the two great themes of modern software: objects and components. The ideas embodied in the CLR are so unstoppable that Microsoft's open-source competitors are rushing to embrace them.
The chassis of the vehicle powered by this engine is the .Net Framework. Its design goal, first stated by Microsoft architect Dave Stutz, was to capture a wide variety of best programming practices. A work in progress, the framework also wraps consistency around a welter of legacy APIs, first by consolidating interfaces to the servers (see " Road to managed code "), then by doing the same for the client.
Parsing the meaning of XML
The .Net Framework is deeply XML-aware but, again, it's helpful to unpack the ways it is so. Empowering components to communicate using SOAP messages is the framework's most heralded use of XML. When Visual Studio .Net and its ASP .Net infrastructure shipped in February, some early adopters had already been deploying Web services based on this technology for more than a year.
More broadly, the framework enables applications to create, exchange, and store documents that represent all kinds of data using XML. Schemas that govern the structure of this data will, in theory, make it available for intelligent use and reuse. In practice this semantic Web architecture is as far behind the curve as .Net Web services are ahead of it.
In the concept videos, of course, it's a done deal. All data is smart-tagged. DNA winding its way through the core of every document governs its behavior within an information ecosystem. How that DNA got there is a question that everyone begs. Who will write the Web Ontology Language that Tim Berners-Lee and the W3C imagine as the lingua franca of the semantic Web?
The answer is everyone, and most of us will use Microsoft Office products to do that writing. Every day, we pour an ocean of information into Outlook e-mail messages, Word documents, Excel spreadsheets, and Web pages rendered in Internet Explorer. The sum of all this data vastly exceeds what is stored and managed in databases, and essentially none of it today has anything to do with XML.