Presentation is loading. Please wait.

Presentation is loading. Please wait.

“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310.

Similar presentations


Presentation on theme: "“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310."— Presentation transcript:

1 “ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310 Program Manager Microsoft Corporation

2 2 Data Access Challenge Desktop Developers Building data centric applications is overly difficult Requires object framework design skills Requires performance and scalability tuning skills Requires UI skills More time spent on plumbing than on app itself!

3 3 Data Access Challenge Now imagine if… You could manipulate data as objects but query it as relational Flexible query definition and composition Build Rich Dynamic scalable UI You could model your business data as objects Share your data types with other applications You could sync data to make it available offline Provides two-way synchronization

4 ADO.NET WinFS Item Data Model Query Services File Services Metadata Handlers,… Operations Backup, AV,… ItemAssociationExtension Schemas TasksMedia Docs… Sync Adapters, … PeopleMail File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Update Logic “DLinq” File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Database Engine NTFSCLR WinFS for Developers 1 2 Leveraging a rich data platform Using the next generation ADO.NET API on WinFS to query for data and build great applications, without building your own data store Building shared data applications Use schemas to extend and relate Windows types, build your own types, and extend with logic and behaviors 3 Building smart connected applications Build sync adapters to bring your data into WinFS 1 2 3

5 Simple retrieval

6 6 StorageView Provides feature rich access to WinFS data Data Virtualization and Paging Grouping, Sorting, Filtering and Aggregation Notifications NOT a UI control or a SQL View Implements Data Binding interfaces Binding User Interface object Property Data object Property

7 Data binding demos

8 8 Sync Adapters Canonical way to synchronize data with WinFS Change tracking built into the store Conflict detection and resolution WinFS Sync Adapters class MyAdapter : SyncAdapter { public void Initialize(SyncProfile profile) public void Initialize(SyncProfile profile) public override void Synchronize() public override void Synchronize() public override void Cancel() public override void Cancel() private void ReceiveSync() private void ReceiveSync() private void SendSync() private void SendSync()......}

9 Inside A Sync Adapter Receive Sync using System.Storage.Sync; // Initialization SyncService syncService = (SyncService) winfsData.Context.GetService(typeof(SyncService)); Guid remotePartnerId =...; syncService.Initialize(profile.LocalEndpoint.ReplicaId, remotePartnerId); syncService.ConflictPolicy = profile.ConflictPolicy; // Set baseline for conflict detection syncService.RemoteKnowledge = LookupMetadataFromLastSync(); // Provide changes like you would for WinFS API CUD operations Person p = new Person(); p.DisplayName = remotePerson.Name; // Schema transformation... // Applies changes: does conflict detection and handling, syncService.SaveContextChanges(); // Save updated baseline SaveMetadataForNextSync(syncService.RemoteKnowledge); Using Sync namespace 1 Initialize SyncService 2 Set-up Conflict Policy and Baseline 3 Provide and Apply Changes 4 Save Updated Baseline 5

10 Inside A Sync Adapter Send Sync // Send Sync – Enumerating Changes // Set baseline for change enumeration syncService.RemoteKnowledge = LookupMetadataFromLastSync(); using (ChangeReader reader = syncService.GetChangeReader()) { foreach (CompoundItemChange cic in reader) { // CompoundItemChange internally contains // WinFS API data objects for changed Entities switch (cic.RootItemChange.ChangeType) { case ChangeType.Create: case ChangeType.Update: case ChangeType.Delete:...; // Schema transform WinFS change // and apply to remote store } // Updates change enumeration baseline reader.AcknowledgeChange(change, true /*success*/); } // Save updated baseline SaveMetadataForNextSync(syncService.RemoteKnowledge); Process Change and Apply Remotely 3 Get ChangeReader 1 Read Changes 2 Report Change Applied 4 Save Updated Baseline 5

11 Partner demo – Adesso

12 12 Partner Demo - Adesso Adesso Server Demo PC WinFS Store Synchronization Back Office Data StoreSpy Adesso Designer PocketPCclient

13 13 WinFS: Raising the Productivity Bar You CAN manipulate data as objects but query it as relational Flexible query definition and composition Build Rich Dynamic scalable UI You CAN model your business data as objects Share your data types with other applications You CAN sync data to make it available offline Provides two-way synchronization

14 14 Community Resources At PDC For more information, go see DAT209 (again!): Repeated Thurs 515pm DAT312: “WinFS” and ADO.NET: Future Directions for Data Access Scenarios (Wed 5pm) Labs: DAT-HOL07: Getting started with WinFS DAT Track lounge Ask the Experts: Thursday night After PDC MSDN dev center: http://msdn.microsoft.com/data/winfs/ http://msdn.microsoft.com/data/winfs/ Channel 9 tag: http://channel9.msdn.com/tags/WinFS http://channel9.msdn.com/tags/WinFS Blog: http://blogs.msdn.com/winfs http://blogs.msdn.com/winfs Newsgroup: news://microsoft.public.windows.developer.win fx.winfs news://microsoft.public.windows.developer.win fx.winfs news://microsoft.public.windows.developer.win fx.winfs

15 15 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310."

Similar presentations


Ads by Google