From a technology standpoint, WinFS is made up of five components:
Core WinFS is made up of the core services that you would expect from a file system.
Think of Core WinFS as the fundamentals, which includes operations and file system services. Some examples here are security, manageability, Win32 file access support, import/export, quotas, and so on.
Moving beyond the core services, the Data Model provides some of the technical innovations including the basic item structure, relationships, and the ability to extend both items and relationships.
Without built-in schemas, WinFS would be no better than the existing file system, since WinFS would not understand your data in richer ways or provide a more structured way to handle your data's metadata.
WinFS schemas include schemas for your everyday information such as documents, e-mail, appointments, tasks, media, audio video, and more. WinFS also includes system schemas that include configuration, programs, and other system-related data.
Synchronization and rules fall into the services area of WinFS. These technologies "sit on top" of WinFS to provide you with capabilities that extend beyond the fundamentals of the system.
Synchronization will enable you to synchronize WinFS systems across a network, as well as build synchronization adapters to synchronize WinFS to other systems. For example, you may want to synchronize contact information from your CRM system to WinFS so that you can relate that data to other data in WinFS or work with that data offline through WinFS.
Synchronization adapters can be bi-directional, so any changes made to the data in WinFS can be synchronized back to the other partner system.
As a developer, you write to APIs. WinFS includes a rich API that is part of the overall WinFX programming model in Longhorn. Through the WinFS API, you can program the different building blocks of the WinFS system including data operations, rules, synchronization, and the data model.
The API that will provide programmatic access is being coded in C# or Managed C++, so .NET applications can access it, but the actual base code that will execute the functions of WinFS is coded written in C++.
This is to provide WinFS with access to the Kernel of the operating system which in turn provides root access to disk management API's which are part of NTFS.