in

DevLeap

devcon

Blog ufficiale di DevCon 2009
  • Andrea Provaglio sul palco di DevCon

    Chi non ha mai una sessione di Andrea, dovrebbe iscriversi a DevCon solo per questo. Conosciamo Andrea dal lontano 1996 quando, sotto la neve di Natale ci incrociammo grazie a Stefano Maruzzi. Andrea si occupava di C++ e programmazione object oriented; dalla fine degli anni 90 si occupa di Java e negli ultimi anni si è occupato di metodologie agili e sviluppo in team: le sue sessioni a DevCon saranno dense di spunti per migliorare il proprio lavoro quotidiano.

  • DevCon gadget per Windows Vista/Windows 7

    Da gennaio è disponibile il gadget per tenere il blog di devcon sempre a portata di mouse: http://devcon.devleap.com/gadget.aspx.

  • Agenda pubblicata

    Dal 31/1/2010 è disponibile l’agenda, in versione Silverlight. Buona visione e…buon deep zoom…

  • Una formula diversa

    DevCon 2010 ha è strutturata in due parti. La prima, il 18 e 19 maggio, è dedicata alla costruzione di una moderna soluzione .NET, affrontando sia gli aspetti architetturali che quelli implementativi, approfondendo tutte le tecnologie coinvolte. La nostra scelta è stata di offrire un singolo track, scegliendo gli argomenti in un flusso continuo e coerente, partendo dall’accesso ai dati e arrivando all’interfaccia utente, coprendo tutte le opzioni disponibili per il business layer, il cloud computing, la comunicazione e le soluzioni non sempre connesse.

    La terza giornata, il 20 maggio, è dedicata ad approfondimenti specifici su temi che spaziano dalle funzionalità base del CLR all’interfaccia utente. Con due track paralleli, ciascun partecipante può costruirsi il proprio percorso personalizzato, scegliendo gli argomenti per lui più interessanti. La novità di quest’anno è data dalla lunghezza delle sessioni: 30 minuti, quanto basta per arrivare subito al cuore dei problemi, offrendo così la possibilità di seguire 10 sessioni in un giorno.

    È possibile iscriversi ai primi due giorni (18 e 19 maggio), solamente al terzo giorno (20 maggio) o a tutte e tre le giornate. In tutti i casi, iscriversi prima conviene e consente di risparmiare anche più del 20%!

  • DevCon 2010: Inizio lavori

    Stiamo iniziando i lavori di preparazione a DevCon 2010 progettando le aree tematiche.

    Dopo Microsoft PDC '09 che ci vede impegnati a Los Angeles per una settimana intensa inizieremo a pubblicare le sessioni.

    Gli argomenti più gettonati ad oggi sono:

    1) Visual Studio Team System 2010

    2) .NET 4.0: WCF, Workflow e Dublin in particolare

    3) Windows Azure

    4) WPF e Silverlight

    Come sempre sulle tecnologie esistenti terremo sessioni di approfondimento.

    Stay tuned !

  • Programming Windows Azure

    I partecipanti di DevCon 2009 riceveranno l'accesso al PDF in draft del capitolo 3 del nostro nuovo libro sulla programmazione in Windows Azure e Azure Services Platform.

    Il libro è in consegna in questo mese ed è prevista l'uscita verso la fine dell'estate: è un libro introduttivo sull'intera piattaforma. 

    Dopo il primo capitolo che introduce la filosofia e i benefici dello sviluppo "in the cloud" il libro si articola in altri 7 capitoli e una appendice.

    Capitolo 2: dedicato a Windows Azure e Azure Services Platform

    Capitolo 3: costruzione passo passo di un Cloud Service che usa il blob storage di Windows Azure per la memorizzazione delle immagini

    Capitolo 4: capitolo dedicato allo storage di Windows Azure. Si prosegue l'esempio precedente aggiungendo l'accesso alle Simple Table e alle Queue. Questo capitolo introduce anche il Worker Role e il disaccoppiamento fra front-end e back-end

    Capitolo 5: interamente dedicato ADO.NET Data Services, tecnologia uscita con il SP1 del Framework .NET 3.5, che viene largamente utilizzata per lavorare con le risorse della Azure Services Platform

    Capitolo 6: dettagli di funzionamento dello storage; questo capitolo contiene alcune informazioni fondamentali per organizzare le risorse in cointainer e tabelle per rendere più efficiente la soluzione

    Capitolo 7: questo capitolo è dedicato ai .NET Services che comprendono Workflow Services, Service Bus e Access Control: anche in questo capitolo costruiamo un esempio passo passo per capire meglio i servizi esposti e come usarli nel modo corretto

    Capitolo 8: SQL Services è il database in the cloud e nella CTP attuale espone un modello di accesso completamente diverso rispetto a SQL Server classico. Al Mix 2009 di Las Vegas è stato annunciato anche il supporto al classico protocollo TDS per semplificare l'adattamento delle applicazioni esistenti. Questo capitolo fornisce una panoramica di entrambi i modelli il primo dei quali verrà probabilmente dismesso a favore del classico TDS.

    Appendice A: Workflow Foundation 4.0. Nel capitolo 7 vedremo all'opera la versione attuale di Workflow Foundation, l'unica portabile per adesso in the cloud. Questa appendice vuole essere una panoramica sulle novità della prossima versione.

    A DevCon abbiamo una sessione che tratta questi argomenti: la sessione sarà molto pratica per far capire ai partecipanti cosa vuol dire sviluppare in the cloud dal punto di vista tecnico.

    P.S. Abbiamo aggiornato i servizi in the cloud per l'agenda in formato Silverlight.

     

  • Agenda Finale

    Alcune comunicazioni rispetto ai contenuti

    1) Come anticipato in vari post abbiamo deciso di inserire una sessione su Silverlight 3 in agenda tenuta da Luca Regnicoli 

    2) Silvano purtroppo non potrà essere presente per impegni sopraggiunti. Abbiamo quindi spostato alcune sessioni in agenda per riorganizzare le sovrapposizioni dovute al cambio speaker

    3) Aldo Donetti terrà anche una sessione su Visual Studio Team System 2010 per metterne in luce le novità

    4) Abbiamo deciso di tenere in plenaria la sessione LINQ to SQL vs ADO.NET Entity Framework: la sessione dovrebbe rispondere al quesito del momento e sarà tenuta da Paolo Pialorsi.

    Per visionare l'agenda definitiva ecco l'url: http://devcon.devleap.com/Agenda.aspx.

    La versione Silverlight dell'agenda verrà aggiornata a brevissimo: non dobbiamo in realtà aggiornare il client Silverlight ma i servizi ospitati in Windows Azure che sfruttano il Table Storage e visto che è tutto in CTP occorre un attimo pazienza per verificare bene il tutto. Scusate per il disallineamento momentaneo. Conto di fare la modifica appena rientro in ufficio questa sera.

    A breve un nuovo post sull'aggiornamento del Table Storage.

  • Zaino partecipanti DevCon

    Oggi ci sono arrivate le prime immagini degli zainetti che forniremo ai partecipanti a DevCon 2009.

    Abbiamo ricevuto anche i template dei blocchi che abbiamo fatto stampare, a breve altre notizie.

    backpack-01

  • Agenda Devcon

    Stiamo valutando l'introduzione di un'altra sessione nell'agenda di DevCon su Silverlight 3. Informazioni più dettagliate a breve.

    Ricordiamo che oggi scade l'early bird per l'iscrizione scontata alla conferenza.

  • Cloud down

    Causa aggiornamenti della piattaforma Windows Azure è possibile che la versione Cloud del sito di DevCon 2009 abbia dei rallentamenti o momenti di “buio”.

    Fate sempre riferimento al sito ufficiale di DevCon 2009 perchè sono previsti altri aggiornamenti della piattaforma nei prossimi giorni.

    Questo il testo ufficiale:

    Today a number of applications running in Windows Azure were unreachable for a period of time.  The earliest occurrence took place at 1:15pm PDT today, our team restored affected applications throughout the day, and all applications were accessible by 9:00pm PDT.  The storage service was unaffected.  We communicated throughout the afternoon on this thread on the Windows Azure forum.

  • Agenda prima giornata

    Paolo e io in questa settimana abbiamo preparato i contenuti della prima giornata della conferenza dedicata all'architettura.

    Dopo aver visto nelle passate edizioni l'architettura BIZ+DAL+Factory quest'anno faremo alcuni passi in avanti per fornire le linee guida fondamentali per inserire LINQ e ADO.NET Entity Framework nell'architettura della soluzione EstatesManagement che ormai da 5 anni ci accompagna nelle varie demo.

    Dopo un recall sullo stato dell'arte iniziamo il ragionamento con la gestione delle eccezioni per proseguire con l'esposizione dei vari layer in WCF e l'organizzazione dei 5 progetti WCF a supporto della nostra architettura. Inquadreremo ADO.NET Data Service nella nostra architettura con una veloce demo per il posizionamento del prodotto, lasciando poi alla sessione specifica l'approfondimento dei temi relativi.

    Chiusa la parte server iniziamo a ragionare sullo Smart Client che sfrutta Service Agent pluggabili per supportare, come la parte server, l'ingresso di nuove tecnologie rivolte ai servizi: oggi esiste WCF, ADO.NET Data Service, la specializzazione di questi ultimi per l'accesso alle risorse "in the cloud" quindi è fondamentale disaccoppiare il service agent dal resto della soluzione.

    Anche per il client vedremo le tecniche più efficienti e manutenibili per rendere la nostra soluzione adattabile agli inevitabili cambiamenti.

    Questa la scaletta della giornata. Se avete domande non esitate a scriverci.

    ·         Data Access Layer with Generics recall
                     
    o   ORM
                      
    o   Entità

    o   Ruolo del DAL: cosa fare e cosa non fare

    o   Prospettive future (“in the cloud”)

    ·         Business Layer recall

    o   Ruolo del BIZ: cosa fare e cosa non fare

    ·         Gestione Eccezioni

    o   Cosa intercettare, dove e perchè

    ·         LINQ to SQL

    o   DAL replacement: come e dove usarlo nella nostra architettura

    §  Aggiornamento dei dati, gestione del DataContext, transazioni, IQueryable

    ·         LINQ to Entities

    o    DAL replacement: come e dove usarlo nella nostra architettura

    §  Aggiornamento dei dati, gestione del ObjectContext, transazioni, IQueryable

    ·         Service Layer

    o   WCF: contratti, cosa e come esporre le entità, mapper (con e senzaLINQ), query

    o   ADO.NET Data Services: inquadramento architetturale

    ·         Consumer side

    o   Service Agent

    §  WCF

    §  ADO.NET Data Services

    o   Mapper

    o   Biz Consumer

    o   Entities Consumer

    Buona conferenza a tutti

    Paolo e Roberto

  • Altra grande novità per DevCon 2009

    Avremo il piacere di ospitare una sessione che arriva direttamente da uno dei membri del team di sviluppo di Visual Studio Team System.

    Si tratta di Aldo Donetti, l'italiano a Redmond. Aldo è Lead Global Experience Program Manager presso la Developer Division in Microsoft Corporation e si occupa di supportare la corretta globalizzazione di Visual Studio Team System e Team Foundation Server, e di favorire scenari distribuiti. Spende la maggior parte del suo tempo a spiegare la differenza tra Globalizzazione e Localizzazione, o quasi – nel tempo rimanente rivede test plans / test cases, analizza bug e le loro cause, rivede e scrive specifiche, eroga formazione sulle problematiche relative all’internazionalizzazione delle applicazioni ai membri del team di sviluppo. Entra nei dettagli implementativi ogni volta che può. Inizia l’esperienza informatica tardi, in università. Si occupa per svariati anni di interfacciamento e raccolta dati da strumentazione di misura. È stato speaker alla preconference TechEd US 2005, ad alcuni eventi privati in MS ed è trainer interno.

    La sua sessione arriva dalla sua esperienza pratica all'interno del team e portare esempi concreti sia di come viene usato il prodotto internamente sia di come un team più piccolo organizzarsi per sfruttare al meglio il prodotto.

    La sessione, dal titolo "Come MS usa VSTS internamente" è verrà inserita come Bonus Session dalle 18.15 alle 19.15 del primo giorno.

    La descrizione completa è la seguente:

    Questa sessione arriva direttamente dal team di sviluppo del prodotto rappresentato da Aldo Donetti. L'obiettivo è spiegare come Microsoft usa VSTS internamente, e più in dettaglio come lo usano nella Developer Division. Vedremo numeri, configurazioni hardware, metodologie e come ogni team possa scegliere quella che preferisce ma poi riporta i dati in una struttura “tipo Agile”. E ancora: come vengono tracciate definizione e implementazione dei requisiti e come vengono mappati pianificazione e progresso del lavoro relazionandoli ai requisiti.

  • Due novità per DevCon 2009

    Sono state appena rilasciate due novità per lo sviluppo su Windows Azure. 

    I due SDK per lavorare con progetti Web Role e Worker sono stati aggiornati alla versione March 2009 CTP.

    Il primo download è il Windows Azure Tools for Visual Studio e SDK: comprende sia il Windows Azure SDK con librerie ed esempi, che i Tools per Visual Studio 2008 che forniscono template per entrambi i role, il Development Fabric e il Development Storage. Nelle precedenti versioni questi due strumenti andavano scaricati separatamente

    Il secondo è download disponibile è il solo Windows Azure SDK (compreso anche nel primo download). Non occorre più installare questo SDK se installate l'altro.

    Le novità per il Windows Azure SDK riguardano la possibilità di sviluppare applicazioni Full Trust, la possibilità di eseguire PInvoke, un nuovo modulo URL Rewrite per eseguire URL Rewriting nelle applicazioni. Sono migliorate anche le performance nell'interazione fra il Devevlopment Storage e SQL Server.

    Per quanto riguarda invece gli strumenti per Visual Studio, sono stati fixati numerosi bug ed è stata aggiunta la possibilità di debuggare native code.

    Durante la sessione Developing in the cloud utilizzeremo la versione più recente di questi strumenti oltre a Workflow in the cloud, Service Bus e SQL Services. Si veda il post di Marco su Sql Services.

  • DevCon 2009 in the cloud

    Abbiamo appena finito di creare e pubblicare "in the cloud" il sito della nostra prossima conferenza.

    http://devleaprob.cloudapp.net

    Più che di sito dovremmo parlare di applicazione; infatti il tutto è composto da

    1) Pagine ASP.NET di presentazione dei contenuti
    2) Servizi WCF per la gestione dell'elenco sessioni e speaker
    3) Client Silverlight che recupera i dati di sessione e speaker tramite i servizi

    L'applicazione è stata scritta seguendo il modello architetturale che usiamo nei nostri progetti reali e proponiamo nei nostri corsi/conferenze sin dal 2004; molti dei nostri clienti sanno di cosa parlo e molti di loro hanno anche visto il progettino reale nei nostri ultimi incontri come esempio di estensione verso Silverlight del modello architetturale.

    Questo il System Diagram di Team System della parte server-side pre-cloud:

    01_SDServerSideSimplified

    Come si nota la parte Web che ospita i servizi WCF e le pagine ASP.NET utilizza un Business Layer (DevLeapDevCon09Biz) per accedere alle informazioni. Il Biz tramite un factory (Dal) ottiene il Dal pluggabile (DalInMemory) per l'accesso alle informazioni. Il Dal restituisce entità di Business (del progetto Entities) in modo che gli altri strati applicativi vengano isolati dall'effettivo store delle informazioni.

    Visto che il progetto, nato a ottobre, non aveva un database ben definito, avevamo optato (e da quì il nome DalInMemory) per creare comunque uno strato Dal pluggabile in modo da poterlo sostiuire non appena saremmo stati pronti con un database ben strutturato. In realtà non avendo il tempo necessario per progettare una buona base dati, adattabile alle nostre varie conferenza, il sito ufficiale di DevCon utilizza appunto il DalInMemory che si preoccupa di restituire l'elenco delle sessioni e degli speaker.

    Questo disegno si traduce nella seguente parte di solution server-side:

    01_SolutionPreCloud

    Nella solution server-side non è presente la parte Silverlight, sviluppata con Luca Regnicoli in una solution separata.

    Dunque...come portiamo il tutto in the cloud ?

    In prima battuta abbiamo semplicemente creato un progetto "Web Role" per Windows Azure che utilizzando Biz e Dal esistenti consentiva, senza riscrivere praticamente niente, di utilizzare l'architettura esistente. Per semplificare la creazione della parte ASP.NET e WCF nel progetto Web Role sono stati linkati i sorgenti (tramite Add Link da Visual Studio 2008) del progetto web precedente. In questo modo, stanotte, dopo neanche 20 minuti di lavoro avevamo il sito DevCon in the cloud.

    Ultimo step della prima fase: cambiare gli url a cui puntava il client Silverlight verso i servizi esposti http://devleaprob.cloudapp.net/SpeakerService.svc e http://devleaprob.cloudapp.net/sessionService.svc al posto dei vecchi url ospitati sul sito ufficiale di DevCon.

    Chiaro che il compito è stato molto facile in quanto, non avendo una struttura dati sottostante, non c'è stato bisogno di adattamenti particolari: da quì lo Step 2.

    Per complicarci la vita :-), l'idea di appoggiare i dati al Cloud Storage offerto da Windows Azure.

    Grazie alla corretta progettazione della soluzione è stato semplicissimo creare uno strato DalCloud che rispettasse le interfacce definite. Quindi è stato creato il progetto DevLeap.DevCon09.Dal.Cloud che tramite la classe SpeakerDal gestisce i dati nel Cloud Storage. Più in basso un estratto di codice.

    Il diagramma SD della parte server si è quindi arricchito del nuovo DAL:

    02_SDServerSide

    Il nuovo componente DalCloud si preoccupa di lavorare con le entità Speaker e Session memorizzate nel Cloud Storage. Il nuovo progetto (DevCon2009_WebRole) rappresenta l'applicazione da portare su Windows Azure ed è stato creato tramite il template Web Role di Visual Studio.

    Visto che il componente pluggabile Dal viene scelto in base al file di configurazione la nostra solution è adesso in grado di:

    1) Essere ospitata in the cloud e usare il vecchio DalInMemory
    2) Essere ospitata in the cloud e usare il Cloud Storage tramite DalCloud
    3) Essere ospitata on-premise sul sito DevCon ufficiale e usare il vecchio DalInMemory
    4) Essere ospitata on-premise sul sito DevCon ufficiale e usare però il DalCloud: visto che l'accesso al Cloud Storage viene effettuato via REST (o Data Service) è possibile accedere ai dati nel cloud da una soluzione locale.

    La riprova di quello che diciamo da sempre: le cose cambiano, le tecnologie vanno avanti e l'unico segreto è progettare bene le applicazioni potendo intervenire solo nei punti necessari; in questo caso abbiamo rivisto solo il Dal per lavorare con il Cloud Storage e non abbiamo dovuto toccare nient'altro. Se, presi dalla fretta di uscire con il sito di DevCon a ottobre, avessimo fatto le cose al volo con Drag&Drop o strumenti automatizzati, non sarebbero bastate le 2 ore che ho impiegato stanotte per eseguire il porting in the cloud. Un domani che decideremo di creare anche un database SQL Server locale oppure decideremo di appoggiarsi a SQL Services in the cloud dovremmo ancora una volta creare solo un nuovo strato di accesso ai dati e cambiare una riga nel config.

    La nostra solution è diventata quindi questa:

    02_SolutionCloud

    Per l'accesso ai dati ho usato le classi helper per adesso fornite insieme ai sample dell'SDK di Windows Azure (progetto StorageClient caricato direttamente dalla directory dell'SDK), in modo da non dover comporre a mano interrogazioni REST verso i servizi. Avendo però una architettura così flessibile sarebbe semplice fornire un Dal che accede ai dati via Rest, così come modificare il ServiceAgent lato client Silverlight per eseguire chiamate REST (o via ADO.NET Data Service) direttamente sul Cloud Storage (che appunto è esposto in entrambe le modalità.

    Ecco il codice che lavora con il Cloud Storage:

    03_DataAccess

    In questo esempio ho usato un ciclo foreach per mappare le entità memorizzate nelle table del Cloud Storage rispetto alle entità applicative. Si può usare tranquillamente una query LINQ visto che dal contesto ho restituito un IQueryable<SpeakerStorageEntity> tramite la proprietà context.Speakers. Ho lasciato questo codice per una facile comprensione anche a chi non usa LINQ.

    Una delle cose più interessanti dello sviluppo su Windows Azure è la possibile di eseguire il publish della soluzione sull'ambiente di staging, verificarne le funzionalità e poi portarlo in produzione. Ecco l'immagine del "manage" delle applicazioni su Windows Azure per spiegare meglio il concetto:

    04_Manage

    Come si nota la prima versione dell'applicazione (quella indicata all'inizio che usava il vecchio DalInMemory) è stata pubblicata sul server di Staging che viene esposto tramite guid.cloudapp.net; dopo averne verificato il funzionamento tramite l'icona di swap è possibile portare l'applicazione in produzione. Al momento un cui ho sviluppato il nuovo DalCloud, dopo averlo testato in locale sul Development Fabric e Development Storage, ho eseguito nuovamente il Deploy sul server di staging; verificate le funzionalità in the cloud sul server di staging, basta premere l'icona di swap per portare la versione stating in production e riportare la versione presente in production sul server di staging: questa funzionalità è molto comoda in quanto se qualcosa non va nell'applicazione in produzione è possibile tornare alla versione funzionante riswappando (si dice in italiano ?) i due ambienti. Nell'immagine si nota come la Iteration 2 del progetto sia adesso in produzione, mente la vecchia versione sia sull'ambiente di staging.

    Per chi è interessato allo sviluppo in the cloud, proponiamo il corso Developing in the Cloud Preview che in giorno consente di apprendere le modalità di sviluppo, gli strumenti necessari/utili, il Cloud Storage,  servizi .NET Services (Workflow, Service Bus, Access Control) esposti dalla piattaforma e Sql Services.

    Affrontiamo questi temi anche alla DevCon 2009 (il cui sito è in the cloud, ma le sessioni verranno tenuto nella realtà :-)) durante una sessione plenaria che ha l'obiettivo di partire da zero e arrivare alla comprensione dell'applicazione che appunto potete già vedere in the cloud.

  • Agenda

    Abbiamo pubblicato l'elenco finale delle sessioni nella nostra versione Silverligth: http://devcon2009.devleap.com/SessionsSilverlight.aspx.

    Intorno al 15 febbraio pubblicheremo l'agenda con gli orari esatti delle sessioni nei vari slot.

    Buona visione

More Posts Next page »
DevLeap 2007-20017
Powered by Community Server (Commercial Edition), by Telligent Systems