WinFS – Future Technologies Damir Dobric DAENET

Slides:



Advertisements
Similar presentations
OnContact CRM Customer Relationship Management. CRM 7 Benefits Rich "client" experience, completely web-based Access data anytime, anywhere. Ease of navigation.
Advertisements

Lecture-7/ T. Nouf Almujally
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Databases Chapter Distinguish between the physical and logical view of data Describe how data is organized: characters, fields, records, tables,
Requirements Specification
WinFS. Overview of WinFS WinFS stands for Windows Future storage. WinFS is the code name of a Windows storage subsystem, being developed by Microsoft.
12 CHAPTER DATABASES Databases are the key to accessing information throughout our lives. Used in hospitals, grocery stores, schools, department stores,
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
Ch1: File Systems and Databases Hachim Haddouti
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
Enterprise Search With SharePoint Portal Server V2 Steve Tullis, Program Manager, Business Portal Group 3/5/2003.
Introduction to Databases Transparencies
Jeremy Boyd Director – Mindscape MSDN Regional Director
Agenda Model migration vs MDS upgrade Model migration overview Model migration – how does it work? Model package Demo.
Definitions Collaboration – working together on team projects and sharing information, often through ad-hoc processes, to accomplish project goals. Document.
SQL Server ® 2008 ® Native Client. Agenda  Introduction to SQL Server Native Client  Building High-Performance Data Access Solutions  Going Beyond.
Discover, Master, InfluenceSlide 1 SQL Server Compact Edition and the Entity Framework Rob Sanders Readify.
©2011 Quest Software, Inc. All rights reserved. Steve Walch, Senior Product Manager Blog: November, 2011 Partner Training Webcast.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Introduction To Databases IDIA 618 Fall 2014 Bridget M. Blodgett.
©2011 Quest Software, Inc. All rights reserved. Steve Walch, Senior Product Manager Blog: November, 2011 Partner Training Webcast.
The Future of Search Brett Roberts Chief Technology Officer Microsoft NZ.
CIS 764 – Presentation Somil Chandwani.  With Microsoft Data Access Components (MDAC), developers can connect to and use data from a wide variety of.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
WinFS Contents 1. Overview 2. Why WinFS? 3. WinFS Architecture 3.1 WinFS Technology 3.2 WinFS Types and Extensibility 3.3 WinFS Synchronization 4. WinFS.
Microsoft Windows “Longhorn” future version of Windows OS Jan “Honza” Stoklasa janstok at microsoft dot com janstok at microsoft dot com Academic Program.
Ihr Logo Data Explorer - A data profiling tool. Your Logo Agenda  Introduction  Existing System  Limitations of Existing System  Proposed Solution.
WinFS: Product Development Experience Alexander Vaschillo Microsoft Alexander Vaschillo Microsoft.
Connecting the Dots…How OSIsoft Leverages Microsoft Technology Across the RtPM Platform Christian R. Luckock Technical Strategist OSIsoft.
Databases C HAPTER Chapter 10: Databases2 Databases and Structured Fields  A database is a collection of information –Typically stored as computer.
Introduction –All information systems create, read, update and delete data. This data is stored in files and databases. Files are collections of similar.
ITOM 2308 Introduction to Databases Review Access Database Corporate Case Study ITOM 2308 Class 81.
Connecting the Dots…How OSIsoft Leverages Microsoft Technology Across the RtPM Platform Christian R. Luckock Technical Strategist OSIsoft.
Building Search Portals With SP2013 Search. 2 SharePoint 2013 Search  Introduction  Changes in the Architecture  Result Sources  Query Rules/Result.
Todd Kitta  Covenant Technology Partners  Professional Windows Workflow Foundation.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal Video Conference Archives Indexing System.
Entity Framework Overview. Entity Framework A set of technologies in ADO.NET that support the development of data-oriented software applications A component.
Chapter 2 Architecture of a Search Engine. Search Engine Architecture n A software architecture consists of software components, the interfaces provided.
Open Data Protocol * Han Wang 11/30/2012 *
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
WCM Platform Improvements ECM and Enterprise Metadata Advanced Routing and Document Sets In Place Records Management.
WHAT’S NEW IN SQL SERVER 2008: T-SQL Martin Bell SQL Server MVP.
Computer File Systems ©Richard Goldman November 26, 2001.
Professor Michael J. Losacco CIS 1110 – Using Computers Database Management Chapter 9.
Project 2003 Presentation Ben Howard 15 th July 2003.
Data Structure & File Systems Hun Myoung Park, Ph.D., Public Management and Policy Analysis Program Graduate School of International Relations International.
1 “WinFS” Future Directions: An Overview Shishir Mehrotra DAT209 WinFS Product Planning Microsoft Corporation.
Jordan Shropshire MIS Seminar Spring 2005 Technology Presentation: Microsoft Longhorn.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310.
WIN FS By Anthony Rocchio Information Assurance Group 20 September 2005.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
3 Copyright © 2010, Oracle. All rights reserved. Product Data Hub: PIM Functional Training Program Setup Workbench Fundamentals.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
Your Data Any Place, Any Time Beyond Relational. Overview of Beyond Relational Applications Today Beyond Relational Feature Overview Whirlwind Feature.
2 Behind every great site, there is great data Eric Nelson Developer Evangelist Microsoft UK
CHAPTER 9 File Storage Shared Preferences SQLite.
Exploring Networked Data and Data Stores Lesson 3.
Group Policy Preferences. Session Objectives And Agenda Group Policy Preferences High level Overview New Extensions details New Concepts Preferences Reporting.
Data in Windows 10 UWP Andy Wigley XML, JSON, SQLite or EF Core ?
Managing Data Resources File Organization and databases for business information systems.
1 XML and XML in DLESE Katy Ginger November 2003.
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
.Net A brief introduction to
Datamining : Refers to extracting or mining knowledge from large amounts of data Applications : Market Analysis Fraud Detection Customer Retention Production.
Databases.
Database Management System (DBMS)
The Re3gistry software and the INSPIRE Registry
Database Systems Instructor Name: Lecture-3.
SharePoint 2007 Developer Overview Collaboration BI Features
Presentation transcript:

WinFS – Future Technologies Damir Dobric DAENET

Sponzori

Sadržaj predavanja WInFS history and Motivation WinFS Data model WinFS Type System Item Lifetime Item Extensions Item Relations Future of WinFS Q&A

History of WinFS Started in the early 1990s. Dubbed Object File System (OFS) it was supposed to be included as part of Cairo. Cairo Later during the development of COM, a storage system COM Called Storage+, Based on then-upcoming SQL Server 8.0, Relational File System, was conceived to be launched with SQL Server 2000, but as SQL Server 2000 ended up being a minor upgrade to SQL Server 7.0, RFS On August 29, 2005, Microsoft quietly made Beta 1 August August Available to MSDN subscribers. It worked on Windows XP Windows XPWindows XP It was refreshed on December 1, 2005 to be compatible with version 2.0 of the.NET Framework. December 12005December 12005

WinFS Motivation Unify Structured – DB Semi-structured - XML Unstructured – Flat file Organize Think beyond the rigid hierarchy of the traditional folder model Explore Efficient exploration of information, powerful queries Innovate. New data platform for application developers

What is WinFS? Active Storage Platform Active storage platform for organizing, searching, and sharing all kinds of information Rich data model on the top of a relational storage engine Flexible programming model – WinFS API File System For file-based data (text documents, audio tracks, video clips..) Efficient indexing and streaming capabilities

Some key points Traditional DB -> Relational data Traditional Fileystems: Three WinFS -> Directed Acyclic Graph (DAG) WinFS -> HighLevel database

WinFS - Data Model SchemasTypesItemsAttributesFragmentsExtensionsAssociations Item Attr1Attr2Attr N relationship Item Attr1Attr2Attr N Item Attr1Attr2Attr N

Organization of the data By types and attributes Predefined Types (Person, Contact, Document,..) Custom Types (Type Definition Language) By Relationship (Item Associations) Containment Relationships Links Sharing of common values By grouping in categories

Type Definition Language XML Vocabulary...

Types in WinFS Scalar Types Enumeration Types Inline Types I.e. FullName Entity Types ItemLinkItemFragment Set of other types Extensions

Type System - Examples WinFSCLR type String BinaryByte[] Boolean Byte Int16 Int32 Int64 Single Double Decimal DateTime Guid

WinFS Item Item is the smallest unit of data Imagine Item as a vector Item is strongly typed Item is a root in the hierarchy Item is abstract class: public abstract class Item : Entity

Currently defined items ClassDescription Audio.RadioStationRepresents a radio station that may provide streams of radio. RadioStreamsRepresents a radio stream that a radio station provides. ScheduleA collection of events, appointments, or meetings associated with a user. ScheduleEntryAn item that records the occurrence of something in the environment. ContactRepresents either an organization or a person OpaqueItemRepresents the opaque binary data. DocumentAn item that represents content that is authored FolderA Folder item is a container of items.. GenericFileRepresents a generic file item. DocumentRepresents audio documents, such as tracks and albums. MessageRepresents any message in the system. RuleAn abstract base class for all "WinFS" rule objects. ShareRepresents information about a "WinFS" share. StoreInfoRepresents information about a "WinFS" store. Sync.ConflictProvides custom methods for the conflict object NonSynchronizedItemAll item types deriving from this type and all entities located below this item Video.VideoClipRepresents a video clip.

Life time of an Item public static void CreateItem() { using (WinFSData store = new WinFSData()) { Document doc1 = new Document(); doc1.DisplayName = "docX"; Document doc2 = new Document(); doc2.DisplayName = "docX"; Folder root = store.GetRootItem() as Folder; root.Children.Add(doc1); root.Children.Add(doc2); store.SaveChanges(); }

DEMO: Item Lifetime

Item Extensions public void AppendKeyword(string keyWord) { Folder folder = store.Items.FilterByType (). Filter("DisplayName == 'ExtensionHandling'"). GetFirst(); Document doc = new Document(folder); doc.NamespaceName = "KeyWordTest.doc"; doc.DisplayName = "KeyWordTest"; doc.Title = "Daenet Keyword Test"; Keyword keyW = new Keyword(keyWord); ItemKeywords kwds = new ItemKeywords(); kwds.Keywords.Add(keyW); doc.Extensions.Add(kwds); store.SaveChanges(); } string filterExpression =

DEMO: Item Extensions

Item Relations Links Relation between Entities Defined by Source and Target Link is physical construct in store Associations Entity based (Links) None Entity based Association is not a physical construct in store API generator creates Helper class

Links System.Object System.Storage.StoreObject System.Storage.Entity System.Storage.Link System.Storage.Calendar.ScheduledEntryLink System.Storage.FolderToStoreInfoLink System.Storage.Messages.AttachmentLink System.Storage.Video.Clips System.Storage.StoreObjectSystem.Storage.EntitySystem.Storage.Calendar.ScheduledEntryLinkSystem.Storage.FolderToStoreInfoLinkSystem.Storage.Messages.AttachmentLinkSystem.Storage.Video.ClipsSystem.Storage.StoreObjectSystem.Storage.EntitySystem.Storage.Calendar.ScheduledEntryLinkSystem.Storage.FolderToStoreInfoLinkSystem.Storage.Messages.AttachmentLinkSystem.Storage.Video.Clips Item 1 Attr1Attr2Attr N Link Item 2 Attr1Attr2Attr N

Linking of items public void CreateDocumentsAndRelations() { // Create documents and one message. Document document1 = new Document(folder); Message message = new Message(folder); document1.DisplayName = "Document1"; document1.NamespaceName = "Document1"; message.DisplayName = "Message1"; message.NamespaceName = "Message1"; // Create the link. AttachmentLink link1 = new AttachmentLink(message, document1); store.SaveChanges(); }

Searching for Links StorageSearcher linkSearcher = store.Links.FilterByType ().Filter("Exists(Target.NamespaceName like "Document%)"); foreach (AttachmentLink l in linkSearcher) { if (l.Source != null && l.Target != null) { Console.WriteLine(l.Target.NamespaceName + " - " + l.Source.NamespaceName); }

DEMO: Linking of items

API Generator Three entities: Link, Source and Target LinkRelation Helper Class Entity Based Associations GetLinksGivenSource Finds all links associated with a single source item. This method is not CLS-compliant. GetLinksGivenSourcesFinds all links associated with a collection of sources. This method is not CLS-compliant. GetLinksGivenTargetFinds all links associated with a single target. This method is not CLS-compliant. GetLinksGivenTargetsFinds all links associated with a collection of targets. This method is not CLS-compliant. GetSourcesGivenLinksFinds all sources associated with a collection of links. This method is not CLS-compliant. GetSourcesGivenTargetFinds all sources associated with a single target. This method is not CLS-compliant. GetSourcesGivenTargetsFinds all sources associated with a collection of targets. This method is not CLS-compliant. GetTargetsGivenLinksFinds all targets associated with a collection of links. This method is not CLS-compliant. GetTargetsGivenSourceFinds all targets associated with a single source. This method is not CLS-compliant. GetTargetsGivenSourcesFinds all targets associated with a collection of sources. This method is not CLS-compliant.

None Entity Based Associations None Entity Based Associations UserTask PrimaryTask = new UserTask(); PrimaryTask.DisplayName = "Birthday UserTask"; PrimaryTask.NamespaceName = "Birthday UserTask"; PrimaryTask.CorrelationId = new CorrelationId("PrimaryTaskId"); exampleFolder.Children.Add(PrimaryTask); UserTask SubTask1 = new UserTask(); SubTask1.DisplayName = "Arrange Hall"; SubTask1.NamespaceName = "Arrange Hall"; SubTask1.TaskParentTask = new CorrelationId("PrimaryTaskId"); exampleFolder.Children.Add(SubTask1); StorageSearcher ParentTaskSearcher = TaskParentTasks.GetParentTasksGivenTask(t);

WinFS Services RsFxSvc.Exe, RsFxDrv.Sys C:\RsFxName\MachineName\DefaultStore Coordinate file services E.g.: >pushd WinFS.exe C:\System Volume Information\WinFS\{15836D96- 5B44-4DB9-AD69-3C76B99C8571}\ \Database.mdf\Database.ldf WinFS Search service WinFS File Promotion manager WinFS Sync WinFS Rule Engine

WinFS Architecture

WinFS vs. NTFS? Relational Storage Engine Expanded to stores streams Called: File Backed Items WinFS works with Item only Win32 API works with streams only MetadataServices keeps consistency (stream item) Promotion, Demotion

NTFS File Sparsing HANDLE hFile = ::CreateFile("file.dat:alt",... ::DeleteFile("file.dat:alt"); >echo "alternative stream" > SparseMainStream.txt:AltStream.Txt >notepad SparseMainStream.txt:AltStream.Txt

DEMO: Copy a File Between NTFS and WinFS

WinFS Performance foreach (Person person in peopleSearcher) { // Avoid such queries ! foreach (ContactCard card in person.ContactCards) { Console.WriteLine(" " + card.Label); } StorageSearcher searcher = wData.Items.FilterByType ().Filter( "Container.ItemId exampleFolder.ItemId).Project("it as Person, ContactCards as ContactCards"); foreach (StorageRecord record in searcher) { Person person = (Person)record["Person"]; IList contactCards = (IList )record["ContactCards"]; foreach (ContactCard card in contactCards) { Console.WriteLine(" " + card.Label); }

Future of WinFS WinFS Beta 2 is planned for May 1, May 12006May It will include integration with Windows Desktop Search, Windows Desktop SearchWindows Desktop Search It will also include integration with ADO.NET API. ADO.NET A third Beta is scheduled for November November2006November2006 The final release is not likely to be available until late It is not clear at this time whether the final release of WinFS will be included with Windows Server "Longhorn" or not. Windows Server "Longhorn"Windows Server "Longhorn"

Damir Dobric Blog: DAENET team blog: Job at DAENET: Damir Dobric DAENET GmbH