WinFS - WinFS

WinFS (lyhenne sanoista Windows Future Storage ) oli koodinimi relaatiotietokantoihin perustuvalle peruutetulle tietojen tallennus- ja hallintajärjestelmäprojektille , jonka Microsoft on kehittänyt ja joka esiteltiin ensimmäisen kerran vuonna 2003 Microsoft Windows -käyttöjärjestelmän kehittyneenä tallennusalijärjestelmänä , joka on suunniteltu pysyvyyteen ja hallinta jäsennelty , osittain rakenteeltaan ja erimuotoisia tietoja .

WinFS sisältää relaatiotietokannan tietojen tallentamista varten ja sallii kaikenlaisten tietojen tallentamisen siihen edellyttäen , että tyypille on hyvin määritelty kaava . Yksittäiset tietokohteet voitaisiin sitten yhdistää toisiinsa suhteilla, jotka järjestelmä joko päättelee tiettyjen ominaisuuksien perusteella tai jonka käyttäjä on nimenomaisesti ilmoittanut. Koska tiedoilla on hyvin määritelty kaava, mikä tahansa sovellus voi käyttää tietoja uudelleen; ja suhteiden avulla asiaan liittyvät tiedot voidaan järjestää ja noutaa tehokkaasti. Koska järjestelmä tuntee tiedon rakenteen ja tarkoituksen, sitä voidaan käyttää monimutkaisten kyselyiden tekemiseen, jotka mahdollistavat tietojen tarkan haun ja erilaisten tietokohteiden kokoamisen hyödyntämällä niiden välisiä suhteita.

Mockup -kalenterisovellus, joka lajittelee kuvat päivämäärien mukaan ja käyttää niiden suhdetta yhteystietoihin kuvien suodattamiseen. WinFS pyrki tarjoamaan jaetun skeemajärjestelmän , joka mahdollistaisi tällaisen skenaarion.

Vaikka WinFS ja sen jaettu tyyppimalli mahdollistavat sovelluksen tunnistaa eri tietotyypit, sovellus on silti koodattava eri tietotyyppien esittämiseksi. Näin ollen se ei salli sellaisen sovelluksen kehittämistä, joka voi tarkastella tai muokata kaikkia tietotyyppejä. pikemminkin, mitä WinFS mahdollistaa sovellusten tehdä, on ymmärtää kaikkien tietojen rakenne ja poimia tiedot, joita ne voivat käyttää edelleen. Kun WinFS esiteltiin vuoden 2003 ammattikehittäjien konferenssissa , Microsoft julkaisi myös videoesityksen nimeltä IWish, jossa esiteltiin mockup -rajapintoja, jotka osoittivat, kuinka sovellukset paljastavat rajapinnat, jotka hyödyntävät yhtenäistä tyyppijärjestelmää. Videossa esitetyt käsitteet vaihtelivat kohteiden suhteita käyttävistä sovelluksista dynaamisesti suodatusvaihtoehtojen tarjoamiseen sovelluksiin, jotka ryhmittävät useita toisiinsa liittyviä tietotyyppejä ja esittävät ne yhtenäisessä esityksessä.

WinFS laskutettiin yhdeksi Longhorn -tekniikan aallon pilareista , ja se toimitettiin osana seuraavaa Windows -versiota. Myöhemmin päätettiin, että WinFS toimitetaan Windows Vistan julkaisun jälkeen , mutta suunnitelmat hylättiin kesäkuussa 2006, ja osa sen komponenttitekniikoista integroitiin ADO.NET- ja Microsoft SQL Server -palveluihin .

Motivaatio

Monet tiedostojärjestelmät, jotka löytyvät tavallisista käyttöjärjestelmistä , mukaan lukien NTFS -tiedostojärjestelmä, jota käytetään Microsoft Windowsin nykyaikaisissa versioissa, tallentavat tiedostot ja muut objektit vain tavuvirrana ja niillä on vain vähän tai ei lainkaan tietoja tiedostoihin tallennetuista tiedoista. Tällaiset tiedostojärjestelmät tarjoavat myös vain yhden tavan järjestää tiedostot, nimittäin hakemistojen ja tiedostonimien kautta.

Koska tiedostojärjestelmä ei ole tietoa siitä, millaisia tietoja se tallentaa, sovellukset ovat yleensä käyttää omaa, usein oma , tiedostomuotoja . Tämä vaikeuttaa tietojen jakamista useiden sovellusten välillä. On vaikeaa luoda sovellus, joka käsittelee tietoja useista tiedostotyypeistä, koska ohjelmoijien on ymmärrettävä kaikkien tiedostojen rakenne ja semantiikka . Yleisten tiedostomuotojen käyttäminen on kiertotie tähän ongelmaan, mutta ei universaali ratkaisu; ei ole takeita siitä, että kaikki sovellukset käyttävät muotoa. Data, jolla on standardoitu skeema, kuten XML- asiakirjat ja relaatiotiedot, menee paremmin, koska niillä on vakiorakenne ja suoritusaikavaatimukset.

Myös perinteinen tiedostojärjestelmä voi noutaa ja hakea tietoja vain tiedostonimen perusteella, koska ainoa tieto, joka sillä on tiedoista, on tietoja tallentavien tiedostojen nimi. Parempi ratkaisu on merkitä tiedostot niitä kuvaavilla määritteillä. Määritteet ovat tiedostojen metatietoja , kuten tiedostotyyppi (kuten asiakirja , kuva , musiikki , luoja jne.). Tämä mahdollistaa tiedostojen etsimisen niiden ominaisuuksien perusteella tavalla, joka ei ole mahdollista käyttämällä kansiohierarkiaa, kuten "henkilöiden X sisältävien kuvien" löytämistä . Määritteet voidaan tunnistaa joko tiedostojärjestelmästä alkuperäisesti tai jonkin laajennuksen kautta. Työpöytähakusovellukset vievät tämän käsitteen askeleen pidemmälle. Ne poimivat tiedostoista tietoja, mukaan lukien attribuutit, ja indeksoivat ne. Tietojen poimimiseksi he käyttävät suodatinta jokaiselle tiedostomuodolle. Tämä mahdollistaa haun sekä tiedoston määritteiden että sen tietojen perusteella.

Tämä ei kuitenkaan vielä auta liittyvien tietojen hallinnassa, koska eri kohteilla ei ole määritelty suhteita. On esimerkiksi mahdotonta etsiä "kaikkien Acapulcossa asuvien henkilöiden puhelinnumeroita, joista jokaisella on yli 100 esiintymää valokuvakokoelmassani ja joiden kanssa olen saanut sähköpostia viimeisen kuukauden aikana" . Tällaista hakua ei voida tehdä, ellei se perustu tietomalliin, jossa on sekä semantiikka että datasuhteet määritelty. WinFS pyrkii tarjoamaan tällaisen tietomallin ja ajonaikaisen infrastruktuurin, jota voidaan käyttää tietojen tallentamiseen, sekä datamallin mukaiset tietokohteiden väliset suhteet tyydyttävällä suorituskyvyllä.

Yleiskatsaus

WinFS tunnistaa alkuperäisesti erityyppisiä tietoja, kuten kuva- , sähköposti- , asiakirja- , ääni- , video- , kalenteri- , yhteystiedot , eikä vain jätä niitä raaka-analysoimattomiksi ohivirtauksiksi (kuten useimmat tiedostojärjestelmät tekevät). Järjestelmän tallentamat ja hallitsemat tiedot ovat WinFS -ajon tunnistaman tietotyypin esiintymiä. Tiedot on rakennettu ominaisuuksien avulla. Esimerkiksi ansioluettelotyyppi ilmentää tietoja paljastamalla ominaisuuksia, kuten Nimi , Koulutuspätevyys , Kokemus . Jokainen ominaisuus voi olla yksinkertainen tyyppi ( merkkijonot , kokonaisluvut , päivämäärät ) tai monimutkaiset tyypit ( yhteystiedot ). Eri tietotyypit paljastavat erilaisia ​​ominaisuuksia. Tämän lisäksi WinFS sallii myös eri datan esiintymien yhdistämisen yhteen; kuten asiakirja ja yhteyshenkilö, voivat liittyä toisiinsa Authored By -suhteen kautta. Suhteet paljastetaan myös ominaisuuksina; jos esimerkiksi asiakirja liittyy yhteystietoon Luotu -suhteen kautta, asiakirjalla on Luotu -ominaisuus. Kun sitä käytetään, suhde kulkee läpi ja siihen liittyvät tiedot palautetaan. Suhteita seuraamalla kaikki asiaan liittyvät tiedot voidaan saavuttaa. WinFS edistää tietojen jakamista sovellusten välillä tekemällä tietotyypit kaikkien sovellusten ja niiden mallien saataville. Kun sovellus haluaa käyttää WinFS -tyyppiä, se voi etsiä tietorakenteen kaavion avulla ja käyttää tietoja. Joten sovelluksella on pääsy kaikkiin järjestelmän tietoihin, vaikka kehittäjän ei tarvinnut kirjoittaa jäsentimiä eri datamuotojen tunnistamiseksi. Se voi myös käyttää suhteita ja niihin liittyviä tietoja dynaamisten suodattimien luomiseen sovelluksen käsittelemien tietojen esittämiseksi. WinFS -sovellusliittymä tiivistää edelleen tietojen käytön. Kaikki WinFS -tyypit esitetään .NET -objekteina , ja objektin ominaisuudet vastaavat suoraan tietotyypin ominaisuuksia. Lisäksi antamalla eri sovellusten, jotka käsittelevät samaa dataa, jakaa saman WinFS -tietoilmentymän sen sijaan, että ne tallentaisivat samat tiedot eri tiedostoihin, eri tallenteiden synkronoinnin vaivat poistetaan. Näin WinFS voi vähentää irtisanomisia.

Pääsy kaikkiin järjestelmän tietoihin mahdollistaa monimutkaisten tietojen haun kaikista WinFS: n hallinnoimista tietokohteista. Yllä olevassa esimerkissä ( "kaikkien Acapulcossa asuvien henkilöiden puhelinnumerot, joista jokaisella on yli 100 esiintymistä valokuvakokoelmassani ja joiden kanssa olen saanut sähköpostia viimeisen kuukauden aikana" ), WinFS voi käydä läpi aiheen suhteen kaikki valokuvat yhteystietojen löytämiseksi . Samoin se voi suodattaa kaikki sähköpostit viime kuussa ja käyttää kommunikoitua suhteessa yhteydenpitoon. Yhteiset yhteystiedot voidaan sitten selvittää kahdesta tulosjoukosta ja niiden puhelinnumero hakea käyttämällä yhteystietojen sopivaa ominaisuutta.

Täysin kaavamaisen datan (kuten XML- ja relaatiotietojen ) lisäksi WinFS tukee puolistrukturoituja tietoja (kuten kuvia, joissa on strukturoimaton bittivirta ja strukturoidut metatiedot) sekä strukturoimattomia tietoja (kuten tiedostoja). Se tallentaa strukturoimattomat komponentit tiedostoina ja tallentaa strukturoidut metatiedot strukturoituun säilöön. Sisäisesti WinFS käyttää tietojen hallintaan relaatiotietokantaa . Se ei rajoita tietojen kuulumista tiettyyn tietomalliin. WinFS -runtime kartoittaa skeeman relaatiomodaalisuuteen määrittelemällä taulukot, joihin se tallentaa tyypit ja ensisijaiset avaimet ja vieraat avaimet , joita suhteiden esittäminen edellyttää. WinFS sisältää oletuksena objekti- ja XML -skeemojen kuvaukset. Muiden kaavojen kuvaukset on määritettävä. Kohdekaaviot määritetään XML: ssä; WinFS luo koodin pinnoittamaan kaavat .NET -luokiksi . ADO . Suhteiden läpikäynti suoritetaan liitoksina näissä taulukoissa. WinFS luo myös näihin taulukoihin automaattisesti indeksit , jotta tiedot ovat nopeasti saatavilla. Indeksointi nopeuttaa liitoksia merkittävästi, ja suhteiden siirtäminen liittyvien tietojen noutamiseksi suoritetaan erittäin nopeasti. Indeksejä käytetään myös tiedonhaun aikana; haut ja kyselyt käyttävät indeksejä toimintojen suorittamiseen nopeasti, aivan kuten työpöytähakujärjestelmät .

Kehitys

WinFS: n kehittäminen on laajennus ominaisuuteen, joka suunniteltiin alun perin 1990 -luvun alussa. Kopioitu objektitiedostojärjestelmä , sen piti kuulua osaksi Kairoa . OFS: llä piti olla tehokkaita tietojen koontiominaisuuksia, mutta Kairon hanke hylättiin ja sen mukana OFS. Myöhemmin COM: n kehittämisen aikana suunniteltiin kuitenkin tallennustila, nimeltään Storage+, joka perustuu sittemmin tulevaan SQL Server 8.0: een, ja sen oli tarkoitus tarjota samanlaisia ​​yhdistelmäominaisuuksia. Tämäkään ei koskaan toteutunut, ja samanlainen tekniikka, Relational File System (RFS), suunniteltiin lanseerattavaksi SQL Server 2000: n kanssa.

Konseptia ei romutettu, ja se toimi WinFS: n tukikohtana. WinFS oli alun perin tarkoitus sisällyttää Windows Vista , ja rakentaa 4051 Windows Vistan, silloisen sen koodinimi "Longhorn", annetaan kehittäjät Microsoftin Professional Developers Conference vuonna 2003, mukana WinFS, mutta se kärsi merkittäviä suorituskykyongelmia. Elokuussa 2004 Microsoft ilmoitti, että WinFS ei toimiteta Windows Vistan mukana; se olisi sen sijaan saatavana ladattavana päivityksenä Vistan julkaisun jälkeen.

29. elokuuta 2005 Microsoft asetti hiljaa WinFS: n beta 1 MSDN -tilaajien saataville. Se toimi Windows XP -käyttöjärjestelmässä ja vaati .NET Frameworkin toimiakseen. WinFS -sovellusliittymä sisällytettiin System.Storage -nimitilaan. Beta päivitettiin 1. joulukuuta 2005, jotta se olisi yhteensopiva .NET Framework 2.0: n kanssa. WinFS Beta 2 suunniteltiin jonkin aikaa myöhemmin vuonna 2006, ja sen piti sisältää integraation Windows Desktop Searchin kanssa , jotta hakutulokset sisältävät sekä tavallisten tiedostojen että WinFS -myymälöiden tuloksia ja sallivat pääsyn WinFS -tietoihin ADO.NET -palvelun avulla .

Microsoftin WinFS -tiimi ilmoitti 23. kesäkuuta 2006, että WinFS: ää ei enää toimiteta erillisenä tuotteena ja että jotkut komponentit saatetaan muiden tekniikoiden alle. Monet periaate on tarjolla Microsoftin tarkoitus tarjota kanssa WinFS sisältyi ruudusta metadatan omaisuuden muokkausta, breadcrumb -pohjainen kohteiden selaus, suodatus tai pinoaminen kohteita yli ominaisuuksia, inkrementaalinen haku , ja tallennettuja hakuja ; nämä ominaisuudet sisällytettiin Windows Vistaan. Kyselyn koostumus , WinFS: n ominaisuus, jonka avulla käyttäjät voivat suorittaa lisähakuja, jotka käyttävät uudelleen edellisen kyselyn tuloksia, sisällytettiin myöhemmin Windows Vistaan.

Esimerkkejä käytettävä tekniikka on Orm komponentit ADO.NET Entity Framework ; tuki strukturoimattomille tiedoille, järjestelmänvalvojaton toimintatila, tuki tiedostojärjestelmäobjekteilleFILESTREAM tietotyypin kautta ja hierarkkiset tiedot SQL Server 2008: ssa , jonka koodinimi on Katmai , sekä integrointi Win32 -sovellusliittymien ja Windows Shellin kanssa sekä tuki hierarkioiden läpikululle suhteet Microsoft SQL Serverin myöhempiin julkaisuihin ; ja synkronointikomponentit Microsoft Sync Frameworkiin .

Vuonna 2013 Bill Gates mainitsi WinFS: n suurimpana pettymyksenä Microsoftille ja että ajatus WinFS: stä oli aikaansa edellä, mikä tulee uudelleen esiin.

Tietovarasto

Arkkitehtuuri

WinFS -pinon arkkitehtuuri

WinFS käyttää SQL Server 2005: stä peräisin olevaa relaatiomoottoria tarjoamaan datasuhteiden mekanismin. WinFS -myymälät ovat yksinkertaisesti SQL Server -tietokantatiedostoja (.MDF), joissa on FILESTREAM -määritejoukko. Nämä tiedostot tallennetaan pääsyrajoitettuun kansioon nimeltä "System Volume Information" (sijoitettu äänenvoimakkuuden juuriin) kansioihin "WinFS" kansioon, jossa on näiden kauppojen GUID- nimet .

WinFS -pinon alareunassa on WinFS Core , joka on vuorovaikutuksessa tiedostojärjestelmän kanssa ja tarjoaa tiedostojen käyttö- ja osoiteominaisuudet. Relaatiomoottori hyödyntää WinFS -ydinpalveluja strukturoidun myymälän ja muiden palvelujen, kuten lukituksen , esittämiseen, joita WinFS -ajonaikainen toiminto käyttää toiminnon toteuttamiseen. WinFS -ajonaika näyttää palveluja , kuten synkronoinnin ja säännöt , joita voidaan käyttää synkronoimaan WinFS -myymälöitä tai suorittamaan tiettyjä toimintoja tiettyjen tapahtumien ilmetessä.

WinFS toimii palveluna, joka suorittaa kolme prosessia :

  1. WinFS.exe , joka isännöi relaatiotietovarastoa
  2. WinFSSearch.exe , joka isännöi indeksointi- ja kyselymoottoria
  3. WinFPM.exe (WinFS File Promotion Manager) , joka on liitetty taustalla olevaan tiedostojärjestelmään

Se sallii ohjelmallisen pääsyn ominaisuuksiinsa .NET Framework -sovellusliittymien kautta . Niiden avulla sovellukset voivat määrittää räätälöityjä tietotyyppejä, määritellä tietojen välisiä suhteita, tallentaa ja hakea tietoja ja sallia tarkennetut haut. Sovellukset voivat sitten koota tiedot ja esittää yhdistetyt tiedot käyttäjälle.

Tietovarasto

WinFS tallentaa tietoja relaatiomyymälöihin, jotka esitetään virtuaalisina sijainneina, joita kutsutaan myymälöiksi . WinFS -kauppa on yleinen arkisto, johon kaikki sovellukset voivat tallentaa tietoja sekä niiden metatiedot, suhteet ja mallit. WinFS -ajonaika voi käyttää tiettyjä suhteita itse; Esimerkiksi jos arvot kohteena omaisuutta kuvan ja nimen omaisuutta yhteystiedon ovat samat, niin WinFS voi koskea yhteystiedon kuvan kanssa. Suhteet voivat myös määrittää muut sovellukset tai käyttäjä.

WinFS tarjoaa yhdenmukaisen tallennustilan, mutta ei määrittele tietovarastoihin tallennettavan muodon määrittämistä. Sen sijaan se tukee tietojen kirjoittamista sovelluskohtaisissa muodoissa. Sovellusten on kuitenkin tarjottava malli, joka määrittää, miten tiedostomuotoa tulee tulkita. Voidaan esimerkiksi lisätä kaava, jonka avulla WinFS voi ymmärtää lukemisen ja siten etsiä ja analysoida (esimerkiksi) PDF -tiedoston. Käyttämällä kaavaa mikä tahansa sovellus voi lukea tietoja mistä tahansa muusta sovelluksesta, ja tämä mahdollistaa myös eri sovellusten kirjoittaa toistensa muodossa jakamalla kaavan.

Yhdelle koneelle voidaan luoda useita WinFS -myymälöitä. Tämä mahdollistaa eri tietoluokkien pitämisen erillään; esimerkiksi virallisia asiakirjoja ja henkilökohtaisia ​​asiakirjoja voidaan säilyttää eri kaupoissa. WinFS tarjoaa oletuksena vain yhden myymälän nimeltä "DefaultStore". WinFS -myymälät esitetään kuoriobjekteina, jotka muistuttavat virtuaalisia kansioita , jotka luovat dynaamisesti luettelon kaikista kaupassa olevista kohteista ja esittävät ne kansionäkymässä. Kuoriobjekti mahdollistaa myös tietojen etsimisen tietokannasta.

Datan yksikkö, joka on tallennettu WinFS tallentaa kutsutaan WinFS Tuote . WinFS -kohde sisältää ydintiedon lisäksi myös tietoja siitä, miten tieto -osa liittyy muihin tietoihin. Tämä suhde tallennetaan loogisten linkkien muodossa. Linkit määrittävät, mihin muihin tietokohteisiin nykyinen kohde liittyy. Toisin sanoen, linkit määrittelevät datan suhteen muihin tietokohteisiin. Linkit tallennetaan fyysisesti käyttämällä linkkitunnistetta, joka määrittää suhteen nimen ja tarkoituksen, kuten tyypin tai koostuu . Linkin tunniste tallennetaan tietokohteen määritteeksi. Kaikkien objektien, joilla on sama linkkitunnus, katsotaan liittyvän toisiinsa. XML-skeema , jossa määritellään rakenteen tietoeristä, tallennetaan WinFS, täytyy syöttää WinFS runtime etukäteen. WinFS: n beta 1: ssä skeemakokoonpano oli lisättävä GAC: ään ennen sen käyttöä.

Tietomalli

WinFS mallinntaa tietoja käyttämällä tietokohteita sekä niiden suhteita , laajennuksia ja sen käyttöä koskevia sääntöjä. WinFS: n on ymmärrettävä tietokohteiden tyyppi ja rakenne, jotta tietokohteeseen tallennetut tiedot voidaan asettaa minkä tahansa sitä pyytävän sovelluksen saataville. Tämä tehdään käyttämällä kaavoja. Jokaista WinFS: ään tallennettavaa tietoalkion tyyppiä varten on toimitettava vastaava kaava tietojen tyypin, rakenteen ja yhdistysten määrittelemiseksi. Nämä mallit määritetään XML: llä .

Ennalta määritetyt WinFS-skeemat sisältävät asiakirjojen, sähköpostin, tapaamisten, tehtävien, median, äänen, videon kaavioita ja myös järjestelmäkaavioita, jotka sisältävät kokoonpanon, ohjelmat ja muut järjestelmään liittyvät tiedot. Mukautettuja kaavoja voidaan määrittää sovelluskohtaisesti tilanteissa, joissa sovellus haluaa tallentaa tiedot WinFS-järjestelmään, mutta ei jakaa näiden tietojen rakennetta muiden sovellusten kanssa, tai ne voidaan asettaa saataville koko järjestelmässä.

Tyyppijärjestelmä

WinFS -tyyppihierarkia

Tärkein ero tiedostojärjestelmän ja WinFS: n välillä on se, että WinFS tietää kunkin tallentamansa tietokohteen tyypin. Ja tyyppi määrittää tietokohteen ominaisuudet. WinFS -tyyppinen järjestelmä liittyy läheisesti .NET -kehyksen luokkien ja perinnön käsitteeseen . Uusi tyyppi voidaan luoda laajentamalla ja sisäistämällä kaikki ennalta määritetyt tyypit.

WinFS tarjoaa neljä ennalta määritettyä perustyyppiä - kohteet , suhteet , ScalarTypes ja NestedTypes . Kohde on perustieto, joka voidaan tallentaa, ja suhde on kahden tietokohteen välinen suhde tai linkki. Koska kaikilla WinFS -kohteilla on oltava tyyppi, tallennetun kohteen tyyppi määrittää sen ominaisuudet. Kohteen ominaisuudet voivat olla ScalarType, joka määrittää ominaisuuden pienimmän tietoyksikön, tai NestedType, joka sisältää useamman kuin yhden ScalarTypes- ja/tai NestedTypes -kokoelman. Kaikki WinFS -tyypit ovat saatavilla .NET CLR -luokina .

Kaikki tietoyksikkönä esitetyt objektit, kuten yhteyshenkilö, kuva, video, asiakirja jne., Voidaan tallentaa WinFS -myymälään tuotetyypin erikoistumisena. WinFS tarjoaa oletuksena kohteetyypit tiedostoille, yhteystiedoille, asiakirjoille, kuville, äänelle, videolle, kalenterille ja viesteille. Tiedostokohde voi tallentaa kaikki yleiset tiedot, jotka tallennetaan tiedostojärjestelmiin tiedostoina. Mutta jos tiedostolle ei ole kehitettyä kaavaa, WinFS ei voi käyttää sen tietoja määrittelemällä se erikoistuneeksi kohteeksi. Tällainen tiedostokohde voi tukea vain liittymistä muihin kohteisiin.

Uuden tyypin määrittäminen

Kehittäjä voi laajentaa mitä tahansa näistä tyypeistä tai perustyyppikohdetta tarjotakseen tyypin omille tiedoilleen. Kohteen sisältämät tiedot määritellään ominaisuuksilla tai kentillä, jotka sisältävät todelliset tiedot. Esimerkiksi kohteen yhteyshenkilöllä voi olla kenttä Nimi, joka on ScalarType, ja yksi kenttä Osoite , NestedType, joka koostuu edelleen kahdesta ScalarType -tyypistä. Tämän tyypin määrittämiseksi perusluokan nimikettä laajennetaan ja tarvittavat kentät lisätään luokkaan. NestedType -kenttä voidaan määrittää toisena luokana, joka sisältää kaksi ScalarType -kenttää. Kun tyyppi on määritetty, on määriteltävä skeema, joka osoittaa kunkin kentän primitiivisen tyypin, esimerkiksi Nimi -kenttä on merkkijono, Osoitekenttä on mukautettu osoiteluokka, jonka molemmat kentät ovat merkkijonoja. Muita alkeellisia tyyppejä, joita WinFS tukee, ovat mm. Integer , Byte , Decimal , Float , Double , Boolean ja DateTime. Malli määrittelee myös, mitkä kentät ovat pakollisia ja mitkä ovat valinnaisia. Tällä tavalla määritettyä yhteystietoa käytetään yhteystietoihin liittyvien tietojen tallentamiseen täyttämällä ominaisuuskenttä ja tallentamalla se. Vain pakollisiksi merkityt kentät on täytettävä ensimmäisen tallennuksen aikana. Käyttäjä voi täyttää muut kentät myöhemmin tai ei ollenkaan. Jos lisää ominaisuuskenttiä, kuten viimeinen keskustelun päivämäärä , on lisättävä, tätä tyyppiä voidaan laajentaa niiden mukaan. Muiden tietojen alkiotyypit voidaan määrittää samalla tavalla.

Ihmissuhteet

WinFS luo taulukot kaikille määritetyille kohteille. Kaikki kohteelle määritetyt kentät muodostavat taulukon sarakkeet ja kaikki kohteen esiintymät tallennetaan riveinä vastaavien kohteiden taulukkoon. Aina kun jokin taulukon kentistä viittaa jonkin toisen taulukon tietoihin, sitä pidetään suhteena. Suhteen skeema määrittää, mitkä taulukot ovat mukana ja mikä on suhteen tyyppi ja nimi. WinFS -ajonaika hallitsee suhdemalleja. Kaikki kohteet näkyvät .NET CLR -objekteina , ja yhtenäinen käyttöliittymä tarjoaa pääsyn kenttiin tallennettuihin tietoihin. Näin ollen mikä tahansa sovellus voi noutaa minkä tahansa kohdetyypin objektin ja käyttää objektin tietoja olematta tietoinen fyysisestä rakenteesta, johon tiedot on tallennettu.

WinFS -tyypit esitetään .NET -luokina, jotka voidaan jäljentää .NET -objekteina. Tiedot tallennetaan tämän tyyppisiin tapauksiin asettamalla niiden ominaisuudet. Kun ne on tehty, ne säilytetään WinFS -kaupassa. WinFS -myymälään pääsee ItemContext -luokan avulla (katso lisätietoja tietojen noutamisesta ). ItemContext mahdollistaa pääsyn tapahtumiin WinFS -kauppaan; eli kaikki toiminnot sen jälkeen, kun ItemContext -objekti on sidottu kauppaan, kunnes se suljetaan, joko kaikki onnistuvat tai ne palautetaan takaisin. Kun tietoihin tehdään muutoksia, niitä ei kirjoiteta levylle; pikemminkin ne on kirjoitettu muistilokiin. Muutokset kirjoitetaan levylle vain erässä, kun yhteys on suljettu. Tämä auttaa optimoimaan levyn I/O. Seuraava koodinpätkä, joka on kirjoitettu C#: lla , luo yhteystiedon ja tallentaa sen WinFS -kauppaan.

 //Connect to the default WinFS store
 using(ItemContext ic = ItemContext.Open())
 {
     //Create the contact and set the data in appropriate properties
     ContactEAddress contact = new ContactEAddress() {
         Name = new PersonName() {                      // Name is a ComplexType
             Displayname = "Doe, John",
             FirstName = "John",
             LastName = "Doe"
         },
         TelephoneNumber = new TelephoneNumber() {     // Telephone number is a ComplexType
             Country = CountryCode.Antarctica,
             Areacode = 4567,
             Number = 9876543210
         },
         Age = 111                                     // Age is a SimpleType
    };

    //Add the object to the user's personal folder.
    //This relates the item with the Folder pseudo-type, for backward
    //compatibility, as this lets the item to be accessed in a folder 
    //hierarchy for apps which are not WinFS native.
    Folder containingFolder = UserDataFolder.FindMyPersonalFolder();
    containingFolder.OutFolderMemberRelationship.AddItem(ic, contact);

    //Find a document and relate with the document. Searching begins by creating an
    //ItemSearcher object. Each WinFS type object contains a GetSearcher() method
    //that generates an ItemSearcher object which searches documents of that type.
    using (ItemSearcher searcher = Document.GetSearcher(ic))
    {
         Document d = searcher.Find(@"Title = 'Some Particular Document'");
         d.OutAuthoringRelationship.AddItem(ic, contact);
    }
    //Since only one document is to be found, the ItemContext.FindOne() method
    //could be used as well.

    //Find a picture and relate with it
    using (ItemSearcher searcher = Picture.GetSearcher(ic))
    {
         Picture p = searcher.Find(@"Occasion = 'Graduation' and Sequence = '3'");
         p.OutSubjectRelationship.AddItem(ic, contact);
    }

    //Persist to the store and close the reference to the store
    ic.Update();
 }

Ihmissuhteet

Peruspiste voi liittyä vielä yhteen kohteeseen, mikä voi johtaa kahdenkeskiseen suhteeseen, tai useampaan kohteeseen, jolloin tuloksena on yksi-usea-suhde. Aiheeseen liittyvät kohteet voivat puolestaan ​​liittyä myös muihin tietokohteisiin, mikä johtaa suhteiden verkostoon, jota kutsutaan monien väliseksi suhteeksi. Suhteen luominen kahden kohteen välillä luo toisen kentän kyseisten kohteiden tietoihin, jotka viittaavat toisen kohteen taulukon riville, johon liittyvä objekti on tallennettu.

WinFS -suhteet

WinFS: ssä suhde on perustyypin Suhde esimerkki, jota laajennetaan merkitsemään suhteen erikoistumista. Suhde on kahden kohteen, lähteen ja kohteen välinen kartoitus. Lähteellä on lähtevä suhde, kun taas kohde saa saapuvan suhteen. WinFS tarjoaa kolmenlaisia ​​primitiivisiä suhteita - Holding Relationship , Reference Relationship ja Embedding Relationship . Kaikki kahden tietotyypin väliset mukautetut suhteet ovat näiden suhdetyyppien esiintymiä.

  • Holding Relationships määrittää kohde -kohteen omistajuuden ja käyttöiän (joka määrittää kuinka kauan suhde on voimassa). Esimerkiksi kansion ja tiedoston sekä työntekijän ja hänen palkatietueensa välinen suhde on Holding -suhde - jälkimmäinen poistetaan, kun ensimmäinen poistetaan. Kohde -esine voi olla osa useampaa kuin yhtä pitosuhdetta. Tällaisessa tapauksessa se on poistettava, kun kaikki lähdekoodit on poistettu.
  • Viitesuhteet tarjoavat linkin kahden kohteen välillä, mutta niihin ei liity elinikää, eli kukin kohde tallennetaan edelleen ilman toista.
  • Upottavat suhteet antavat järjestyksen kahdelle suhteelle linkitetylle kohteelle, kuten vanhemman ja alikohteen väliselle suhteelle.

Kahden kohteen väliset suhteet voi joko määrittää ohjelmallisesti dataa luova sovellus tai käyttäjä voi yhdistää kohteet manuaalisesti WinFS -nimiselaimella. WinFS -nimiselain voi myös näyttää graafisesti kohteet ja niiden yhteydet, jotta käyttäjä voi tietää, miten heidän tietonsa on järjestetty.

Säännöt

WinFS sisältää säännöt , jotka suoritetaan, kun tietty ehto täyttyy. WinFS -säännöt koskevat tietoja ja datasuhteita. Voidaan esimerkiksi luoda sääntö, jonka mukaan aina, kun luodaan kohde, joka sisältää kentän "Nimi" ja jos kyseisen kentän arvo on jokin tietty nimi, on luotava suhde, joka yhdistää kohteen johonkin toiseen kohteeseen. WinFS -säännöt voivat käyttää myös mitä tahansa ulkoista sovellusta. Voidaan esimerkiksi rakentaa sääntö, joka käynnistää Ilmoita -sovelluksen aina, kun viesti vastaanotetaan tietystä yhteyshenkilöstä. WinFS -sääntöjä voidaan käyttää myös uusien ominaisuuskenttien lisäämiseen olemassa oleviin tietokohteisiin.

WinFS -säännöt näkyvät myös .NET CLR -objekteina. Sellaista sääntöä voidaan käyttää mihin tahansa tarkoitukseen. Sääntöä voidaan jopa laajentaa perimällä siitä muodostaen uusi sääntö, joka koostuu pääsäännön ehdosta ja toiminnasta sekä jostakin muusta.

RAV

WinFS tukee Rich Application Viewsin (RAV) luomista yhdistämällä eri tiedot virtuaalitaulukkomuotoon. Toisin kuin tietokannanäkymä , jossa jokainen yksittäinen elementti voi olla vain skalaarinen arvo, RAV -laitteilla voi olla monimutkaisia ​​kohteita tai jopa kokoelmia. Todelliset tiedot voivat sisältää useita tietotyyppejä tai esiintymiä, ja ne voidaan jopa noutaa siirtymäsuhteiden kautta. RAV -tiedostot haetaan WinFS -ajon aikana (jaetaan koko tietojoukko pienemmille sivuille, jotka sisältävät datan irrotettuja osajoukkoja). Sivun koko määritetään näkymän luomisen aikana ja WinFS -sovellusliittymä altistaa menetelmät toistamaan sivuja. RAV: t tukevat myös näkymän muokkaamista eri ryhmittelyparametrien mukaan. Näkemyksiä voidaan myös kyseenalaistaa.

Kulunvalvonta

Vaikka kaikki tiedot on jaettu, kaikki eivät ole yhtä helposti saatavilla. WinFS käyttää Windowsin todennusjärjestelmää kahden tietosuojamekanismin tarjoamiseen. Ensinnäkin on jakotason suojaus, joka ohjaa pääsyä WinFS-jakoosi. Toiseksi on olemassa tietoturva, joka tukee NT -yhteensopivia suojauskuvaimia. Kohteen käyttöprosessilla on oltava riittävät käyttöoikeudet sen käyttämiseen. Myös Vistassa on sovelluksen "eheystason" käsite . Korkeamman eheyden tietoja ei voida käyttää alemman eheyden prosessilla.

Tietojen haku

Vuokaavio WinFS -tietoinstanssien luomiseen, etsimiseen ja päivittämiseen

Ensisijainen tiedonhakutila WinFS -varastosta on kysely WinFS -varastosta joidenkin ehtojen mukaisesti, mikä palauttaa lukemattoman joukon kohteita, jotka vastaavat ehtoja. Kyselyn ehdot määritetään OPath -kyselykielellä . Palautetut tiedot saatetaan saataville tyyppimallien esiintyminä .NET -objektimallin mukaisesti . Niiden tietoihin pääsee käsiksi käyttämällä yksittäisten objektien ominaisuuksia.

Suhteet näkyvät myös ominaisuuksina. Jokaisella WinFS -nimikkeellä on kaksi ominaisuutta, nimeltään IncomingRelationships ja OutgoingRelationships , jotka tarjoavat pääsyn joukkoon suhdeilmentymiä , joihin kohde osallistuu. Toinen kohde, joka osallistuu yhteen suhdeilmentymään, voidaan tavoittaa oikean yhteysilmentymän kautta.

Se tosiasia, että tietoihin pääsee käsiksi sen kuvauksen, ei sijainnin perusteella, voidaan käyttää loppukäyttäjän organisaatiokykyjen tarjoamiseen rajoittamatta tiedostojärjestelmissä käytettyä hierarkkista organisaatiota. Tiedostojärjestelmässä jokainen tiedosto tai kansio on vain yhdessä kansiossa. Mutta WinFS -kohteet voivat osallistua mihin tahansa pitosuhteeseen, myös muihin kohteisiin. Loppukäyttäjät eivät siis rajoitu vain tiedosto-/kansioorganisaatioon. Pikemminkin yhteyshenkilöstä voi tulla asiakirjojen säilytysastia; kuva kontti kontakteille ja niin edelleen. Perinteisen yhteensopivuuden vuoksi WinFS sisältää pseudotyypin nimeltä Folder, joka on läsnä vain osallistuaksesi suhteiden säilyttämiseen ja tiedostojen/kansioiden järjestämiseen. Koska mikä tahansa WinFS -kohde voi liittyä useampaan kuin yhteen kansioelementtiin, kohde voi loppukäyttäjän näkökulmasta sijaita useissa kansioissa kopioimatta todellisia tietoja. Sovellukset voivat myös analysoida suhdekaavioita esittääkseen erilaisia ​​suodattimia. Esimerkiksi sähköpostisovellus voi analysoida siihen liittyviä yhteystietoja ja yhteyshenkilöiden suhteita ravintolalaskuihin ja luoda dynaamisesti suodattimia, kuten "Sähköpostit, jotka on lähetetty lounaalle" .

Haut

WinFS -sovellusliittymä tarjoaa luokan nimeltä ItemContext -luokka, joka on sidottu WinFS -kauppaan . ItemContext kohde voidaan soveltamisala haun koko myymälän tai osan siitä. Se tarjoaa myös kaupallisen pääsyn kauppaan. Kohde tämän luokan voi sitten kutemaan ItemSearcher esine, jonka sitten ottaa tyyppiä (kuvaavan objektin tyypin) kohde voidaan hakea tai suhde ja OPATH kyselyn edustava merkkijono kriteerit haku. Joukko kaikkia osumia palautetaan, ja ne voidaan sitten sitoa käyttöliittymä -widgettiin, jotta ne voidaan näyttää massiivisesti tai luetella erikseen. Ominaisuuskohteita voidaan myös muokata ja tallentaa sitten takaisin tietovarastoon tietojen päivittämiseksi. ItemContext -objekti suljetaan (mikä merkitsee objektin yhdistämisen loppua kauppaan), kun kyselyt tehdään tai muutokset yhdistetään kauppaan.

Aiheeseen liittyviä kohteita voi käyttää myös kohteiden kautta. IncomingRelationships ja OutgoingRelationships määrittely antaa pääsyn kaikkiin joukko suhdetta tapauksissa kirjoitettu nimen suhteen. Nämä suhdeobjektit paljastavat toisen kohteen ominaisuuden kautta. Jos esimerkiksi kuva liittyy kuvaan, siihen pääsee käsiksi kiertämällä suhteen seuraavasti:

 ContactsCollection contacts = picture.OutgoingRelationships.Cast(typeof(Contact)).Value;
 //This retrieves the collection of all outgoing relationships from a picture object
 //and filters down the contacts reachable from them and retrieves its value.

 //Or the relationship can be statically specified as
 ContactsCollection contacts = picture.OutgoingRelationships.OutContactRelationship.Contact;

OPath -kyselymerkkijonon avulla voidaan ilmaista parametrit, joita haetaan määritettäväksi käyttämällä kohteen ominaisuuksia, upotettuja kohteita ja suhteita . Se voi määrittää yksittäisen hakuehdon, kuten "title = Something" " , tai yhdistelmäehdon, kuten " title = 'Title 1' || title = 'Title 2' && author = 'Someone' " . Nämä boolean- ja relaatiotoiminnot voidaan määrittää käyttämällä C# -merkkiä , kuten && , || , = , ! = Operaattorit sekä niiden Englanti kaltainen vastaavan kaltainen Equal , ole samanarvoisia . Myös SQL: n kaltaisia ​​operaattoreita, kuten LIKE , GROUP BY ja ORDER BY, tuetaan, samoin kuin yleismerkkejä. Joten, "title kuten 'mitä tahansa *'" on voimassa kyselymerkkijonon. Näitä operaattoreita voidaan käyttää suorittamaan monimutkaisia ​​hakuja, kuten

 using (ItemContext ic = ItemContext.Open() )
 {
     //Searching begins by creating a ItemSearcher object. The searcher is created from a
     //relationship instance because the contacts being searched for are in relation. The
     //first parameter defines the scope of the search. An ItemContext as the scope means
     //the entire store is to be searched. Scope can be limited to a set of Items which may
     //be in a holding relationship with the contacts. In that case, the set is passed as
     //the scope of the search.
     ItemSearcher searcher = OutContactRelationship.GetTargetSearcher(ic, typeof(Contact));
     ContactCollection contacts = searcher.FindAll("OutContactRelationship.Contact.Name LIKE 'A*'");
 }

Yllä oleva koodinpätkä luo ItemSearcher -objektin, joka etsii kuvia ja yhteystietoja koskevaa OutContactRelationship -ilmentymää ja etsii käytännössä kaikkia yhteystietoon liittyviä kuvia. Sitten se suorittaa kyselyn Nimi LIKE 'A*' " kaikille yhteyshenkilöille, jotka ovat tavoitettavissa OutContactRelationshipin kautta , ja palauttaa luettelon " yhteystiedoista, joiden nimet alkavat A: lla ja joiden kuvat minulla on " . Samoin voitaisiin ottaa huomioon enemmän suhteita kaventamiseen Lisäksi luonnollisen kielen kyselyprosessori, joka jäsentää kyselyn luonnollisella kielellä ja luo hyvin muotoillun OPath-kyselymerkkijonon etsimään oikeiden suhteiden kautta, voi antaa käyttäjille mahdollisuuden tehdä hakuja, kuten "löytää sen viinin nimi, jolla minulla oli henkilö X viime kuussa " edellyttäen, että taloushallintasovellukset käyttävät WinFS: ää laskujen tallentamiseen.

Eri suhteet määrittävät erilaiset tiedot. Joten kun tehdään haku, joka sisältää useita suhteita, eri datajoukot haetaan erikseen ja eri joukkojen liitto lasketaan. Tuloksena oleva joukko sisältää vain ne tietoelementit, jotka vastaavat kaikkia suhteita.

Ilmoitukset

WinFS sisältää paremman tuen usein muuttuvien tietojen käsittelyyn. Käyttämällä WinFS ilmoitukset , hakemukset halutessaan muutoksista ilmoitetaan valituille tietojen kohteet . WinFS nostaa ItemChangedEvent- tapahtuman .NET-tapahtumamallin avulla, kun tilattu kohde muuttuu, ja tapahtuma julkaistaan ​​sovelluksissa.

Tiedottaja

WinFS sisältää Information Agent -ominaisuuden, jolla hallitaan, haetaan ja tallennetaan loppukäyttäjän ilmoitussääntöjä ja asetuksia tietovaraston kohteiden muutoksista. Information Agentin avulla on mahdollista automaattisesti määrittää suhteet uusiin kohteisiin tapahtumien, kuten tapaamisten, perusteella. Esimerkki on, että tapaamiset voivat liittyä valokuviin valokuvien ottamispäivien perusteella, jolloin syntymäpäivien tai juhlapyhien kyselyt ovat mahdollisia. tietää tällaisten tapahtumien todelliset päivämäärät (" etsi kaikki tänä syntymäpäivänä otetut kuvat "). Muita esimerkkejä ovat uusien kohteiden automaattinen siirtäminen tiettyihin kansioihin sääntöjen mukaan, jotka määräytyvät tapaamisaikojen ja valokuvien ottamispäivien mukaan (" kun tuon liiketapahtuman aikana otetun valokuvan, siirrät sen Business Events -kansioon ") tai monimutkaisempaa mahdollisuuksia. Information Agent voi myös välittää ilmoituksia muille laitteille (" jos saan esimieheltäni tärkeän sähköpostiviestin, lähetä ilmoitus puhelimeeni "), ja se on samanlainen kuin Microsoft Outlookin Säännöt ja hälytykset -toiminto.

Tietojen jakaminen

WinFS mahdollistaa tietojen helpon jakamisen sovellusten välillä ja useiden eri tietokoneissa mahdollisesti sijaitsevien WinFS -myymälöiden välillä kopioimalla niihin ja niistä. WinFS-kohde voidaan myös kopioida muuhun kuin WinFS-tiedostojärjestelmään, mutta ellei kyseistä tietokohtaa palauteta WinFS-kauppaan, se ei tue WinFS: n tarjoamia lisäpalveluja.

WinFS-sovellusliittymä tarjoaa myös jonkin verran tukea jakamiseen muiden kuin WinFS-sovellusten kanssa. WinFS altistaa kuoriobjektin pääsemään WinFS -kauppoihin. Tämä objekti yhdistää WinFS -kohteet virtuaalikansiohierarkiaan, ja siihen pääsee käsiksi mistä tahansa sovelluksesta. Virtuaalikansiot voivat automaattisesti jakaa kyselyn viittaamaa sisältöä käyttäjille ( kaikkien lomakuvien virtuaalikansio voi automaattisesti jakaa tämän kyselyn palauttamat kohteet käyttäjille). WinFS -tiedot voidaan myös jakaa manuaalisesti verkko -osuuksilla jakamalla vanha kuoriobjekti. Muut kuin WinFS-tiedostomuodot voidaan tallentaa WinFS-kauppoihin käyttämällä WinFS: n tarjoamaa tiedostokohtaa. Maahantuojia voidaan kirjoittaa tiettyjen tiedostomuotojen muuntamiseksi WinFS -tuotetyypeiksi.

Lisäksi WinFS tarjoaa palveluita, joilla synkronoidaan automaattisesti kohteet kahdessa tai useammassa WinFS -myymälässä tietyissä ennalta määritetyissä olosuhteissa, kuten " jaa vain valokuvia " tai " jaa valokuvia, joihin liittyy yhteyshenkilö X ". Kaupat voivat olla eri tietokoneilla. Synkronointi tapahtuu vertaisverkolla ; keskushallintoa ei ole. Synkronointi voi olla joko manuaalinen tai automaattinen tai ajoitettu. Synkronoinnin aikana WinFS löytää uudet ja muokatut kohteet ja päivittää sen mukaisesti. Jos kaksi tai useampia muutoksia on ristiriidassa, WinFS voi joko käyttää automaattista ratkaisua ennalta määritettyjen sääntöjen perusteella tai lykätä synkronointia manuaaliseen ratkaisuun. WinFS myös päivittää kaavat tarvittaessa.

Ohjelmistotuki

Shell -nimiavaruus

WinFS Beta 1 sisältää kuoren nimitilalaajennuksen, joka näyttää WinFS -tallennukset ylätason kohteina Oma tietokone -näkymässä. Tiedostoja voidaan kopioida kauppoihin ja sieltä pois, sekä sovelluksia voidaan käyttää suoraan niiden tallentamiseen. Jopa kansiot, kuten Omat asiakirjat, voidaan ohjata kauppoihin. WinFS käyttää Importer -laajennuksia analysoidakseen kauppaan tuotavia tiedostoja ja luodakseen oikeat WinFS-mallit ja -objektit. Pakatessasi objektit ne pakataan uudelleen tiedostoja otettaessa. Jos tiettyjen tiedostojen tuojia ei ole asennettu, ne tallennetaan yleisiksi tiedostotyypeiksi .

Microsoft Rave

Microsoft Rave on sovellus, joka on toimitettu WinFS Beta 1. Se mahdollistaa synkronoinnin kahden tai useamman WinFS myymälää, ja kannattaa synkronointi Full Mesh tilassa sekä keskeinen solmukohta topologia. Microsoft Rave määrittää synkronoinnin aikana kullekin kaupalle viimeisen synkronoinnin jälkeen tehdyt muutokset ja päivittää sen mukaan. Muutoksia tehdessään se havaitsee myös mahdolliset ristiriidat, eli samat tiedot on muutettu molemmissa kaupoissa viimeisen synkronoinnin jälkeen. Se joko kirjaa ristiriitaiset tiedot myöhempää ratkaisua varten tai ratkaisee ne välittömästi. Microsoft Rave käyttää vertaistekniikkaa tiedonsiirtoon ja tiedonsiirtoon.

StoreSpy

WinFS sisälsi StoreSpy: n , WinFS -nimisen selaimen, jota voidaan käyttää selaamaan strukturoituja dataesineitä niiden ominaisuuksien ja suhteiden kanssa.

WinFS Beta 1: n mukana Microsoft sisälsi StoreSpy -nimisen sovelluksen , jota ei tueta , jonka avulla voit selata WinFS -kauppoja esittämällä WinFS -kohteiden hierarkkisen näkymän. Se loi automaattisesti virtuaalikansiot käyttöoikeuksien, päivämäärän ja muiden metatietojen perusteella ja esitti ne hierarkkisessa puunäkymässä, joka on samanlainen kuin perinteiset kansiot. Sovellus loi välilehdet eri kohdetyypeille. StoreSpy salli kohteiden , suhteiden , monisarjojen , sisäkkäisten elementtien , laajennusten ja muiden tyyppien tarkastelun kaupassa sekä sen täydelliset metatiedot. Se esitteli myös hakuliittymän manuaalisten hakujen suorittamiseen ja niiden tallentamiseen virtuaalikansioina. Sovellus esitti myös graafisen näkymän WinFS -säännöistä. Se ei kuitenkaan sallinut kohteiden tai niiden ominaisuuksien muokkaamista, vaikka se oli tarkoitus sisällyttää tulevaan julkaisuun. Mutta WinFS -projekti katkaistiin ennen kuin se pystyi toteutumaan.

Kirjoita selain

WinFS sisältää myös toisen sovelluksen nimeltä WinFS Type Browser , jolla voidaan selata WinFS -tyyppejä sekä visualisoida WinFS -tyyppien välinen hierarkkinen suhde. WinFS-tyyppi, sekä sisäänrakennetut tyypit että mukautetut mallit, voidaan visualisoida yhdessä kaikkien sen tukemien ominaisuuksien ja menetelmien kanssa. Se näyttää myös tyypit, joista se on peräisin, sekä muut tyypin mallia laajentavat tyypit. Kuitenkin, vaikka se sisältyi WinFS: ään, se julkaistiin ei -tuettuna työkaluna.

OPather

WinFS Beta 1 sisältää myös sovelluksen, jota ei tueta, nimeltään OPather . Se esittää graafisen käyttöliittymän Opath -kyselyjen kirjoittamiseen . Sitä voidaan käyttää valitsemalla kohdeobjektityyppi ja määrittämällä kyselyn parametrit. Se sisältää myös Intellisense -tyyppisen parametrin täydennysominaisuuden. Sitä voidaan sitten käyttää visualisointitehtävien suorittamiseen, kuten kyselyn tulosten sitominen DataGrid -ohjausobjektiin, tietojen näkymien luominen itse WinFS: ssä tai vain kyselymerkkijonon poimiminen.

Projekti "Oranssi"

Microsoft käynnisti projektin tietojen visualisointisovelluksen rakentamiseksi WinFS: lle. Se oli koodinimeltään "Project Orange" ja oletettavasti rakennettiin Windows Presentation Foundation -sovelluksella . Sen piti tarjota WinFS -kauppoihin tallennettujen kohteiden tutkimista, ja datasuhteiden piti olla näkyvä osa navigointimallia. Sen oli tarkoitus antaa ihmisten sallia WinFS -myymälöiden järjestäminen myös graafisesti - tuottaa monia IWish Concept Video WMV -tiedostossa esitettyjä käsitteitä . Kuitenkin, koska WinFS -projekti pimeni, tämän projektin tilaa ei tiedetä.

Katso myös

Viitteet

Ulkoiset linkit