WPC 05: quinta e ultima (sigh) giornata

Eccoci all'ultimo giorno...purtroppo.

La sfliza di quattro sessioni che ci dividono dal termine della conferenza inizia con una disquisizione sul Composite UI Application Block. Per chi ancora non lo sapesse, gli AB sono librerie scritte da Microsoft ognuna delle quali supporta lo sviluppatore nell'ambito di un problema specifico. Sono gratuite e fornite con tanto di esempi (quick start) e codice sorgente. Ne esistono per il logging, per l'exception management, per il configuration management, ecc. Molti AB sono confluiti nella Enterprise Library per .NET 1.1 e 2.0, altri sono spariti, altri sono usciti da poco: è il caso di questo CAB.
Fabio Carucci ci spiega i dettagli, forse anche troppo in profondità, di questa libreria e mostra come sia possibile scrivere applicazioni WinForms che siano completamente disaccoppiate dalla logica di funzionamento. Rispetto ai vecchi AB di gestione dell'interfaccia - UI Application Block e UI Process Application Block - sono state introdotte molte novità, ma sinceramente penso che ci voglia un po' di "allenamento" per capirle tutte. Intanto vi lascio il link alla pagina di MSDN che ne parla.

Arriva Paolo Pialorsi a presentarci BizTalk 2006. Avevo già seguito la sessione dello scorso anno relativa alla versione 2004: le differenze non sono molte come numero, ma comunque importanti. Tra le altre novità il "postino intelligente", come viene definito da Paolo, vanta una collezione di adapter molto estesa già nel pacchetto di base, ha un migliore supporto allo sviluppo all'interno di VS 2005, ha un setup più "facile" da portare a termine, facilit la configurazione delle macchine in produzione attraverso file xml generati sulla macchina di sviluppo, migliora l'assistenza per il monitoring e l'amministrazione. Forse l'unico neo è il prezzo: versione standard 8.500$, versione enterprise 30.000$...tuttavia si deve considerare il target di un prodotto del genere che non è assolutamente un giocattolo.

Terza sessione: Giuseppe Dimauro presenta il nuovo namespace System.Transactions del Framework 2.0. La cosa da cogliere e portare a casa da questa sessione, naturalmente secondo me, è la strada che Microsoft sta intraprendendo nell'ambito delle transazioni tra oggetti, componenti, sistemi. Lo speaker ci dice chiaramente che questo namespace rappresenta un primo tassello di quello che potrà essere la gestione delle transazioni nei futuri S.O. Microsoft, quando anche il core sarà implementato in .NET. Le premesse sono ottime perché dagli esempi visti si percepisce una grande facilità nel gestire le transazioni con le classi contenute nel nuovo namespace. Per ora non posso aggiungere altro, l'unica cosa da fare è mettersi sotto con VS 2005 e provare; per chi non resiste ecco il white-paper di Juval Lowy dedicato all'argomento.

Ancora Paolo Pialorsi per l'ultima sessione tecnica di questa edizione della WPC: WS-I ossia interperabilità tra WS. E si compie il miracolo...vedo proiettato sul telo davanti a me Java NetBeans con vero codice Java al suo interno ;-)
Scherzi a parte, non credevo che il discorso dell'interoperabilità fosse così vasto. La sessione è utile per capire quali sono i punti focali per lo sviluppo di WS che siano veramente fruibili da tutte le piattaforme. Nella demo codice Java consuma un WS scritto in .NET e viceversa: secondo la teoria questo dovrebbe rappresentare la norma, ma in pratica no e si devono rispettare una serie di regole per evitare brutte sorprese.

E così siamo giunti al termine: sessione finale, molto corta per motivi tecnici, un saluto ed un ringraziamento ad Andrea e Davide e poi via...verso casa.
Ora ho qualche giorno per riordinare le idee e per decidere quali argomenti approfondire. Voglio anche fare il post delle cose che via via scoprirò o che semplicemente sperimenterò.
Intanto posso dire che, senza fare retorica, è stata una bella esperienza: sia sotto il profilo professionale che umano. La disponibilità degli speaker è impressionante se paragonata al carico di lavoro al quale sono sottoposti...complimenti davvero.

WPC 05: quarta giornata

Altra giornata bella pienotta...ma bella :-)

Inizio con una sessione che tratta di come integrare InfoPath e SharePoint. Proprio come dice lo speaker Giuseppe Martini, InfoPath è un prodotto che non è stato capito, ma penso anche che oggi abbia delle limitazioni serie  - come l'obbligo di avere il binario installato sul client - che lo penalizzano troppo. Fortunatamente la prossima versione permetterà di compilare moduli direttamente dentro le pagine di SharePoint, forse allora ci farò un pensierino per un certo tipo di applicazioni.

Segue una panoramica sul Compact Framework condotta da Marco Frontini. Pur non essendo un cultore di dispositivi mobile devo riconoscere l'enorme lavoro fatto da Microsoft, sia nel far evolvere il CF sia nel supporto che VS 2005 da rispetto a VS 2003 nello sviluppo delle applicazioni.
Tanto per rendere un'idea: il CF 2.0 contiene le classi per la gestione dei file XML, supporta DirectX (un subset ovviamente), supporta tutti gli eventi del dispositivo, a qualsiasi livello, per poter scrivere applicazioni che si integrino in profondità nel sistema, e tanto altro ancora.
Sul lato VS 2005 le novità maggiori risiedono nel designer dei form, che mostra il dispositivo invece di una finestra generica, nella velocità degli emulatori, nella possibità di settare i parametri del progetto senza dover modificare a mano i file di configurazione.

La terza sessione, nonché la mia preferita, presenta le tecniche di porting dal mondo a 32 bit verso quello a 64 bit. Giuseppe Dimauro introduce bene l'argomento, poi va al sodo mostrando molti scenari potenzialmente problematici con relative soluzioni: binari compilati a 32 bit che devono continuare a lavorare in ambiente a 64 bit e l'uso di tool per scovare e risolvere i problemi.
Dopo una sessione del genere ci si rende conto dell'enorme vantaggio di aver sviluppato sul Framework: tutto il codice scritto in "epoca" 32 bit gira senza problemi su archietture a 64 bit, sia x86 che Itanium. Purtroppo lo stesso non si può dire per applicazioni sviluppate in C++, per le quali si deve verificare e testare attentamente il codice che fa uso dell'aritmentica sui puntatori; va comunque detto che chi ha fatto uso di operatori quali sizeof(...) ed affini parte già avvantaggiato nel processo di un eventuale porting.

Paolo Pialorsi ci mostra WSE 3.0. Prima della sessione non so neppure cosa sia esattamente WSE 2.0, quindi parto da zero. Alla fine capisco che Microsoft ha deciso di sviluppare WSE (Web Services Enhancement) perché il mondo dei Web Services è in fermento e rilasciare aggiornamenti sui WS solo in concomitanza delle release del Framework sarebbe stato un limite. WSE implementa i WS con alcune chicche, tipo l'indipendenza dal protocollo HTTP, la security legata al messaggio e non al protocollo, la facilità di comporre messaggi attraverso un modello ad oggetti.
Insomma, WSE non mi dispiace affatto: non è standard, ma se si vogliono sviluppare applicazioni distribuite su architettura interamente Microsoft allora è ottimo.

Le ultime due sessioni, tenute entrambe da Pierre Greborio,  parlano di VS 2005 for Architects (il nome è più lungo ma ci siamo capiti) ed il versioning del codice tramite Team Foundation Server.
Subito una cosa: finalmente non più solo screenshots!! In un mio precedente post criticavo il fatto che tutte le demo sulle grosse novità di VS 2005 e TS alla fine erano fatte più da slide che da operatività sul campo. Questa volta non è così e ne sono felice, così posso valutare meglio i nuovi strumenti.
Il designer per l'architettura delle soluzioni ha i seguenti pregi: è chiaro ed è relativamente facile da usare se si considera la portata del lavoro che deve fare. Permette di impostare limiti a livello applicativo, di deploy, di protocollo che in un secondo tempo servono a validare l'intera solution. Il limite attuale è la validazione solo su certe parti della solution (praticamente i file di configurazione delle applicazioni) e non sul codice sorgente. Faccio un esempio: tramite il designer impongo che la mia web application acceda ad un determinato DB. Se la stringa di connessione è nel web.config allora posso validare tale vincolo, mentre se si trova in un file sorgente questo non avviene. In ogni caso è un ottimo prodotto, che sicuramente crescerà con il tempo.
La seconda sessione tratta del versioning dei sorgenti. Questa parte del Team Foundation Server non è un evoluzione di SourceSafe ma completamente un nuovo prodotto e, come tale, si basa su SQL Server 2005. La gestione dei file è integrata ad un concetto di tracciabilità sconosciuto a SourceSafe che prevede working item, validazione dei checkin (anche custom), branching evoluto. Chi conosce prodotti come IBM Rational ClearCase sa di cosa sto parlando, agli altri posso dire che uno strumento del genere permette di sostenere un ciclo di sviluppo del software consistente: daltronde TFS nasce proprio con questo scopo.

Stasera Serata Zelig...

[OT] T&T ai mondiali

Ieri, mercoledì 16 novembre, la nazionale di calcio di Trinidad and Tobago ha ufficialmente staccato per la prima volta un biglietto per partecipare ai prossimi mondiali.
Perché voglio ricordare questo evento del tutto trascurabile per un italiano? Per un mio caro amico, con cui ho anche il piacere di lavorare, che è un cittadino di T&T ma abita in italia da quasi 8 anni.
Quando ci incontrammo, nel '97, mi disse che sarebbe stato un sogno poter vedere un giorno la sua nazionale ai mondiali: beh...quel giorno è arrivato!

E vaaaaiiii!