DAT328 SQL Server 2005: Inside Analysis Services

In questa sessione ho visto per la prima volta la Beta 2 di Yukon al lavoro. Finalmente ci sono tanti pezzi che non trovavo sulla Beta 1, in particolare per quanto riguarda la “chiusura del cerchio” di UDM (Unified Dimensional Model). Il primo client Microsoft disponibile per sfruttare UDM da un client “tradizionale” (non multidimensionale) è Reporting Services. Rispetto all’attuale, la novità è data da un query builder per MDX – non so dire quanto sia sofisticato, bisogna prima metterci le mani sopra, ma per creare query “semplici” rispetto a un UDM va bene e l’obiettivo, secondo me, è proprio quello di fornire le capacità minime per creare report “normali”, non bisogna avere la pretesa di fare query MDX esoteriche all’interno di Reporting Services (per lo meno, non con un query builder).


Le nuove funzionalità sono quelle già annunciate con la Beta 1 (Key Performance Indicator, Perspective, Measure Groups, Translations, ecc. ecc. ecc.) ma come al solito le informazioni più interessanti sono quelle “rubate”.
Primo: Office 12 coprirà le nuove funzionalità (KPI, UDM, ecc.). Cosa questo significhi in realtà non si sa e non si può sapere (tanto per cominciare sarebbe bello sapere se actions, drillthrough e writeback diventeranno funzionalità integrate di Excel che non richiedono macro o componenti esterni).
Secondo: le “terze parti” (non sono stati fatti nomi, ma immagino che siano i soliti: ProClarity, Panorama, MIS Ag, Cognos, ecc.) stanno già lavorando ai nuovi client che supporteranno le funzionalità di Yukon e si connetteranno con XML/A senza più richiedere OLE DB for OLAP (che sarà aggiornato anche per Yukon per motivi di contabilità, anche se XML/A resta il protocollo di riferimento, eventualmente utilizzabile da ADOMD.NET già disponibile in beta).


Bilancio: sembra che le promesse saranno mantenute, ma dovremo aspettare ancora quasi un mesetto (si dice fine luglio) per avere tra le mani questa beta che dovrebbe finalmente avere tutte le funzionalità previste per la versione finale (magari con qualche bug, ovviamente).

WIN499 Linux e Windows: kernel a confronto

Questa sessione di Mark Russinovich è stata magistrale. Dovendo parlare di una questione delicata come il confronto tra i kernel, Mark si è preoccupato di avere un commento preventivo sulle slide sia da parte dei progettisti del kernel di Windows (Dave Cutler in testa), sia da parte di chi si occupa di Linux (a partire da Linus Torvalds).


Il confronto è stato molto tecnico e su tutta una serie di dettagli è stato possibile capire le sottili differenze tra Linux e Windows in termini di scheduler, security, I/O asincrono, modello di driver layered ecc.


Riassumendo le conclusioni: i due kernel, pur avendo storie diverse che traggono le loro radici negli anni ’70, sono sempre più simili. Allo stato attuale Windows mantiene (in termini prestazionali) una leggera superiorità su architetture SMP (almeno due processori fisici); un’altra differenza significativa è l’architettura del modello di driver, che in Windows è più modulare e flessibile (ma questo è un mio punto di vista, parzialmente bilanciato dal fatto che molti driver Linux, essendo Open Source, possono essere modificati e ricompilati direttamente).
In generale, però, il confronto ormai lo si deve fare su architetture complessive dove il kernel è solo una piccola parte dell’insieme; poiché il suo impatto è sempre minore (visto che i due kernel sono sempre più vicini), tutto il resto assume una rilevanza, se possibile, ancora maggiore.


Un aspetto interessante, però, è il seguente (ed entriamo in un terreno molto tecnico): Linux, dal kernel 2.6, ha introdotto un servizio per gestire l’I/O asincrono sugli accessi al disco fisico, che consente a servizi come database serer di accedere in modo più efficiente e scalabile ai dati su disco, posto che l’intero database sia allocato in una partizione fisica dedicata.
L’implementazione esistente ricalca (a dire di Mark, io non ho conoscenze sufficienti su Linux per dirlo) le I/O Completion Port di Windows. Quale è il problema? Semplice: Microsoft possiede un brevetto sulle I/O Completion Port. Per ora non è successo nulla, ma in futuro potremmo sentire parlare di questo particolare.


Infine, una curiosità: Mark, facendo un po’ di storia dei due kernel, ha ricordato come negli anni ’80 Microsoft possedesse una versione di Unix chiamata Xenix, che era anche la versione più venduta (in termini numerici) all’epoca. Tale tecnologia fu poi venduta a SCO, società su cui Microsoft aveva inizialmente una partecipazione. Il resto è storia di giorni nostri…

DEV333 C++/CLI

In questa sessione è stata presentata, in maniera divertente e informale, una materia tecnica piuttosto complessa che è la sintassi del nuovo C++ per CLI. Fare un report delle cose interessanti è troppo lungo, ma due cose sono particolarmente interessanti.


1) Questa citazione:
C++ is the best language for garbage collection.
Primarily, because it create less garbage.


2) Cosa succederà dopo Whidbey/VS 2005:
Si potranno derivare classi managed da classi unmanaged e viceversa, potendo poi avere dei riferimenti a oggetti managed come dati membro di una classe unmanaged, e viceversa (senza per questo scrivere troppe funzioni wrapper).


Il secondo punto, soprattutto, mi sembra significativo: tanti (tutti?) aspettiamo Office (ri)scritto in .NET. Operazione lunga e costosa. Ma tutto sommato una “migrazione” del codice di Office a .NET usando il C++ che verrà dopo Whidbey… forse è la cosa più sensata.
Mi piacerebbe sapere, a questo punto, come stanno procedendo con lo sviluppo di Office 12.

BPR335 Business Intelligence con Visio 2003

L’idea è semplice: Visio è un prodotto per disegnare oggetti che mantengono una rappresentazione logica come modello a oggetti in memoria. Poiché da codice (es esiste un Visio SDK con tanto di esempi) si possono creare degli elementi grafici da zero o modificare le proprietà di oggetti già creati in un diagramma Visio esistente, è possibile usare Visio come motore per la visualizzazione di dati con forme grafiche non tradizionali.


Si parte dalla visualizzazione di un organigramma (ricavato da una dimensione parent-child precedentemente esportata in un file XML) colorato poi con i dati presenti sulle dimensioni di un cubo e si arriva a delle visualizzazioni con colorazione di mappe territoriali. Per quest’ultima esigenza in realtà è meglio usare MapPoint, ma se basta un dettaglio a livello di Paese (Country) allora ci sono delle mappe in Visio che garantiscono un dettaglio sufficiente; scendendo a livello di Regione/Provincia/Comune, invece, è necessario andare su MapPoint.


Ma veniamo all’idea carina: visualizzare i prodotti venduti in un supermercato colorando gli scaffali su una mappa che descrive la conformazione del negozio. Certo, facendo un’applicazione specifica il costo di sviluppo è significativo, ma nulla impedisce di realizzare un ambiente “generico” così composto: un designer, che consente di disegnare dei diagrammi assegnando a ogni oggetto un link con un membro di una dimensione, e un viewer, che possiede un’interfaccia generica di navigazione su un cubo (prevalentemente definizione di filtri su dimensioni e misure) per scegliere i valori da visualuzzare sulla mappa (compresa una selezione di mappa colori, un po’ come fa Data Analyzer).


Io l’idea l’ho data, se qualcuno ha voglia di scriverlo…

Motorola MPx dal vivo e funzionante

Oggi ho provato un Motorola MPx reale e funzionante (anche se è ancora una pre-serie). In Italia mi hanno confermato che arriverà per Natale. La prova dal vivo ha confermato alcuni aspetti:



  • la tastiera è piccola ma utilizzabile

  • il display si vede benissimo: ha la risoluzione di un PocketPC (320×240) ma non risulta assolutamente piccolo, anzi…

  • pesa poco più del mio attuale Smartphone (ehi, ho appena scoperto che c’è una nuova versione della ROM, stasera la installo)

  • La cosa strana è la larghezza: più stretto di un PocketPC, più largo di un telefono normale; però è la profondita che si fa apprezzare, uno si potrebbe aspettare un pataccone e invece può stare nel taschino di una giacca senza deformarla troppo

  • sono previsti svariati accessori, tra cui ovviamente l’auricolare BlueTooth, un po’ di optional per l’auto e un cradler da tavolo che fa anche da orologio/sveglia (se non ho letto male)

  • il look (anche degli accessori) non è assolutamente da nerds ma tenta di fare il filo a chi sceglie un telefono “perché è bello”; con il telefono vero e proprio non so se ci riescono (le dimensioni non favoriscono troppo il design, anche se una volta aperto è spettacolare) ma gli accessori sicuramente cercano di essere “di tendenza” (che poi ci riescano, beh, questo lo vedremo…)

Per ora non ci vedo lati negativi, se non la dimensione in particolare per la larghezza, ma non è un problema così grande, forse basta abituarcisi. A Natale vedremo…

DAT313 – DTS in SQL Server 2005

Ho (ri)visto questa sessione sui DTS in SQL Server 2005, che in parte avevo già visto a PDC. Con un po’ di esperienza sulla Beta di Yukon alle spalle ho compreso meglio la ragione di certe scelte e di alcune funzionalità.


In particolare la domanda che comincio a farmi è se vale la pena, con il nuovo DTS, rinunciare a creare certe staging table molto grandi in una trasformazione per un Data Mart per utilizzare i Data Task che, grazie alla possibilità di fare trasformazioni dello stesso dato in parallelo, possono caricare i dati direttamente in SQL sulla stessa macchina con un trasferimento in memoria, senza passare per lo stack di rete.
Le prestazioni saranno migliori? La sfida è dura perché SQL, se usato bene, è dannatamente veloce. Certo, ci sono i tempi di scrittura (delle tabelle temporanee) che vengono eliminati. In teoria lo spazio per migliorare c’è. Soprattutto è interessante valutare la possibilità di sfruttare questa architettura per ottimizzare al meglio un caricamento incrementale (notoriamente operazione lenta, complessa e delicata).


Ancora un mese (forse meno) e sulla Beta 2 (di SQL Server 2005) varrà la pena iniziare a sperimentare seriamente.

EBZ203 – Axapta

Axapta è il prodotto di ERP targato Microsoft. Si tratta di una tecnologia che Microsoft ha acquistato da/con Navision e che adesso deve integrare con la “sua” architettura. Sapendo questo dovrebbe stupire un po’ meno (ma stupisce lo stesso) il fatto che, dal punto di vista architetturale, questo sistema possa funzionare indifferentemente a 3 o a 2 livelli (in quest’ultimo caso caricando i componenti di business logic sul client).


Lascia un po’ perplessi vedere che l’integrazione completa con .NET è di là da venire, che Reporting Services sia utilizzabile ma i report siano gestiti anche con un suo sistema interno di generazione di form e report (con un layout pressoché automatico chiamato MorphX.
Il linguaggio con cui si può personalizzare il tutto è X++, che assomiglia abbastanza a C# (o a Java) ma è uscito prima (di C#).


Sinceramente uno esce un po’ stordito: prima di far convergere quest’architettura verso SOA/.NET/ecc.ecc. ci vorranno (tanti) anni. Ma una delle cose che hanno evidenziato è che Microsoft garantirà il supporto, lo sviluppo e la realizzazione di nuove versioni di Axapta almeno fino al 2014. Lavoro ne hanno parecchio…

Bye bye privacy :-)

Nella rete interna ci sono delle postazioni Voice over IP che, integrate con Exchange e Outlook, consentono di registrare tutte le conversazioni in ingresso e in uscita. Scenario che io e Paolo abbiamo immaginato: nel medio e lungo termine chi fa centralini telefonici non avrà più il business e controllare le telefonate di un’azienda sarà sempre più semplice. Scenari lugubri a parte, l’integrazione con Outlook e l’assenza di reti dedicate (per i cavi telefonici) se unita a un costo concorrenziale della tecnologia rende i centralini tradizionali decisamente obsoleti….


Il business del Voice over IP in realtà è già attivo, ma il livello di integrazione con Windows e Office ne fa una tecnologia appetibile anche solo per le reti locali (mentre ora è usato più per connessioni geografiche e/o per risparmiare sul traffico telefonico).

Express Edition e Longhorn… 2008 (?)

L’annuncio tanto strombazzato è quello delle versioni Express di Visual Studio e SQL Server.


Si tratta di una versione “entry-level” destinata a hobbisti: il costo sarà nominale (costo del CD? non hanno dato un prezzo).
SQL Server 2005 Express Edition sarà gratuito e sostituirà MSDE.


Passiamo a Longhorn.
La seconda slide della keynote presenta una roadmap dove Office 12 e Longhorn sono nel blocco “2006-2008”. SQL Server 2005 e Visual Studio 2005 sono nel blocco 2004-2006. Non vuol dire niente (sono solo numeri su una slide, per ora), ma iniziamo a vedere qualche data; non tanto vicina.

Il problema dell’accessibilità

L’esordio di TechEd ha un lato bello e uno brutto.
Partiamo da quello brutto: la borsa è orribile e un tamburello (spero sia un nome corretto) è stato donato a ogni partecipante di TechEd.


La cosa bella: per sensibilizzare gli sviluppatori non c’è niente di più forte impatto rispetto a una demo fatta da una persona con problemi visivi per capire che seguire le regole di disegno dell’interfaccia utente per favorire l’accessibilità può fare la differenza tra un sistema utilizzabile e uno no.


Piccoli dettagli possono fare la differenza tra scegliere un link in pochi secondi o attendere quasi un minuto. Vedere per credere: spero che il video sarà reso disponibile.