Developers Get First Look at WinFS

A year after pulling the "WinFS" storage subsystem from the Windows "Longhorn" (now Vista) client OS, Microsoft posted a surprise beta of the technology for developers on MSDN on Monday.

WinFS, which stands for Windows Future Storage, is an integrated data storage subsystem of the Windows operating system. Microsoft aims to bridge the gap between traditional OS file systems and relational databases by bringing the flexibility, organizational and querying capabilities of databases to the file system.

Microsoft's implementation centers on the idea of reorganizing file storage around "items," which fall into certain standard and extensible "types" such as a person, calendar, contact, document or photo. The approach opens the data within a traditional file to use by other applications without data transformation or other interim steps.

For example, a user could create a mailing list in a Word document that pulls perhaps 50 contacts out of a CRM application and another 100 contacts out of an Outlook calendar. Relationships between data maintained in different applications can also persist in WinFS, making it possible to use standing queries to retrieve the most up-to-date information. As Microsoft puts it in WinFS documentation, "The unified item data model will release individual data items from their respective silo'ed applications."

In removing WinFS from Longhorn last year, Microsoft committed to releasing a WinFS beta at the same time as Windows Vista ships in the second half of 2006. Despite the earlier-than-promised beta, Quentin Clark, director of program management for WinFS, says Microsoft's schedule for WinFS hasn't really changed. "This is just the first beta that we have," Clark said. "We have more betas coming. Our delivery timeframe hasn't changed. It will still be in beta when Windows Vista ships."

For now, the WinFS beta supports Windows XP, but the company has not made a long-term commitment to supporting that OS with WinFS. "The broadest audience we can reach right now is going to be on Windows XP. What we do longer term is a function of where the market is," Clark said.

Clark maintains the underlying themes and functionality of WinFS have not changed since the storage subsystem was disconnected from Longhorn a year ago, but he says the uses for WinFS that Microsoft will emphasize have changed because of subsequent work in Windows Vista.

Two major themes that are apparent in Windows Vista Beta 1 are better organization and navigation of files and folders and enhanced search. Those Vista features depend on additional and improved use of Windows' indexing technology, which already existed in previous versions of Windows.

WinFS was originally positioned as key technology for delivering those organization and search improvements, and WinFS will still be important in driving improvements to those features down the road, Clark said.

"What's this thing for then?" Clark said in acknowledging the most common question asked about WinFS in light of search and organizing being delivered in other ways. "We emphasize WinFS being a data platform."

In many ways, WinFS looks like one more pipe in the plumbing that Microsoft provides for developers. With .NET and Visual Studio, Microsoft lets developers spend less time worrying about garbage collection or writing secure code and more time on what those developers want their applications to do. With WinFS, Microsoft seems to be aiming to help developers spend no time thinking about questions like, "What should a contact look like, and how should I store it?" and more time thinking about what they want their applications to do with contact information. The upside for Microsoft is an even deeper reliance by developers on Microsoft's infrastructure.

Since the technology promises to make data reuse so much easier, however, WinFS could encourage developers to think much bigger when designing applications.

Architecturally, WinFS holds two views of files. A stream view is similar to the way files are currently stored and to the way the file appears on disk. A logical view is the new part that abstracts the file's properties and can be queried.

The WinFS storage subsystem will not replace NTFS. The WinFS store can only be hosted on NTFS volumes. While an NTFS volume can contain multiple WinFS stores, a WinFS store can't span multiple NTFS volumes.

In addition to the file system, delivery of the beta includes developer APIs, a language for defining new types and schemas and a query language for retrieving information from the WinFS store.

Clark says most of the pieces are included with Beta 1. "The heart of what it is -- the file system, the data model, the schema -- is basically in place," he says. "What I think will change, based on developer feedback, is some of the schemas will evolve, and some of the manageability functionality won't be in the product yet."

About the Author

Scott Bekker is editor in chief of Redmond Channel Partner magazine.