Facilitare la migrazione da DTS a SSIS

Per facilitare la migrazione di un package DTS verso SSIS (Integration Services) è necessario verificare che ci siano una serie di caratteristiche rispettate nel package originale, in caso contrario la migrazione ha successo ma non genera componenti nativi SSIS, bensì package DTS embedded nel package SSIS.


Per evitare una serie di operazioni manuali ripetitive per preparare un package DTS alla conversione in oggetti nativi, ho realizzato un semplice tool a linea di comando, DtsToSsisPrepare, disponibile su www.sqlbi.eu.


Parlerò di queste e altre problematiche di Integration Services nella sessione Data Warehouse con Integration Services alla SQL Server Conference 2006 che comincia martedì 27 giugno.


Il tool è comunque scaricabile da tutti, spero di riuscire a scrivere prossimamente un articolo di approfondimento sull’uso del tool, per ora è disponibile un post sul mio blog inglese con una breve descrizione delle opzioni disponibili.

ADO.NET Entity Framewok

Come segnalato da Andrea Saltarello, è interessante leggere cosa c’è da aspettarsi con ADO.NET Entity Framework che esordirà nella prossima versione di ADO.NET.


Inizia a delinearsi un quadro più chiaro di come fare a inquadrare LINQ nelle architetture n-Tier, anche se è presto per valutare bene la cosa. Comunque sono d’accordo con Andrea: la separazione tra definizione delle entità e mapping di queste sul db, con un ampio grado di libertà in questa definizione, è decisamente un grande passo in avanti. Lettura consigliata.

Il futuro di VB5/6

Ho appena letto (un po’ velocemente) questo post di Francesco Balena e i relativi commenti, sulla saga infinita di VB6 vivo o morto.


Sono passati 8 anni da quando è uscito Visual Studio 6.0. Visual Basic 5 di anni ne ha 9. Sono cambiate diverse versioni di sistema operativo. Ma tutto sommato, anche con Vista si può dire che Windows è ancora Windows (con API Win32 e compagnia). Allora perché cambiare?


Alle argomentazioni di Francesco, aggiungerei una parola che non ho letto: la sicurezza. Il vero, grande e irrisolvibile problema di un certo modo di scrivere il software è la sicurezza. .NET ha in se molti anticorpi, primo tra tutti CAS (Code Access Security), che però ha senso quando tutti i programmi sono scritti in codice managed. Come ho detto più volte, sono molto basse le probabilità che io possa installare, provare e decidere di acquistare un software che per funzionare richiede di essere amministratore. La maggior parte dei software scritti in VB6 ha (non sempre per colpa dei programmatori VB6) questo difetto. Purtroppo è difficile risolvere il problema senza cambiare linguaggio.


Windows Vista renderà le cose ancora più difficili per chi non si preoccupa di questi aspetti. Certo, non succederà domattina, ma la tendenza è chiara e netta. Credo che se ne possa discutere per mesi e anni, ma il destino di VB6 mi pare segnato e ineluttabile.

MSDNMAN

Se, come me, avete l’allergia ai tempi di risposta dell’help di Visual Studio e del sito di MSDN, non potrete che apprezzare MsdnMan, un tool a linea di comando che attraverso i web service di MSDN mette a disposizione l’help in modo veloce ed efficace.


Certo, non è come navigare con il browser, ma in certi casi è esattamente ciò che serve. Sorgenti disponibili per chi vuole studiarci sopra. Per saperne di più leggere il post di Craig Andera.

Sessioni per SQL Server Conference

In questi giorni sto ultimando i lavori sulle due sessioni che terrò a SQL Server Conference 2006.


La sessione sull’uso di SSIS per alimentare i Data Warehouse è praticamente finita, anche se spero di rifinire ulteriormente un tool per facilitare la migrazione di certi package DTS a SSIS: praticamente faccio una pre-conversione dei DTS in altri DTS più “digeribili” dal wizard di migrazione a SSIS (obiettivo: evitare i package DTS “embedded” in un package SSIS).


L’altra sessione che ho verte sulle tecniche di modellazione avanzata di Analysis Services: si tratta di uno studio che porto avanti da oltre un anno e che ho già applicato in produzione, ma in realtà si tratta di una vera e propria terra di frontiera (nel senso che nessuno ha ancora studiato tutti i risvolti di alcune tecniche di modellazione, e quando dico nessuno vi assicuro che la cosa non mi procura gran giovamento). Spero di trovare il tempo, prossimamente, per completare un articolo che descrive l’intera materia (l’articolo è al 60%, la sessione per fortuna è quasi finita).


Ho avuto modo di vedere anche le bozze delle sessioni di Roberto e Paolo (Notification Services, SQL Everywhere e XML con SQL Server 2005). Non c’è dietro una ragione tecnica (sono tutte sessioni interessanti), ma l’argomento per me più interessante è SQL Everywhere: potenzialmente sembra la soluzione ideale tutte le volte che montare un servizio di SQL Server (Express) è troppo e ci si potrebbe accontentare di un file MDB… in realtà non è proprio come avere SQL Server, ma per moltissime applicazioni potrebbe essere la soluzione ideale, visto che c’è anche la possibilità di effettuare repliche dei dati verso un “vero” SQL Server.


Chissà se qualcuno ha già usato delle relazioni many-to-many in cascata in cubi OLAP o sta implementando qualche soluzione “desktop” (non Windows CE) basata su SQL Everywhere: sarebbe interessante entrare in contatto e condividere un po’ di esperienze, in giro non si trova ancora molto.

Evoluzione e maturazione dell’IT

Robert Scoble lascia Microsoft per andare a podtech.net. Ho seguito (da lettore) la carriera di Robert Scoble in Microsoft. Si può dire che, nelle relazioni con l’esterno, esista una Microsoft prima di Robert Scoble e una dopo di lui. Quella prima non aveva blogger aziendali, quella dopo produce più post di quanti se ne possano leggere.

Questo evento ha scatenato in me una considerazione immediata: c’è un veloce cambiamento nel mondo dell’IT, di Internet e dei new media che comincia a delineare più chiaramente ruoli e competenze nelle aziende in ambito di IT. Chi ha vissuto la bolla speculativa a cavallo del 2000 ricorderà che qualsiasi startup che avesse le parole “internet”, “startup” e “business plan” aveva tutte le premesse per decollare… Molte aziende si sono snaturate e da una competenza IT sono passate a competenze completamente diverse… 

La presunta “convergenza digitale” sta portando notevoli mutamenti ma mi sembra di vedere maggiore maturità nel modo in cui ciò sta avvenendo. Esistono le nuove iniziative imprenditoriali, ma non vedo molte aziende che tentano il suicidio cambiando radicalmente la propria identità e il proprio business solo perché sembra l’idea buona del momento. La scelta di Robert Scoble è comprensibile: non è Microsoft l’azienda che può percorrere nuove strade (interessanti per uno come Robert Scoble) che fuoriescono dal core business (Microsoft non produce contenuti – o per lo meno non lo fa come business, ma lo fa a supporto del suo core business, che è cosa ben diversa).

Facendo un piccolo salto dimensionale, viene da chiedersi: ha ancora senso “l’azienda informatica”? Sì, più che mai, a patto che offra competenze specifiche e specialistiche. Personalmente non credo nella software house che agisce più su base locale che su competenze specifiche non necessariamente legate alla vicinanza territoriale del cliente, così come non credo nelle aziende che fanno “people mover”, l’equivalente dei “box mover” nel campo della distribuzione, che basano il loro fatturato sull’intermediazione di un bene che nel caso del software è il “body rental”, pessimo termine che in Italia rappresenta più che altro una reazione del mercato ai vincoli legislativi (ma anche alle consuetudini aziendali) del mercato del lavoro.

Il fatto che un mercato arrivi a una certa maturità e a un certo consolidamento forse è meno attraente per i venture capital, ma dal mio punto di vista ha un risvolto positivo rispetto alla possibilità di fare investimenti di lungo termine. Calano quindi le probabilità di aprire un’azienda e diventare milionari nel giro di pochi anni? Probabilmente sì. Ma per contro aumentano le probabilità di successo per chi lavora su qualità, ritorni degli investimenti, soddisfazione del cliente. In realtà credo che ci troviamo già nel pieno di questa fase, ma come ho detto è un evento se vogliamo collaterale che mi ha spinto a questa riflessione serale. 

Più del solito sono curioso di conoscere cosa ne pensate: commenti aperti!

Sessioni live da TechEd

Il TechEd 2006 di Boston ha segnato il tutto esaurito, ma è possibile guardare alcune sessioni in diretta e gratuitamente: in questa pagina l’elenco delle sessioni live. Chiaramente le 6 ore di fuso orario fanno sì che tutto cominci nel pomeriggio italiano… comunque di solito viene reso tutto disponibile anche offline dopo qualche giorno.

WinFX –> .NET 3.0

Se serviva la parola “fine” all’ambizione di avere con Longhon un sistema operativo basato su una nuova API, ecco qua la degna chiusura: WinFX cambia nome e diventa .NET Framework 3.0.


Tutto semplice? Manco per sogno. .NET 3.0 è composto da nuovi set di librerie (WCF/WPF/WS/WCS = Communications Framework/Presentation Framework/Workflow/CardSpace tutti con Windows davanti) che si basano su .NET 2.0. In altre parole, in .NET 3.0 la versione del CLR è ancora la 2.0. LINQ non farà parte di .NET 3.0 ma sarà compreso in Orcas, la prossima versione di Visual Studio.


A questo punto è naturale chiedersi che versione di .NET Framework sarà supportata da Orcas e soprattutto che numero di versione avrà la prossima versione del CLR (3.1? 4.0?). Ma in fondo sono solo numeri…

TableDifference: nuovo modo per gestire SCD con SSIS

Chi alimenta un datawarehouse in modo incrementale ha a che fare con le Slowly Changing Dimension (SCD). Integration Services (SSIS) ha un componente per la gestione delle SCD che ha un grande difetto: le sue prestazioni sono piuttosto deludenti. La necessità aguzza l’ingegno e le prestazioni in questo campo sono indspensabili…


La soluzione proposta da Alberto Ferrari si chiama TableDifference: si tratta di un componente che consente di confrontare due tabelle analoghe (es. il prima e il dopo di una dimensione…) ottenendo in output flussi diversi per ciascuno dei casi trovati. L’articolo su TableDifference spiega ampiamente i vantaggi di questo approccio e i possibili effetti collaterali.


Ho partecipato ad alcuni test delle prime versioni del componente e posso confermare che le prestazioni ottenibili sono eccellenti.

Office 2007: PDF o non PDF?

Pochi giorni fa ho espresso il dubbio che Adobe non avrebbe preso molto bene la funzionalità di salvataggio in PDF del nuovo Office 2007. Dopo poche ore i miei dubbi si sono trasformati in fatti, con Adobe che minacciava azioni legali contro Microsoft. La cosa per me inaspettata è stata il veloce dietro-front di Microsoft che ha subito accettato di rendere la funzionalità disponibile come add-in gratuito ma scaricabile dal proprio sito e non già incluso nell’installazione standard di Office 2007.


Quello che mi ha stupito è stata la resa immediata. Ormai è talmente scontato che un tribunale (specialmente se europeo) dia giudizi contrari a Microsoft al punto che quest’ultima preferisce non affrontare la sfida, se possibile. Ancora una volta, è come se i costruttori di autoradio imponessero alle case costruttrici di automobili l’impossibilità di montare un’autoradio come dotazione di serie di un’autovettura. Mi pare assurdo: chi è che abusa di “posizione dominante”, in questo caso, chi vuole dare una funzionalità in più ai propri clienti o chi vuole “campare di rendita” sulla base di una posizione dominante (chi è che oggi produce il maggior fatturato facendo software per produrre documenti PDF?).


Sono un tantino dubbioso che questa sia una direzione che favorisce l’innovazione…