Data Access ROX. An article on the Data Access Support in "Whidbey"

I wrote this article on the Data
Access Support in Visual Studio.NET code named “Whidbey”
 in order to provide
and overall positioning paper to describe the data access technologies introduced
at the PDC. It describes the strenghs and the primary target scenarios for each data
acces technology that has been incorporated into ADO.NET - Relational, Objects
and XML. It is in effect a distillation of the Data
Access Design Patterns: Navigating the Data Access Maze
 talk given by Mike
Pizzo
.

In reality applications will start to use a combination of data access technologies
depending on the business problems being addressed. There is a clear trend where the
data access is layer is evolving to provide better levels of abstraction, to ease
the data model impedence mismatch and continue to provide powerful features for ultimate
control. The data access layer still continues to be the pivotal point of development for
the majority of applications today.

My favorite highlights of the "Whidbey" data access technologies in ADO.NET are;

1.
Streaming based XML queries over data stored in SQL Server. This
provides the ease of heirachary data visualization using an XML schema without requiring
to know the complexities of the SQL query language.
2.
XPathDocument as a better
DOM
. The XPathDocument has faster queries, significantly improved load and save
times, typed storage and the sexist bit - databinding to UI controls. 3.
Objectspaces. This and SQLXML in ADO.NET are simply manifestations of the same technology.
One is Object-Relational and the other is XML-Relational. Beneath the API facade lies
a single common mapping and querying engine. They are twins, born from the
same genetics.
4.
Paging support in ADO.NET. One of my first UI pieces of code that I wrote (after having
spent 2 years on VAX systems) was paging code for a listbox control on the Windows
3.1 platform. The code became complex to achieve smooth scrolling and caching just
the right amount so as to not hit the server whilst remaining  responsive.
It was horrible code to write. Now it is a simple matter of calling the ExecutePageReader method
and you are able to page results sets back to the client. Superb!

Comments on this article are welcomed. I am also writing a more detailed article to
cover the XML support in "Whidbey".