July 26, 2005

XML and .Net: fascinating future

If you thought that some smell of XML in C-omega was amazing, believe me that's nothing. Major XML and .NET integration stories are still ahead of us. Something big is cooking inside the house. Look at these news. ...

From the PDC 2005 Session abstracts:

The .NET Language Integrated Query Framework: An Overview
Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. The "Orcas" release of Visual Studio aims to unify the programming models through integrated query capabilities in C# and Visual Basic, a strongly typed data access framework, and an innovative API for manipulating and querying XML. This session introduces each of these areas and walks through how they are related.
And more:
Using the .NET Language Integrated Query Framework with XML Data
One of the key challenges to working with XML data has been the impedance mismatch between XML and programming languages. This session introduces advances Microsoft is making for the "Orcas" release of Visual Studio in programming languages and frameworks to help integrate XML and queries with C# and Visual Basic. The advances include a framework for navigating, querying, and transforming XML that is both easier to use and more efficient than current XML programming techniques. This framework marries the capabilities of XPath, XQuery, and the DOM with the language integrated query framework planned for C# and Visual Basic.
Hmmm, marrying XPath, XQuery and DOM. That must be hot.

Actually that IQF (Integrated Query Framework) idea is really predictable and unavoidable. When you take a deep look at XPath, XSLT and XQuery as implementor you see how similar they are and naturally Microsoft came up with Query Intermediate Language (QIL) Common Query Runtime (CQR). This stuff is not out of blue research project, it's already implemented in .NET 2.0! Ok, the only query language officially supported via this new common query machinery in .NET 2.0 is old good XSLT 1.0 - XslCompiledTransform class (but as you can guess of course XPath 1.0 is there too). But the architecture is ready for any XML query language, and just as with .NET all it takes to add support for a new language is to develop a compiler to QIL (analog of MSIL).

And if you take a broader view, the very next natural step is the Integrated Query Framework.

And if that's not enough, look at "XML Generics" by Matt Warren. That's really insane.