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!

WPC 05: terza giornata

Siamo a metà del nostro cammino e questa è la giornata più lunga per numero di sessioni, infatti anche dopo cena ci sarà un incontro con gente di Microsoft.

Si inizia con Dino Esposito ed i Windows Workflow Services: in pratica sono un'estensione del Framework .NET per la gestione di flussi relativi ad operazioni di qualsiasi tipo. Ora sono disponibili in Beta 1, tra poche settimane uscirà la Beta 2 e tra qualche mese la release. Ciò che stupisce è la semplicità d'uso ed il designer integrato in VS 2005 che permette addirittura di inserire i breakpoint su ogni attività del diagramma. Altra cosa carina è la possibilità di utilizzare il designer nelle proprie applicazioni dato che fa parte di WF e non di VS.
Si parla già delle conseguenze che uno strumento del genere avrà sullo sviluppo di applicazioni: io penso che in certi ambiti ne avrà molte, data anche la possibità di implementare facilmente macchine a stati. Anche in casa Microsoft ci credono dato che le prossime versioni di BizTalk si appoggeranno su WF.

Seconda sessione: Igor Macori ci mostra come realizzare una intranet aziendale con i Windows SharePoint Services in un'ora. Il bello è che partendo da una macchina pulita - 2003 Server - ci riesce alla grande avanzando pure del tempo. Conosco già WSS, quindi le sue funzionalità mi sono note, ma ho avuto modo di imparare ugualmente un po' di cose e soprattutto di vedere quante web parts (componenti per WSS) di terze parti, anche gratuite, siano disponibili sul mercato.

Resto nella stessa sala, con il medesimo speaker, per una overview su Live Communication Server 2005, lo strumento per il supporto alla collaborazione in realtime.  Nulla da dire: il prodotto è flessibile e potente. A causa della mia scarsa conoscenza sulla materia non ho un particolare spirito critico, ma mi impressiona sapere che la versione enterprise gestisce fino a centomila utenti. Da tenere d'occhio per il futuro, anche perché le statistiche ci dicono che nei prossimi anni il traffico relativo all'instant messaging supererà quello delle mail.

Dopo il pranzo doppia sessione con Andrea Saltarello ed il design OO delle applicazioni. In particolare ci si concentra sul business layer ed il data access layer. Si spazia da qualche pillola di teoria, che anch'io ritengo non guastare mai, e poi tanta pratica pervasa dai design patterns. Ci viene mostrato come disaccoppiare i vari strati dell'applicazione e come farli comunicare in maniera assolutamente astratta, così, quasi senza che ce ne rendiamo conto, ci ritroviamo con un'applicazione che può persistere i dati su SQLServer, su Oracle, oppure tramite NHibernate. La medesima applicazione funziona con WinForm e su browser, ma la vera cosa da sottolineare è la sua "apertura" a scenari futuri grazie ad una implementazione a plugin.
Per gli amanti del genere vi consiglio il Wiki di UGI.NET ed in particolare la sezione dedicata ai libri che parlano di OOD.
Oltre a tutte queste cose...non potrò dimenticare l'"emozione" di stringere nelle mani la spada laser che Andrea e Lorenzo hanno usato nell'ultimo Workshop UGI ;-)

Come ultima sessione "ufficiale" mi sono sciroppato WinFx ed in particolare l'overview su Avalon (a chiamarlo Windows Presentation Foundation proprio non riesco). Lo speaker, Giuseppe Guerrasio, ci mostra qualche slide ma appena può si butta sul codice e sulle demo...ossia proprio quello che la platea si aspetta. Pur girando in una VM Avalon fa già intravedere alcune potenzialità impressionanti (trasformazioni 3D, blending, animazioni di ogni genere) che fanno apparire tutto il resto vecchio dal punto di vista grafico. Mi chiedo cosa può fare su una macchina vera, con una GPU dell'ultima generazione. La forza di Avalon è quella di separare il cosidetto behavior dell'interfaccia dal suo aspetto, creando di fatto una spaccatura tra i designer di UI e gli sviluppatori delle applicazioni sottostanti. Altra possibilità interessante è quella di poter vedere controlli Avalon all'interno del browser, consentendo di sviluppare applicazioni web con una user experience uquivalente a quella delle applicazioni fat. Il tutto, a detta di Microsoft, disponibile tra meno di un anno :-)

Per ora è tutto, vado alla sessione Ask the Expert, poi si cena, poi c'è l'incontro con le persone di Microsoft.

WPC05: seconda giornata

Dopo la giornata introduttiva ecco che la conferenza entra nel vivo.

Si parte con la Opening Session e scopro che da quest'anno Giovanni Librando ha passato le consegne a Claudio Galletti: in bocca al lupo al nuovo patron della manifestazione!
La opening scorre veloce, tra slide di stampo prettamente commerciale e alcune brevissime demo su Avalon, Indigo, Office 12, 2003 Server R2. Da sottolineare la nuova tecnologia delle minc... annidate promossa da Leone Randazzo ;-).

Dopo il pranzo ecco una sessione che tratta di come scrivere applicazioni personalizzate per i Windows SharePoint Services. Lo speaker è Marco Bellinaso e devo dire che la sessione mi è piaciuta molto. Secondo me è un giusto mix di slide e VS. In un'ora e un quarto abbondanti imparo cose che mi serviranno subito appena tornerò al lavoro.

La sessione successiva prevede un po' di ASP.NET 2.0 raccontato dall'arcinoto Dino Esposito: si parla di Asyncronous Pages, Build Providers e Page Parsers Filters. La parte più interessante è la prima, nella quale si mostra la capacita della nuova versione di ASP di supportare pagine asincrone che non mandino in stallo i thread del processo di ASP.NET. In pratica i thread dell'engine vengono chiamati in causa solo nei momenti clue e non devono aspettare che un processo scatenato da una determinata pagina termini il proprio lavoro.

E' la volta di Visual Studio Team System presentato da Silvano Coriani. Sulla carta TS si presenta come un vera potenza, ma in tutte le sessioni e workshop che ho seguito nell'ultimo anno su questo prodotto, non ho ancora avuto modo di vederlo funzionare nella sua totalità. Il fatto che Microsoft stessa lo stia usando per gestire i propri progetti è senz'altro un ottimo biglietto visita. Vedremo...

L'ultima sessione della giornata è proprio quella di UGI.NET: rivedo tanti volti conosciuti - soprattutto quello del presidente Andrea Saltarello con il quale ho una certa sintonia a livello di Design Pattern e Testing - ed il tempo vola via parlando di VS 2005, sviluppo RAD, patterns, protezione contro il reverse engineering, nullable types. Bella sessione che si svolge in un clima assolutamente rilassato ed amichevole.

L'evento serale è la serata pub...ma l'influenza non mi da tregua e sono costretto a tornarmene in albergo :(