Home Page Home Page Articoli Anteprima Windows Longhorn, Architettura, WinFS (parte 1)

Anteprima Windows Longhorn, Architettura, WinFS (parte 1)

Nella prima parte di questo articolo faremo una dettagliata introduzione relativa a Windows Longhorn, per capire che cos'è, come funziona e come è stato progettato. Successivamente mostreremo il nuovo e potentissimo File System WinFS descrivendone le caratteristiche principali.
Autore: David De Giacomi Livello:
Che cos'è Windows Longhorn ?
Questo strano nome è ultimamente un po' sulla bocca di tutti, però nessuno riesce ancora bene a capire di cosa si tratta. Microsoft ha l'abitudine di dare un nome in codice ai suoi progetti; anche in questo caso la tradizione è stata mantenuta e quello di cui parliamo è appunto Longhorn cioè il "nuovo windows" del futuro.
Sentendo quello che dicono i Project Managers, Longhorn è una "new wave" una nuova onda, una nuova era rivoluzionaria nell'ambito dei sistemi operativi. Effettivamente, e fra poco lo vedrete, con Longhorn ci troviamo di fronte a un sistema completamente rivoluzionato, potentissimo, curato sotto ogni dettaglio e che promette certamente di incrementare nuovamente i livello di produttività ottenuti nel corso degli anni fino ai giorni nostri. Non è un semplice cambio di versione come molti dicono, non è un classico upgrade e qualcosa di eccezionale.
Non casualmente mancano ancora ben 2 anni dalla sua uscita e già tutti ne parlano.

La prima presentazione ufficiale al pubblico di Windows Longhorn è coincisa con la PDC 2003 (Professional Developers Conference) di Los Angeles, una conferenza per sviluppatori che Microsoft organizza di tanto in tanto per presentare le novità che bollono in pentola. Fortunatamente ho avuto la possibilità di partecipare a questo spettacolare evento, e infatti avevo riportato alcune notizie qui sul sito, ecco i riferimenti:
http://www.dotnethell.it/News/PDC2003_Day1.aspx ">Microsoft PDC 2003 - Viaggio, Albergo e Convention Center
http://www.dotnethell.it/News/PDC2003_Day2.aspx ">Microsoft PDC 2003 - Pre Conference, Bill Gates Jim Allchin e Windows Longhorn
http://www.dotnethell.it/News/PDC2003_Day3.aspx ">Microsoft PDC 2003 - Whidbey e Yukon, Universal Studios, Fine Conference e ritorno a Londra

In quell'occasione Microsoft ci aveva donato un elegante cofanetto contente vari DVD, due di questi contenevano il sistema operativo Longhorn nelle versioni 32 e 64 bit, l'SDK, un po' di Whitepapers ed altre cosucce. Dopo diversi giorni che i DVD erano appoggiati sul tavolo aspettando di essere installati, mi sono deciso e ho fatto il grande passo, ed ora vi racconto....

La versione alpha di Longhorn (Build 4051)
La versione alpha di Longhorn (Build 4051)


L'installazione di Longhorn
Ho installato il sistema operativo su un PC di Test. La versione che ci è stata consegnata è una Alpha, o meglio, secondo me è addirittura una Pre-Alpha perchè è molto lacunosa, terribilmente lenta, avida di risorse e inoltre abbastanza martoriata dagli inevitabili bugs delle alpha release.
Il computer di test aveva le seguenti caratteristiche, processore AMD 2500+, 512 mb di ram DDR PC 3200, disco Hitachi da 80 giga SATA e scheda video ATI Radeon 9200. In effetti è abbastanza insufficiente per ciò che richiederebbe Longhorn, ma è un'ottima macchina per fare alcuni test.
L'installazione di Longhorn richiede diversi minuti, a occhio e croce un'oretta ma questo non sarà così nella versione finale, anzi Microsoft ha costruito un nuovo tipo di setup che dovrebbe garantire tempi di Setup molto ridotti, si parla di 15 minuti per installare una copia.
La cartella del sistema operativo a termine installazione occupa circa 2,2 gigabyte, che sono parecchi anche se ormai con il crescere delle capacità dei dischi la misura diventa quasi irrilevante.


La fase di installazione di Longhorn
La fase di installazione di Longhorn


Longhorn ai blocchi di partenza
Ecco la screenshot di Longhorn alla partenza, carino eh ?
Cliccate sull'immagine per vederla ingrandita!



La grafica è molto accattivante e pulita, molto meglio di Windows XP. E' stato creato per le finestre un nuovo tema chiamato "Slate" tendente come vedete al grigio metallizzato.
Sulla parte destra del desktop noterete subito una novità la "Sidebar", una nuova barra abbastanza larga in cui potranno essere caricate delle piccole Applet, tipo come succede con il KDE di Linux. Come vedete Longhorn di serie vi offre l'orologio, l'avvio veloce che dalla barra delle applicazioni è stato spostato lì, e lo slideshow che qua non vedete ma che vi visualizza ogni 5 secondi circa un'immagine diversa. Sarà possibile modificare questa sidebar e aggiungere nuove applets, come i contatti di MSN Messenger, le previsioni del tempo, le notifiche del tracking dei pacchi di eventuali ordini su Internet e così via.
E' stato prodotto un software non di Microsoft che anticipa un po' la novità della Sidebar, lo potete trovare qui tanto per farvi un'idea:
http://www.desktopsidebar.com/ ">http://www.desktopsidebar.com/ 

L'architettura di Longhorn
Abbiamo detto che Longhorn rivoluzionerà il mercato dei sistemi operativi ? Ebbene sì, infatti la sua architettura è stata quasi completamente ridisegnata e riscritta e si poggerà su alcuni pilastri basilari o "pillars" come li chiamano gli americani.
Nella mappa seguente li potete vedere evidenziati in colori diversi:



Come potete vedere la mappa è composta da una parte alta e una parte bassa. La parte bassa sono i "Fundamentals" ossia è il pilastro di base del sistema operativo su cui si poggiano gli altri. In quest'area sono inclusi infatti i servizi base del sistema operativo, abbiamo l'HAL (Hardware Abstraction Layer), il Kernel, tutti i vari drivers, i protocolli (TPC, UDP, IP4 e IP6), i servizi per lo storage dei dati (DFS, UDF, NTFS, FAT), e cosa più importante il CLR (Common Language Runtime) ossia il motore per far girare le applicazioni .NET, composto anch'esso da varie parti, dal Memory Management, alla gestione della Security, Code Execution, al nuovo sistema di deployment delle applicazioni chiamato ClickOnce.

Nella parte alta del grafico ci sono tre macroblocchi/pilastri colorati di azzurro, giallo e verde e sono:

- Presentation (azzurro)
- Data (giallo)
- Communication (verde)

Presentation - Avalon
A questi blocchi corrispondono tutta una serie di sigle nuove che ora man mano andiamo ad analizzare. Il primo blocco azzurro, Presentation racchiude tutte le API e tutti i sistemi relativi alla presentazione delle informazioni. Una delle nuove sigle è Avalon che rappresenta un Set di API per la GUI (Graphical User Interface), quindi gestione delle finestre, le skins, il desktop e così via. Windows Longhorn infatti ha un nuovo sistema grafico per la gestione delle finestre chiamato Areo che fa cose spettacolari che purtroppo ancora non possiamo vedere perchè sono features ahimè bloccate nella versione che abbiamo a disposizione. In questo blocco sono incluse anche le API per la costruzione delle applicazioni, Windows Forms o Web Forms quindi ASP.NET.

Data - WinFS
Il secondo blocco, quello di colore giallo, Data, è relativo alla gestione dei dati. Secondo me è uno dei blocchi più importanti. Una delle tante sigle che tiene banco in questo caso è infatti WinFS acronimo di Windows Future Storage un nuovo sistema, un nuovo File System che permette di tenere organizzati i propri dati (file e cartelle) in una maniera ottimale e consentendo fra le altre cose delle ricerche rapidissime e dei collegamenti relazionali con i files. Di questo blocco fa parte anche ADO.NET, che contiene a sua volta altre tecnologie e APIs come gli Object Spaces, SQLXML, i DataSet e i Data Providers.

Communication - Indigo
Il terzo blocco, verde , è relativo alla Comunicazione. Questo set di APIs è stato invece chiamato Indigo. Uno degli autori di questo insieme di tecnologie è il famoso Don Box.
Devo ammettere che forse questa è la parte più interessante ma forse anche la più complicata e ostica. In questo gruppo troviamo servizi e funzioni per la gestione della comunicazione fra applicazioni, tramite lo scambio e la gestione dei messaggi, (accodamento, instradamento) che sfruttano i protocolli più comuni, TCP, HTTP, IPC, ecc. I Web Services sono stati un ottimo esempio di interoperabilità fra sistemi, ma necessitavano di caratteristiche evolute come sicurezza e transazionalità, cose che Indigo promette di offfrire.
Microsoft inoltre vuole sfruttare pesantemente Indigo e Longhorn per costruire i nuovi tools della suite Office in modo da integrare delle funzionalità di collaborazione. Le persone devono aver la possibilità di lavorare simultaneamente allo stesso progetto, anche a distanza, con Power Point con Excel, o qualsiasi altro strumento. Attualmente ciò è impossibile, con Indigo Microsoft e gli altri sviluppatori avranno a disposizione una piattaforma ottimale su cui appoggiarsi.

Milioni di files sul disco? WinFS ci aiuta!
E' diventato un problema di tutti la gestione dei files sui propri dischi fissi. Ormai i computer che abbiamo in casa sono dotati di uno o più dischi fissi che sono fra l'altro di grandi dimensioni, 80-100 giga e forse più.
La capacità dei dischi fissi aumenta di circa il 70% ogni anno. Questo significa che tendiamo ad immagazzinare sempre più dati. Siamo arrivati ad un punto però in cui non riusciamo più a organizzarli e ritrovarli quando abbiamo bisogno di qualcosa. Sappiamo che sicuramente quel file c'è, ma una volta avviata la ricerca con il "Trova File.." possiamo abbandonare il PC e tornare dopo aver bevuto un caffè, sperando che il sistema abbia trovato quello che noi cercavamo.
La situazione quindi diventa insostenibile rendendo di fatto inutile il Trova File.

Che cos'è e come funziona WinFS?
WinFS è il nome del nuovo File System integrato all'interno di Windows Longhorn. Che cosa ha di particolare questo nuovo File System? Cominciamo con il dire che si basa sul motore di Yukon. (n.d.r. Yukon è il nome in codice della nuova versione di SQL Server, il database di casa Microsoft per intenderci).
Quindi a tutti gli effetti il File System diventerà un vero e proprio Database relazionale.
Il concetto di cartella quindi non esisterà più :)
Su questo file system tutti i files verranno considerati allo stesso modo come generici Items, elementi, che potranno essere raggruppati e relazionati uno con l'altro formando dei gruppi di file. Inoltre un file potrà essere presente in una o più "cartelle" ed essere legato ad altri file. Fondamentalmente il file su disco sarà sempre uno ma verranno create n relazioni ad altre entità. Per questo non avrà più senso chiamare queste entità cartelle o directory. Verranno create delle "viste dinamiche" che rappresenteranno il contenuto del nostro disco. Per chi lavora con i databases queste "viste" sono le stesse viste/views che utilizzate per incrociare i dati di più tabelle in una sola virtuale.

Files, E-Mails, Contatti, tutto su WinFS
Il discorso WinFS non si limita solo ed unicamente ai classici Files ma si estende anche ai contatti della Rubrica e alle E-Mail. Anch'essi verranno nativamente immagazzinati su disco. Oggigiorno ci capita di dover inserire più volte gli stessi contatti in programmi diversi, nella rubrica di Windows, poi in Outlook che ha una sua rubrica, sul palmare, ecc. Il risultato è che c'è una perdita di tempo, una frammentazione dei dati, diversi metodi per immagazzinare gli stessi dati e una scontata e costante asincronia dei contatti. Ora con WinFS c'è un unico sistema centralizzato per tutti questi dati. Inoltre come sviluppatori avremo a disposizione tutto un set di funzioni APIs per accedere a questi archivi e fare ricerche con la flessibilità di sempre.

Sfruttando la potenza del Database sottostante (Yukon), Windows Longhorn consentirà quindi di effettuare ricerche sull'intero disco fisso molto rapidamente, addirittura fornendo risultati in frazioni di secondo. Nella nuova versione del trova file addirittura i Set dei risultati vengono continuamente filtrati e aggiornati in tempo reale man mano si digita il nome del file, strabiliante! In aggiunta da WinFS ne trarranno beneficio anche i documenti di Office che saranno completamente indicizzati quindi si potranno cercare pezzi di testo contenuti negli stessi.
Attualmente si può fare questo solo per file di tipo testuale (.txt, .asp, .xml, ecc.)




Come potete vedere dall'immagine la nuova versione del Trova File è completamente integrata con il nuovo File System e infatti permette di cercare Contatti, E-Mail, Guida in Linea, ecc.. C'è anche la possibilità di effettuare direttamente ricerche in Internet.
C'è da dire che Microsoft sta costruendo un nuovo motore di ricerca di MSN che a quanto pare verrà integrato all'interno di Longhorn, infatti cercando su Internet dal Trova File si aprirà il motore di ricerca di Microsoft, questo immagino creerà non pochi problemi alla casa statunitense.
Qui trovate qualche appunto relativo alle indiscrezioni sul nuovo motore di MSN: http://www.dotnethell.it/news/nw.aspx?NewsID=51 ">
Nuovi motori di ricerca all'orizzonte mentre Google soffre

Come dicevo anche per ciò che riguarda la gestione dei contatti, il tutto si poggia sulla potenza di WinFS, ecco infatti la nuova gestione dei contatti:




E per dimostrare che WinFS è effettivamente un Database, guardate cosa succede facendo doppio click su uno dei contatti:





Come potete vedere viene eseguita una vera e propria query sul File System per recuperare tutti i dati relativi al contatto selezionato.
Come già detto in precedenza WinFS è composto anche da un set di APIs offerte agli sviluppatori per programmare le loro applicazioni integrandole con il sistema operativo.
Ecco le poche righe in codice C# managed necessarie per elencare i contatti dentro Longhorn:



using System;
using System.Storage;
using System.Storage.Core;
using System.Storage.Contacts;

ItemContext ctx = ItemContext.Open();
Folder mainFolder = UserDataFolder.FindMyPersonalContactsFolder(ctx);
FindResult result = mainFolder.GetAllMembers();
foreach (object o in result)
{
try
{
Person p=(Person)o;
Console.WriteLine(p.DisplayName);
} catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

Voto medio articolo: 4.6 Numero Voti: 24
David De Giacomi

David De Giacomi

MVP Program Logo Approda al mondo dell'informatica nell' Aprile del 1994. Un amico gli fa conoscere il Quick Basic del DOS. E' cosi che inizia la sua attività di sviluppatore. Prosegue il suo percorso con altri linguaggi (Visual Basic, Pascal, Java, ANSI C), fino ad arrivare a .NET. Per un certo periodo affianca all'attività ... Profilo completo

Articoli collegati

WCF Windows Communication Foundation - Serializzazione
La serializzazione è un processo di "trasformazione" degli oggetti molto utilizzato in .NET, fin dalla prima versione. In questo articolo approfondiremo il suo utilizzo all'interno del WCF e vedremo le possibilità che esso ci offre in questo contesto.
Autore: Giovanni Ferron | Difficoltà:
WCF Windows Communication Foundation - Overview
Questa introduzione è la prima parte di una serie di articoli su un componente chiave del .NET Framework 3.5 il Windows Communication Foundation (WCF). Vediamo che cos'è e come funziona.
Autore: Giovanni Ferron | Difficoltà: | Commenti: 3
Windows Longhorn Refresh - Build #4074 Screenshots
Come annunciato poco più sopra nelle news è stata resa disponibile da Microsoft una nuova Build di Windows Longhorn la 4074 per l'esattezza. Ci sono alcune novità, sono stati apportati miglioramenti significativi in alcune aree e sono state implementate nuove funzionalità. Vediamo in questo articolo che cosa è cambiato.
Autore: David De Giacomi | Difficoltà: | Commenti: 3 | Voto:
Windows Longhorn, Internet Explorer, Avalon e considerazioni (parte 2)
In questa seconda parte, più ricca di screenshots vedremo le modifiche e i miglioramenti apportati ad Internet Explorer e al sistema operativo in generale. Ci sarà una breve introduzione su Avalon e alcune immagini vi mostreranno come sarà la GUI di Windows del futuro.
Autore: David De Giacomi | Difficoltà: | Voto:
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5