<?xml version="1.0" encoding="iso-8859-15"?><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>billoozoo - Il blog di Alessio Leoncini</title><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/novecento/" /><tagline type="text/html">billoozoo - Il blog di Alessio Leoncini</tagline><id>http://blogs.aspitalia.com/novecento/</id><generator url="http://feed.aspitalia.com/" version="ASPItalia.com">feed.ASPItalia.com 'Weyoh' 4.8.703</generator><author><name>billoozoo - Il blog di Alessio Leoncini</name><url>http://blogs.aspitalia.com/novecento/</url></author><modified>2008-07-05T06:52:27+01:00</modified><entry><title>Sbirciare nello XAML dei controlli inclusi in Silverlight 2</title><id>http://blogs.aspitalia.com/novecento/post2300/Sbirciare-XAML-Controlli-Inclusi-Silverlight.aspx</id><created>2008-06-26T20:04:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2300' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Come avrete sicuramente letto, nella beta 2 di Silverlight 2 i controlli sono stati inseriti direttamente negli assembly del plugin, dato che in questa versione &#232; stato introdotto il concetto di Visual State ho trovato molto interessante poter vedere velocemente il codice XAML dei controlli utilizzando questo tool installabile attraverso &lt;a href=&quot;http://delay.members.winisp.net/SilverlightDefaultStyleBrowser/SilverlightDefaultStyleBrowser.application&quot;&gt;ClickOnce&lt;/a&gt; o utilizzabile con un &lt;a href=&quot;http://delay.members.winisp.net/SilverlightDefaultStyleBrowser/SilverlightDefaultStyleBrowser.zip&quot;&gt;eseguibile ed il suo codice sorgente&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Come per la realizzazione di controlli personalizzati anche&#160;il markup XAML di ciascuon controllo incluso&#160;nella beta 2&#160;&#232; inserito in un file di nome generic.xaml, anzich&#232; procedere a mano nei vari assembly istallati col plugin questo tool procede per noi alla cernita delle librerie analizzando le resource alla ricerca appundo di generic.xaml e renderizzandolo in una comoda interfaccia grafica.&lt;/p&gt;&lt;p&gt;Tra l'altro mi ha permesso di capire al volo che non &#232; Blend che sbaglia a visualizzare gli States di un HyperLinkButton, omettendo MouseOver,Pressed e Disabled, ma che mancano proprio nella Template :D&lt;/p&gt;&lt;p&gt;Questo &#232; il &lt;a href=&quot;http://blogs.msdn.com/delay/archive/2008/06/06/continuing-access-to-silverlight-2-s-generic-xaml-resources-silverlightdefaultstylebrowser-updated-for-silverlight-2-beta-2.aspx&quot;&gt;blog dell'autore&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Silverlight/&quot; rel=&quot;tag&quot;&gt;Silverlight&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Silverlight_2.0/&quot; rel=&quot;tag&quot;&gt;Silverlight 2.0&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Presentation_Foundation/&quot; rel=&quot;tag&quot;&gt;Windows Presentation Foundation&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/XAML/&quot; rel=&quot;tag&quot;&gt;XAML&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/novecento/post2300/Sbirciare-XAML-Controlli-Inclusi-Silverlight.aspx"/><issued>2008-06-26T20:04:00+01:00</issued><modified>2008-06-26T20:04:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2300/Sbirciare-XAML-Controlli-Inclusi-Silverlight.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2300.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2300</trackback:ping></entry><entry><title>Deep Zoom Composer per MultiScaleImage di Silverlight 2B2</title><id>http://blogs.aspitalia.com/novecento/post2297/Deep-Zoom-Composer-MultiScaleImage-Silverlight-2B2.aspx</id><created>2008-06-23T20:19:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2297' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Con l'uscita di &lt;a href=&quot;http://www.aspitalia.com/focuson/1044/Rilasciata-Versione-Beta-Silverlight-2.0.aspx&quot;&gt;Silverlight 2 Beta 2 e&#160;di Expression Blend 2.5 June preview&lt;/a&gt; &#232; passato un po' in sordina l'aggiornamento del tool &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=457b17b7-52bf-4bda-87a3-fa8a4673f8bf&amp;amp;DisplayLang=en&quot; target=&quot;_blank&quot;&gt;Deep Zoom Composer&lt;/a&gt; con il quale &#232; possibile organizzare in maniera visuale le immagini del controllo Silverlight MultiScaleImage.&lt;/p&gt;&lt;p&gt;Trovo la tecnologia Deep Zoom, utilizzata nel MultiScaleImage, molto interessante in quanto consente la renderizzazione delle immagini proporzionando la qualit&#224; in funzione della grandezza a video e quindi riducendo le informazioni in download al minimo indispensabile in modo concettualmente simile (credo) a Virtual Earth.&lt;/p&gt;&lt;p&gt;Il controllo MultiScaleImage da grande usabilit&#224; a questa tecnologia attraverso l'uso del mouse e della rotellina e con la possibilit&#224; di estenderlo come si vuole anche pensando di esporre la 'sorgente dati' xml del controllo attraverso webservice in modo da rendere il tutto molto dinamico e flessibile..&lt;/p&gt;&lt;p&gt;Mi sto rendendo conto che lo sto proponendo e facendo vedere gli esempi pi&#249; belli in rete &lt;a title=&quot;Renault Laguna Coupe - Silverlight 2 Deep Zoom&quot; href=&quot;http://www.laguna-coupe.com/&quot; target=&quot;_blank&quot;&gt;Renault Laguna Coup&#232;&lt;/a&gt; e &lt;a title=&quot;Hard Rock Cafe - Memorabilia&quot; href=&quot;http://memorabilia.hardrock.com/&quot; target=&quot;_blank&quot; mce_href=&quot;http://memorabilia.hardrock.com/&quot;&gt;Hard Rock Cafe's Memoribilia&lt;/a&gt;) a tutti i clienti che potenzialmente potrebbero dismettere il loro sito in Flash (;-P) e passare a Silverlight, e sto vedendo che piace a tutti!&lt;/p&gt;&lt;p&gt;Consiglio a tutti di fare qualche test perch&#232; potrebbe essere davvero il punto di partenza, anche integrando solo questo controllo nei siti preesistenti, per introdurre Silverlight nella mente dei clienti come strumento di valore aggiunto nei propri siti web, presto spero di poter linkare anche qualche mio lavoro!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Expression_Blend/&quot; rel=&quot;tag&quot;&gt;Expression Blend&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Microsoft_Expression/&quot; rel=&quot;tag&quot;&gt;Microsoft Expression&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Silverlight/&quot; rel=&quot;tag&quot;&gt;Silverlight&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Silverlight_2.0/&quot; rel=&quot;tag&quot;&gt;Silverlight 2.0&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/XAML/&quot; rel=&quot;tag&quot;&gt;XAML&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/novecento/post2297/Deep-Zoom-Composer-MultiScaleImage-Silverlight-2B2.aspx"/><issued>2008-06-23T20:19:00+01:00</issued><modified>2008-06-23T20:19:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2297/Deep-Zoom-Composer-MultiScaleImage-Silverlight-2B2.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2297.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2297</trackback:ping></entry><entry><title>Attenzione allo XAML modificato con Blend 2.5 per Silverlight 1.0</title><id>http://blogs.aspitalia.com/novecento/post2276/Attenzione-XAML-Modificato-Blend-2.5-Silverlight-1.0.aspx</id><created>2008-04-24T12:58:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2276' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;In questi ultimi giorni abbiamo ricevuto alcune segnalazioni di malfunzionamento del player video utilizzato per la visualizzazione degli screencast e delle registrazioni delle conferenze; l'errore si verificava al termine del download del codice XAML dell'interfaccia grafica del player, al momento della chiamata del metodo createFromXaml lanciando un codice 2207 per tale metodo.&lt;br /&gt;&lt;br /&gt;Come per ogni segnalazione di bug il punto di partenza &#232; sempre cercare di riprodurre nell'ambiente di sviluppo il medesimo comportamento segnalato dagli utenti, in modo da poter intervenire con gli strumenti di debug e adottare le dovute correzioni al codice, ed &#232; qua che sono cominciate le prime perplessit&#224;: in nessuno dei miei ambienti sono mai riuscito ad ottenere l'errore ed anche a Daniele l'errore si &#232; mai verificato.&lt;br /&gt;Il messaggio di errore non mi ha aiutato molto, ma il fatto che si verificasse in corrispondenza di createFromXaml mi ha fatto pensare che [i]in certe circostanze[/i] lo XAML non fosse formalmente corretto e che il player non riuscisse ad effettuarne il parsing.&lt;br /&gt;&lt;br /&gt;Umh, &#232; perch&#232; non a tutti gli utenti, e perch&#232; non con tutti i plugin? Gi&#224;, i plugin!&lt;br /&gt;Paradossalmente solo in quel momento mi sono ricordato che esistono in pratica due major version del plugin di Silverlight, la 1.0 e la 2.0 in beta, e guarda caso su tutti gli ambienti dov'era istallata la 2.0beta il player funzionava correttamente, quindi ho pensato che fosse qualcosa legato alla versione 1.0.&lt;br /&gt;&lt;br /&gt;Ho preso una macchina virtuale XP pulita ed ho istallato il plugin 1.0, sono riuscito a riprodurre l'errore e dopo alcuni test mi sono reso conto che tale versione del plugin non gradisce l'uso di namespace custom che Expression Blend 2.5 inserisce nel markup XAML per registrare alcune informazioni utili a se stesso, si tratta dei namespace:&lt;br /&gt;xmlns:d=&amp;quot;&lt;a href=&quot;http://schemas.microsoft.com/expression/blend/2008&quot;&gt;http://schemas.microsoft.com/expression/blend/2008&lt;/a&gt;&amp;quot;&lt;br /&gt;e di:&lt;br /&gt;xmlns:mc=&amp;quot;&lt;a href=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;&gt;http://schemas.openxmlformats.org/markup-compatibility/2006&lt;/a&gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;Blend 2.5 usa questi namespace per creare propriet&#224; custom sugli oggetti, come ad esempio d:IsHidden=&amp;quot;True&amp;quot; che utilizza per &amp;quot;ricordarsi&amp;quot; quali elementi visualizzare nell'interfaccia visuale del programma.&lt;br /&gt;Rimossi questi tutto &#232; tornato a funzionare correttamente; in sostanza &#232; importante fare attenzione al momento della pubblicazione del codice XAML modificato in Blend 2.5 ricordandosi di ri-attivare la visibilit&#224; degli elementi nell'interfaccia e di rimuovere l'attributo mc:Ignorable=&amp;quot;d&amp;quot; dal Canvas principale.&lt;br /&gt;&lt;br /&gt;Dopo tutto, &#232; sempre una versione di preview!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Expression_Blend/&quot; rel=&quot;tag&quot;&gt;Expression Blend&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Microsoft_Expression/&quot; rel=&quot;tag&quot;&gt;Microsoft Expression&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Silverlight/&quot; rel=&quot;tag&quot;&gt;Silverlight&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Presentation_Foundation/&quot; rel=&quot;tag&quot;&gt;Windows Presentation Foundation&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/XAML/&quot; rel=&quot;tag&quot;&gt;XAML&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/novecento/post2276/Attenzione-XAML-Modificato-Blend-2.5-Silverlight-1.0.aspx"/><issued>2008-04-24T12:58:00+01:00</issued><modified>2008-04-24T12:58:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2276/Attenzione-XAML-Modificato-Blend-2.5-Silverlight-1.0.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2276.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2276</trackback:ping></entry><entry><title>Windows: toolbars custom &amp;quot;inattese&amp;quot;</title><id>http://blogs.aspitalia.com/novecento/post2270/Windows-Toolbars-Custom-Inattese.aspx</id><created>2008-04-18T18:24:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2270' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Per puro caso ho scoperto una funzionalit&#224; che hanno sia Vista che XP e Windows 2003: &lt;strong&gt;&lt;em&gt;trascinando e rilasciando velocemente&lt;/em&gt;&lt;/strong&gt; una cartella nei lati dello schermo si crea una toolbar con il contenuto della cartella; una cosa divertente &#232; che si possono aggiungere altre toolbar con la classica procedura che possiamo fare nella barra del menu avvio, cio&#232; tasto destro-&amp;gt;Toolbars-&amp;gt;New Toolbar, la cosa ancora pi&#249; divertente &#232; che possiamo aggiungere come toolbar anche lo stesso desktop ed in tal caso mi sono trovato tutte le icone la cui visibilit&#224; avevo disattivato come Network, Control Panel, IE ecc.. potrebbe essere un bug? :D&lt;/p&gt;&lt;p&gt;Ma quanto &#232; complesso un SO come Windows!&lt;/p&gt;&lt;p /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Windows_Client/&quot; rel=&quot;tag&quot;&gt;Windows Client&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Vista/&quot; rel=&quot;tag&quot;&gt;Windows Vista&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/novecento/post2270/Windows-Toolbars-Custom-Inattese.aspx"/><issued>2008-04-18T18:24:00+01:00</issued><modified>2008-04-18T18:24:00+01:00</modified><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2270/Windows-Toolbars-Custom-Inattese.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2270.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2270</trackback:ping></entry><entry><title>31/01/2008 : ASPItalia.com ~ WinFXItalia.com ~ LINQItalia.com ~ SilverlightItalia.com</title><id>http://blogs.aspitalia.com/novecento/post2215/31-01-2008-ASPItalia.com-WinFXItalia.com-LINQItalia.com-.aspx</id><created>2008-01-31T10:42:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2215' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Dopo i &lt;a href=&quot;http://www.aspitalia.com/focuson/1018/ASPItalia.com-Network-Aggiungono-LINQItalia.com-SilverlightItalia.com.aspx&quot;&gt;vari annunci&lt;/a&gt; il grande giorno &#232; arrivato, da oggi la community di &lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;ASPItalia.com&lt;/a&gt; e &lt;a href=&quot;http://www.winfxitalia.com/&quot;&gt;WinFXItalia.com&lt;/a&gt; cresce con &lt;a href=&quot;http://www.linqitalia.com/&quot;&gt;LINQItalia.com&lt;/a&gt; e con &lt;a href=&quot;http://www.silverlightitalia.com/&quot;&gt;SilverlightItalia.com&lt;/a&gt; per creare due punti di riferimento per queste nuove tecnologie veramente interessanti: LINQ e Silverlight.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/focuson/1018/ASPItalia.com-Network-Aggiungono-LINQItalia.com-SilverlightItalia.com.aspx&quot;&gt;Contraccambio l'in bocca al lupo a Stefano&lt;/a&gt; che come me si &#232; buttato a capofitto in questa avventura, leggendo i suoi contributi vedo quella grande passione che contraddistingue tutti i membri del gruppo; dal canto mio sono onorato di entrare attivamente a far parte di questo gruppo di persone che oltre ad essere dei grandi professionisti sanno anche trovare il giusto divertimento nel lavoro e nello stare insieme come community, nel senso stretto del termine :) .&lt;/p&gt;&lt;p&gt;In qualit&#224; di Co-Content Manager di &lt;a href=&quot;http://www.silverlightitalia.com/&quot;&gt;SilverlightItalia.com&lt;/a&gt;, insieme al mio amico e compagno di banco &lt;a href=&quot;http://forum.aspitalia.com/forum/user/nostromo.aspx&quot;&gt;Marco aka nostromo,&lt;/a&gt; cercher&#242; di trasmettere l'entusiasmo che Silverlight mi sta infondendo in modo da farne apprezzare le grandi qualit&#224; e se possibile spingere a creare siti web sempre migliori e pi&#249; belli.&lt;/p&gt;&lt;p&gt;Sono sicuro che ci divertiremo! &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;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/LINQ/&quot; rel=&quot;tag&quot;&gt;LINQ&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Silverlight/&quot; rel=&quot;tag&quot;&gt;Silverlight&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/XAML/&quot; rel=&quot;tag&quot;&gt;XAML&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/novecento/post2215/31-01-2008-ASPItalia.com-WinFXItalia.com-LINQItalia.com-.aspx"/><issued>2008-01-31T10:42:00+01:00</issued><modified>2008-01-31T10:42:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2215/31-01-2008-ASPItalia.com-WinFXItalia.com-LINQItalia.com-.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2215.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2215</trackback:ping></entry><entry><title>Silverlight in Microsoft Update</title><id>http://blogs.aspitalia.com/novecento/post2211/Silverlight-Microsoft-Update.aspx</id><created>2008-01-24T10:08:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2211' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Ho appreso ieri una notizia che &#232; passata per lo pi&#249; inosservata ma che invece ritengo degna di osservazione, dal 22/01/08 il plugin di Silverlight viene distribuito attraverso &lt;a href=&quot;http://www.update.microsoft.com/&quot;&gt;Microsoft Update&lt;/a&gt; per i sistemi Windows XP e Windows 2003.&lt;/p&gt;&lt;p&gt;Tutto ci&#242; significa che gli utenti di questi sistemi operativi, che seguono la buona pratica di mantenere costantemente aggiornato il proprio Windows, si troveranno automanticamente il plugin istallato e vedranno automanticamente i contenuti dei&#160;siti web realizzati in Silverlight.&lt;/p&gt;&lt;p&gt;Chi sviluppa appoggiandosi a plugin esterni sa bene quale impatto&#160;abbia l'operazione di istallazione sia nei confronti del cliente, quando dovete spiegargli cosa dovr&#224; fare il visitatore per vedere il suo sito, sia per lo stesso utente meno esperto, che si trova obbligato a seguire una procedura che, se pur minima, &#232; sempre una attivit&#224; &lt;em&gt;intermedia&lt;/em&gt; rispetto a quello che si aspetta di vedere digitando un indirizzo.&lt;/p&gt;&lt;p&gt;La grande diffusione che ha avuto il plugin Adobe Flash nel web &#232; storicamente dovuta anche all'inserimento di default dentro il browser Internet Explorer, il fatto che Silverlight venga &lt;em&gt;autodistribuito&lt;/em&gt; non pu&#242; che essere una buona notizia, che spero in futuro ci faccia risparmiare qualche lunga spiacevole &lt;em&gt;chiaccherata &lt;/em&gt;con il cliente poco informatizzato.&lt;/p&gt;&lt;p&gt;E siccome non ci credevo :D ho voluto testare con mano: &lt;a href=&quot;http://blogs.aspitalia.com/img/novecento/blog/Silverlight-WU.jpg&quot;&gt;&lt;img height=&quot;398&quot; alt=&quot;Silverlight in Windows Update&quot; hspace=&quot;0&quot; src=&quot;http://blogs.aspitalia.com/img/novecento/blog/Silverlight-WU.jpg&quot; width=&quot;463&quot; align=&quot;baseline&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p /&gt;&lt;p&gt;Fonte: &lt;a href=&quot;http://blogs.msdn.com/tims/archive/2008/01/22/making-silverlight-easier-for-systems-administrators-to-install.aspx&quot;&gt;Tim Sneath&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Silverlight/&quot; rel=&quot;tag&quot;&gt;Silverlight&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/XAML/&quot; rel=&quot;tag&quot;&gt;XAML&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/novecento/post2211/Silverlight-Microsoft-Update.aspx"/><issued>2008-01-24T10:08:00+01:00</issued><modified>2008-01-24T10:08:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2211/Silverlight-Microsoft-Update.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2211.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2211</trackback:ping></entry><entry><title>Disponibile la ASP.NET 3.5 Extensions CTP Preview</title><id>http://blogs.aspitalia.com/novecento/post2179/Disponibile-ASP.NET-3.5-Extensions-CTP-Preview.aspx</id><created>2007-12-10T08:18:53+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2179' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Direttamente dal blog di &lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx&quot;&gt;Scott Guthrie&lt;/a&gt; ecco l'annuncio del rilascio della prima CTP del pacchetto di estensioni ad ASP.NET 3.5 .&lt;/p&gt; &lt;p&gt;Sono molto curioso di vedere l'evoluzione di ADO.NET Data Service (Astoria).&lt;/p&gt; &lt;p&gt;Potete scaricarlo &lt;a href=&quot;http://asp.net/downloads/3.5-extensions/&quot;&gt;qui&lt;/a&gt; .&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/ASP.NET/&quot; rel=&quot;tag&quot;&gt;ASP.NET&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;/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/novecento/post2179/Disponibile-ASP.NET-3.5-Extensions-CTP-Preview.aspx"/><issued>2007-12-10T08:18:53+01:00</issued><modified>2007-12-10T08:18:53+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2179/Disponibile-ASP.NET-3.5-Extensions-CTP-Preview.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2179.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2179</trackback:ping></entry><entry><title>La mia implementazione di (quasi) Continuous Integration</title><id>http://blogs.aspitalia.com/novecento/post2178/Implementazione-Quasi-Continuous-Integration.aspx</id><created>2007-12-08T17:15:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2178' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Durante lo sviluppo di una applicazione web un po' pi&#249; estesa del solito ho 
sentito fin da subito l'esigenza di organizzare una procedura di deploy per 
ridurre gli interventi manuali sul codice pronto per il rilascio. &lt;/p&gt;
&lt;p&gt;Il progetto pilota &#232; distribuito a due clienti, entrambi hanno a disposizione 
tre applicazioni : sviluppo, test e produzione ; &#232; presente anche un sito demo 
per la guida e per i commerciali: in totale 7 distribuzioni che differiscono per 
web.config ed altri piccoli particolari interni, grafici e non. &lt;/p&gt;
&lt;p&gt;La prima soluzione &#232; stata adottare Web Deployment Project e creare i 
corrispondenti 7 progetti di deploy, questo tool &#232; molto comodo per compilare 
automaticamente il sito in un unico assembly ed eseguire altre operazioni, 
quindi agendo direttamente sul file del progetto ho inserito i codici per 
effettuare le variazioni di cui avevo bisogno. Semplice ed efficace, una bella 
comodit&#224; rispetto a modificare a mano le stringhe di connessione o inserire a 
mano i file di licenza. &lt;/p&gt;
&lt;p&gt;Dopo le compilazioni dovevo pubblicare a mano i sette progetti : 7 
connessioni FTP, cancellare tutti i file eccetto App_offline.htm , prendere i 
nuovi file e fare upload. Niente di che, sono operazioni che facciamo tutti i 
giorni eccetto il fatto che una operazione manuale e ripetitiva, anche se 
semplice, fa sprecare tempo e pu&#242; portare a qualche mero errore di distrazione 
dovuto proprio alla semplicit&#224; ed alla ripetitivit&#224; dell'operazione stessa. Poi 
non &#232; bello farsi chiamare dal cliente per una banalit&#224;. &lt;/p&gt;
&lt;p&gt;Allora ho pensato che potevo prendere spunto dai principi di Continuous 
Integration del quale avevo letto qualcosa anche dal nostro .db (solo dopo mi 
sono accorto che anche Ricciolo ne aveva parlato :D ) : un suo consiglio mi ha 
indirizzato a &lt;a href=&quot;http://msbuildtasks.tigris.org/&quot;&gt;http://msbuildtasks.tigris.org/&lt;/a&gt; 
, un progetto open source per ampliare le funzionalit&#224; di MSBuild 
(http://msdn2.microsoft.com/it-it/library/wea2sca5(VS.80).aspx) il tool di 
Microsoft che si occupa della preparazione dei progetti e dei sorgenti per la 
compilazione. &lt;/p&gt;
&lt;p&gt;Tra le funzionalit&#224; di Msbuildtasks la pi&#249; adatta al mio scopo &#232; FtpUpload, 
pensando che alla fine della compilazione potevo prendere i file del progetto e 
fare automaticamente upload attraverso il protocollo FTP sui server del cliente 
in modo da automatizzare il processo, tuttavia l'implementazione di FtpUpload fa 
upload solo dei singoli file della root del sito, non considerando cartelle, 
sotto cartelle e relativi file. &lt;/p&gt;
&lt;p&gt;Avendo a disposizione i sorgenti ho pensato che potevo estendere questo 
comportamento per poter fare un upload completo, e cos&#236; ho fatto. &lt;/p&gt;
&lt;p&gt;Il codice di Msbuildtasks &#232; ben scritto, &#232; commentato ed &#232; molto facile da 
capire, io ho aggiunto la parte di cancellazione delle directory e dei file 
remoti, una versione asincrona di Upload ed un log su file di testo delle 
attivit&#224;. &lt;/p&gt;
&lt;p&gt;Ho fatto una (semplice) versione asincrona perch&#233; pubblicare 7 progetti da 20 
MB ciascuno mi bloccava l'uso dell'istanza di visual studio oggetto di building, 
ok ne potevo aprire un'altra ma mi sembrava pi&#249; carino cos&#236; :D . &lt;/p&gt;
&lt;p&gt;Non mi addentro nella spiegazione del codice perch&#233; &#232; molto semplice, l'unica 
cosa che mi ha impegnato di pi&#249; &#232; stato riuscire a capire la presenza di un file 
o una cartella remota per attuare la giusta operazione. Alla fine ho usato le 
regular expression con questo pattern: &lt;/p&gt;
&lt;p&gt;
@&amp;quot;^(?&amp;lt;month&amp;gt;\d{1,2})-(?&amp;lt;day&amp;gt;\d{1,2})-(?&amp;lt;year&amp;gt;\d{1,2})\s+(?&amp;lt;hour&amp;gt;\d{1,2}):(?&amp;lt;minutes&amp;gt;\d{1,2})(?&amp;lt;ampm&amp;gt;am|pm)\s+((?&amp;lt;dir&amp;gt;[&amp;lt;]dir[&amp;gt;])|(?&amp;lt;size&amp;gt;\d+))\s+(?&amp;lt;name&amp;gt;.*)$&amp;quot; &lt;/p&gt;
&lt;p&gt;In questo modo, in presenza di una directory eseguo un FtpWebRequest.Method 
di tipo WebRequestMethods.Ftp.RemoveDirectory , altrimenti FtpWebRequest.Method 
di tipo WebRequestMethods.Ftp.DeleteFile. &lt;/p&gt;
&lt;p&gt;Non ho seguito tutti i dettami del progetto originale, il codice l'ho scritto 
velocemente per risolvere in breve il mio scenario, lo voglio condividere perch&#233; 
magari a qualcuno pu&#242; far comodo cos&#236; com'&#232; oppure pu&#242; dare spunto a qualcuno 
(meno pigro di me) per scrivere una completa estensione a Msbuildtasks. &lt;/p&gt;
&lt;p&gt;Per usare Msbuildtasks scaricate ed istallate il file
&lt;a href=&quot;http://msbuildtasks.tigris.org/files/documents/3383/28296/MSBuild.Community.Tasks.msi&quot;&gt;
http://msbuildtasks.tigris.org/files/documents/3383/28296/MSBuild.Community.Tasks.msi&lt;/a&gt; 
, scaricate la mia soluzione a questo indirizzo
&lt;a href=&quot;http://blogs.aspitalia.com/img/novecento/MSBuildTasks_CompleteUpload.zip&quot;&gt;
http://blogs.aspitalia.com/img/novecento/MSBuildTasks_CompleteUpload.zip&lt;/a&gt; , 
compilate il progetto, e copiate la nuova MSBuild.Community.Tasks.dll 
sovrascrivendo l'originale che trovate nella cartella di istallazione di 
Msbuildtasks (C:\Program&amp;nbsp;Files\MSBuild\MSBuildCommunityTasks\ ). &lt;/p&gt;
&lt;p&gt;Nel file di progetto del vostro Web Deployment Project aggiungete il 
riferimento a Msbuildtasks: &lt;/p&gt;
&lt;p&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets&amp;quot;/&amp;gt;
&lt;/p&gt;
&lt;p&gt;E all'interno del Target Name=&amp;quot;AfterBuild? inserite: &lt;/p&gt;
&lt;p&gt;&amp;lt;FtpUpload Condition=&amp;quot; '$(Configuration)|$(Platform)' == 'Release|AnyCPU' &amp;quot;&lt;br&gt;
LocalFile=&amp;quot;&lt;a href=&quot;file:///C:/Users/Alessio/Documents/WebSite/WebSite_deploy/Release/&quot;&gt;C:\Users\Alessio\Documents\WebSite\WebSite_deploy\Release\&lt;/a&gt;&amp;quot;&lt;br&gt;
RemoteUri=&amp;quot;&lt;a href=&quot;ftp://192.168.1.1/website1/&quot;&gt;ftp://192.168.1.1/website1/&lt;/a&gt;&amp;quot;&lt;br&gt;
Username=&amp;quot;UserFTP&amp;quot;&lt;br&gt;
Password=&amp;quot;PasswordUserFTP&amp;quot;&lt;br&gt;
ContinueOnError=&amp;quot;false&amp;quot;&amp;gt;&lt;br&gt;
&amp;lt;/FtpUpload&amp;gt;&lt;/p&gt;
&lt;p&gt;Con questo codice il Task FtpUpload viene eseguito in fase di compilazione in 
versione Release, recupera tutti i file e cartelle all'interno della directory 
specificata in LocalFile , pubblica con FTP all'indirizzo specificato 
nell'attributo RemoteUri autenticandosi al server FTP con le credenziali 
specificate negli attributi Username e Password. Di default usa il metodo 
PassiveMode, ma &#232; possibile modificare il comportamento con lo specifico 
attributo. &lt;/p&gt;
&lt;p&gt;Riguardo al file da usare come log, dovete predisporre un file esito.txt in 
c:\ .. l'ho detto che ho scritto la soluzione velocemente! :D &lt;/p&gt;
&lt;p&gt;Un saluto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Deployment/&quot; rel=&quot;tag&quot;&gt;Deployment&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;/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/novecento/post2178/Implementazione-Quasi-Continuous-Integration.aspx"/><issued>2007-12-08T17:15:00+01:00</issued><modified>2007-12-08T17:15:00+01:00</modified><slash:comments>4</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2178/Implementazione-Quasi-Continuous-Integration.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2178.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2178</trackback:ping></entry><entry><title>Sull'attivazione in IE di oggetti Activex</title><id>http://blogs.aspitalia.com/novecento/post2106/Sulattivazione-IE-Oggetti-Activex.aspx</id><created>2007-08-14T09:18:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2106' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Da molto tempo in IE6+ &#232; necessario fare click sugli oggetti activex per attivare i controlli.&lt;br /&gt;Realizzando siti interamente in flash, non ho mai dato peso negativo all'evento di attivazione, mi &#232; sembrata una 
delle evoluzioni del browser , in fondo solitamente si tratta di fare un solo click al primo caricamento del sito.&lt;br /&gt;&lt;br /&gt;Tuttavia, al momento di inserire oggetti flash come men&#249; o elementi animati parte integrante del layout di siti asp.net , l'azione del click mi &#232; diventata un'attivit&#224; che spezza la consultazione del sito sfalzando anche i tempi studiati dal designer.&lt;br /&gt;Ovviamente le risposte ai clienti sono sempre state apaticamente semplici: &amp;quot;il click 
&#232; un comportamento richiesto da IE e non &#232; eliminabile&amp;quot; ma mi sbagliavo , per puro caso mi sono accorto che un sito in flash (e non era un sito porno.. 
:-) ) non mi aveva chiesto l'attivazione: incredibile, com'&#232; possibile? La risposta &#232; semplice, ovviamente altre persone diverse da me hanno dato pi&#249; peso negativo al click ed hanno cercato e trovato una soluzione 
, anche la stessa Adobe si &#232; prodigata in tal senso inserendo una propria soluzione direttamente nel tool di authoring ( versione 8+) , non ho indagato ulteriormente e quindi lascio a voi 
altre considerazioni.&lt;/p&gt;
&lt;p&gt;Quindi, dato che ho visto che &#232; da tempo di pubblico dominio e che quindi mantenere l'attivazione non serve pi&#249; a nessuno, scrivo anche io 
una delle &amp;quot;scappatoie&amp;quot; : alla fine della pagina inserite questo javascript:&lt;br /&gt;&lt;br /&gt;objects = document.getElementsByTagName(&amp;quot;object&amp;quot;);&lt;br /&gt;for (var i = 0; i &amp;lt; objects.length; i++)&lt;br /&gt;{&lt;br /&gt;    objects[i].outerHTML = objects[i].outerHTML;&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;Buon ferragosto!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Javascript/&quot; rel=&quot;tag&quot;&gt;Javascript&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Security/&quot; rel=&quot;tag&quot;&gt;Security&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/novecento/post2106/Sulattivazione-IE-Oggetti-Activex.aspx"/><issued>2007-08-14T09:18:00+01:00</issued><modified>2007-08-14T09:18:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2106/Sulattivazione-IE-Oggetti-Activex.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2106.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2106</trackback:ping></entry><entry><title>Astoria e Silverlight</title><id>http://blogs.aspitalia.com/novecento/post2092/Astoria-Silverlight.aspx</id><created>2007-07-13T10:08:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2092' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Per coloro che come me sono &amp;quot;in ascolto&amp;quot; sui fronti Astoria e Silverlight , segnalo questa notizia che cade proprio all'uopo : il team di ado.net ha rilasciato una &amp;quot;Experimental release&amp;quot; di una libreria per consentire l'accesso a Web Data Service &amp;quot;Astoria&amp;quot; anche attraverso una applicazione web&#160;Silverlight , ovviamente 1.1 .&lt;/p&gt;&lt;p&gt;Potete approfondire &lt;a title=&quot;qui&quot; href=&quot;http://blogs.msdn.com/pablo/archive/2007/07/11/astoria-client-for-silverlight-alpha-1-1.aspx&quot;&gt;qui&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/.NET_Framework_3.0/&quot; rel=&quot;tag&quot;&gt;.NET Framework 3.0&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/Silverlight/&quot; rel=&quot;tag&quot;&gt;Silverlight&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Communication_Foundation/&quot; rel=&quot;tag&quot;&gt;Windows Communication Foundation&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/XAML/&quot; rel=&quot;tag&quot;&gt;XAML&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/novecento/post2092/Astoria-Silverlight.aspx"/><issued>2007-07-13T10:08:00+01:00</issued><modified>2007-07-13T10:08:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2092/Astoria-Silverlight.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2092.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2092</trackback:ping></entry><entry><title>Petizione contro Open XML come standard</title><id>http://blogs.aspitalia.com/novecento/post2087/Petizione-Open-XML-Standard.aspx</id><created>2007-06-26T19:09:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2087' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;E' &lt;em&gt;interessante&lt;/em&gt; notare come ogni attivit&#224; legata a Microsoft sia oggetto di controversia: (&lt;a href=&quot;http://punto-informatico.it/p.aspx?i=2026262&quot; target=&quot;_blank&quot;&gt;punto informatico&lt;/a&gt;) .&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;a href=&quot;http://tags.aspitalia.com/Office/&quot; rel=&quot;tag&quot;&gt;Office&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/novecento/post2087/Petizione-Open-XML-Standard.aspx"/><issued>2007-06-26T19:09:00+01:00</issued><modified>2007-06-26T19:09:00+01:00</modified><slash:comments>6</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2087/Petizione-Open-XML-Standard.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2087.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2087</trackback:ping></entry><entry><title>Microsoft Codename &amp;quot;Astoria&amp;quot; Online Service</title><id>http://blogs.aspitalia.com/novecento/post2081/Microsoft-Codename-Astoria-Online-Service.aspx</id><created>2007-06-16T12:01:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2081' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Negli ultimi anni Microsoft ha deciso di tenere informati gli sviluppatori di tutto il mondo sui progetti in corso di rilascio, anche nelle primissime fasi di sviluppo.&lt;/p&gt;&lt;p&gt;Circa a met&#224; Maggio &#232; stata resa pubblica la CTP (Community Technical Preview) del progetto denominato &amp;quot;&lt;a href=&quot;http://astoria.mslivelabs.com/Default.aspx&quot; target=&quot;_blank&quot;&gt;Astoria&lt;/a&gt;&amp;quot;, una serie di librerie (un toolkit) sviluppate per creare uno strato di accesso ai dati attraverso servizi (Data Service Layer).&lt;/p&gt;&lt;p&gt;L'obiettivo di un Data Service Layer &#232; quello di disaccoppiare lo strato di business da quello dei dati, creando una serie di interfacce che consentano la gestione dei dati attraverso richieste &amp;quot;remote&amp;quot;; in riferimento al mio &lt;a href=&quot;http://blogs.aspitalia.com/novecento/post2077/Considerazioni-Aggiornamenti-WCF-Introdotti-.NET-Framework-3.5.aspx&quot; target=&quot;_blank&quot;&gt;post&lt;/a&gt; precedente, Astoria distribuisce una serie di servizi HTTP secondo i principi REST basandosi su WCF.&lt;/p&gt;&lt;p&gt;Ho letto i documenti e guardato un po' gli esempi della CTP e nonostante il progetto sia nella fase iniziale di sviluppo ritengo interessanti alcuni aspetti :&lt;/p&gt;&lt;p&gt;- E' fatta grande attenzione alla manipolazione degli URIs : poich&#233; la gestione dei dati viene fatta con richieste HTTP &#232; naturale che tutti i parametri che siamo abituati a passare al DAL devono essere descritti direttamente nell'URL. La &amp;quot;nomenclatura&amp;quot; (parentesi quadre, $, ecc..) adottata in questo progetto &#232; interessante e pu&#242; essere un punto di studio per tutti coloro che devono realizzare qualcosa di simile, in tempi inferiori rispetto al rilascio di Astoria.&lt;/p&gt;&lt;p&gt;- Internamente agli esempi &#232; stato usato l'approccio di creare un Entity Data Model per creare una relazione tra il database e gli oggetti. Interessante per chi come me non ha mai considerato questo approccio. :D&lt;/p&gt;&lt;p&gt;- Come in WCF, in Astoria ci si concentra principalmente sul servizio avendo la flessibilit&#224; di scegliere il formato di scambio dati; attualmente &#232; disponibile solo XML ma &#232; un punto chiave del progetto avere JSON per una diretta apertura con AJAX .&lt;/p&gt;&lt;p&gt;E qui devo fare un appunto al mio precedente post, non so se sono stato un po' frettoloso nel scrivere o se si comprende che l'accoppiamento tra REST e POX non &#232; ne intrinseco ne inscindibile, si pu&#242; sviluppare webservice secondo i principi REST anche senza scambiarsi dati strutturati semplicemente in XML e viceversa scambiarsi dati POX non significa sviluppare servizi REST; ne &#232; esempio proprio Astoria, nel quale sar&#224; possibile avere pi&#249; sistemi di formattazione dati.&lt;/p&gt;&lt;p&gt;- Secondo me &#232; interessante il principio stesso del progetto. In fondo tecnicamente non introduce novit&#224; ma &#232; come se concretizzasse tutta la letteratura (e le discussioni) intorno a SOA in piccolo progetto REALE e realmente utilizzabile subito, e di cui da tempo si ha bisogno.&lt;/p&gt;&lt;p&gt;Vi faccio il mio esempio.&lt;br /&gt;Chi ha avuto la fortuna di avere un cliente che lo pagasse per realizzare un sito in Flash con contenuti aggiornabili avr&#224; dovuto fare delle scelte scendendo a compromessi con le ridotte capacit&#224; di dialogo tra l'oggetto Flash nella pagina ed il server. Essendo un grande fan di XML la mia scelta &#232; caduta subito su questo formato, di cui peraltro Flash ha dato un buon supporto fin dalla versione 6 . &lt;br /&gt;I processi erano interrogare una &amp;quot;risorsa&amp;quot; HTTP (http://www.IP/getnews.asp) e far restituire una serie di dati strutturati in XML in modo da poter cliclare in Flash i nodi, accedere agli attributi, eccetera, ed al click dell'utente sulla news interrogare http://www.IP/getnews.asp?ID=1 ;se lo guardo adesso vedo che inconsapevolmente ho realizzato una specie di Data Service Layer usando Plain Old Xml secondo alcuni dei principi di REST (GET e POST).&lt;/p&gt;&lt;p&gt;Astoria si inserisce proprio nello scenario in cui il client non ha un dialogo nativo con il server a causa anche del linguaggio come Flash, AJAX e Silverlight, configurando un servizio WCF per usare dati non codificati ed inserendo la gestione degli URI.&lt;/p&gt;&lt;p&gt;Pian piano sto dando giustificazione a molte cose che ho letto su SOA, e ne sono felice, ma mi rimangono ancora alcuni dubbi sull'approccio migliore alla sicurezza:&#160; in ambiente REST, come &#232; possibile trasportare l'identit&#224; dell'utente che accede alla risorsa (non l'applicazione ma l'utente) senza esporsi troppo a problemi di sicurezza ma lasciando sempre un alto grado di interoperabilit&#224;? &lt;/p&gt;&lt;p&gt;Ci sto pensando... Buona domenica :D&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.0/&quot; rel=&quot;tag&quot;&gt;.NET Framework 3.0&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/AJAX/&quot; rel=&quot;tag&quot;&gt;AJAX&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Communication_Foundation/&quot; rel=&quot;tag&quot;&gt;Windows Communication Foundation&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/novecento/post2081/Microsoft-Codename-Astoria-Online-Service.aspx"/><issued>2007-06-16T12:01:00+01:00</issued><modified>2007-06-16T12:01:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2081/Microsoft-Codename-Astoria-Online-Service.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2081.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2081</trackback:ping></entry><entry><title>Considerazioni sugli aggiornamenti di WCF introdotti nel .NET Framework 3.5</title><id>http://blogs.aspitalia.com/novecento/post2077/Considerazioni-Aggiornamenti-WCF-Introdotti-.NET-Framework-3.5.aspx</id><created>2007-06-09T17:17:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2077' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Con l'occasione dello speciale sul .NET Framework 3.5 vorrei scrivere alcune considerazioni che ho in testa da diverso tempo, nella fattispecie sugli aggiornamenti a WCF introdotti in questa versione. &lt;/p&gt;&lt;p&gt;Pi&#249; o meno all'inizio di quest'anno, sui blog di illustri tecnici del settore SOA (Don Box, Steve Maine, Nicholas Allen ed altri), si &#232; acceso uno scambio di messaggi su REST (REpresentational State Transfer) e parallelamente su POX (Plain Old Xml) e JSON (JavaScript Object Notation). &lt;/p&gt;&lt;p&gt;Per completezza del discorso, mi permetto di descrivere REST come un protocollo di scambio dati di alto livello, basato sulla distribuzione delle risorse di una applicazione attraverso richieste http su URI univoco, ad esempio: http://IP/Application/Customer/ =&amp;gt; per una lista di clienti e http://IP/Application/Customer/1 =&amp;gt; per i dettagli dell'oggetto Customer con ID = 1. &lt;br /&gt;Studiato essenzialmente per un ambito http, REST si appoggia agevolmente ad una rappresentazione dei dati in semplice XML, da esso il legame con POX. &lt;/p&gt;&lt;p&gt;Devo dire che le discussioni su REST mi hanno lasciato letteralmente basito. Per &lt;i&gt;anni&lt;/i&gt; non si &#232; fatto che ascoltare di SOAP prima ancora dei webservice di asp.net , e sembrava che il vangelo delle applicazioni distribuite fosse gi&#224; stato scritto in SOAP.&lt;br /&gt;Inoltre Microsoft,e secondo me con coerenza, ha rilasciato un &lt;i&gt;Foundation&lt;/i&gt; apposito (WCF) che riassume tutte le proprie tecnologie di integrazione, creando un flessibile modello ad oggetti su cui letteralmente &amp;quot;gettare le &lt;i&gt;Fondamenta&lt;/i&gt;&amp;quot; delle applizioni SOA, appoggiandosi su SOAP ed implementando tutti gli standard WS-* che negli anni erano stati introdotti. &lt;br /&gt;Ho intuito subito che WCF fosse un grande &amp;quot;prodotto&amp;quot;, occupandosi degli aspetti di comunicazione di medio livello ed essendo sviluppato con una incredibile flessibilit&#224;: veramente un punto di partenza per poter pensare di introdurre nei progetti reali, soprattutto in quelli a medio costo, un approccio service-oriented o comunque per dare una apertura alla &lt;i&gt;interoperabilit&#224;&lt;/i&gt; verso altre applicazioni, per aggiungere qualit&#224; ai progetti.&lt;br /&gt;Parallelamente ho visto anche che il modo JAVA si sta muovendo con buon interesse verso WCF aumentando il mio entusiasmo, perch&#232; adottare, studiare ma soprattutto proporre ai clienti una soluzione che si basa su un Framework che ha buone prospettive di crescita e diffusione qualifica le mie scelte e la mia credibilit&#224;.&lt;/p&gt;&lt;p&gt;Ed invece ho letto con stupore che i tecnici con esperienza hanno bisogno &lt;i&gt;ancora&lt;/i&gt; di REST, di XML &lt;i&gt;Plain&lt;/i&gt;, e che tra l'altro il nuovo paradigma delle webapplication, AJAX, basandosi su javascript sfrutta addirittura la rappresentazione dei dati JSON.&lt;br /&gt;Mi &#232; sembrato veramente un passo indietro e mi &#232; venuto qualche dubbio, allora Microsoft &#232; stata troppo precoce nell'introdurre il modello di WCF, o per lo meno, allora &#232; troppo presto adottarlo? &lt;/p&gt;&lt;p&gt;Approfondendo lo studio di WCF ho compreso che la flessibiltit&#224; del framework consente un ambito applicativo senza limiti, dalla &amp;quot;reliability&amp;quot; al semplice scambio di stringhe, consolidando quindi la mia intuizione sulla qualit&#224; del Foundation e verso una sua indubbia adozione.&lt;/p&gt;&lt;p&gt;L'introduzione di alcune caratteristiche che vedo nelle CTP del Framework 3.5 mi confortano sulla qualit&#224; del comportamento di Microsoft, che risponde alle esigenze del mercato degli sviluppatori, ma non diminuiscono i mei dubbi.&lt;br /&gt;Mi riferisco a &amp;quot;WebHttpBinding&amp;quot; , un nuovo binding con caratteristiche studiate appositamente per l'impiego negli ambiti che ho citato precedentemente, REST, AJAX/JSON con il relativo nuovo &amp;quot;DataContractJsonSerializer&amp;quot;; per inciso WCF consente gi&#224; un impiego REST sotto configurazione di un customBindig e scrivendo un paio di classi per manipolare le richieste e le URI , ma &#232; comunque interessante che Microsoft sia intervenuta su questa esigenza rilasciando un aggiornamento specifico per questo tipo di scenari oggetto di tante discussioni.&lt;/p&gt;&lt;p&gt;Ed infatti la mia riflessione si amplifica anche in virt&#249; di questo comportamento di Microsoft: se in WCF hanno pianificato la strada dell'integrazione tra applicazioni, e potrei dire per semplificare, attraverso classi proxy, per quale motivo stanno dando cos&#236; risalto ad un &amp;quot;modello&amp;quot; di livello inferiore, in cui si deve ancora controllare le URI (spezzettarle,validarle), intercettare i messaggi, validare i dati scambiati, ecc.?&lt;/p&gt;&lt;p&gt;La mia piccola risposta imputa proprio alle ragioni di &amp;quot;mercato&amp;quot;, forse per evitare quel giudizio e quell'accusa di forzare gli standard di fatto che molto spesso viene fatta a Microsoft; scambiandosi JSON , in fondo, tutti sono pi&#249; tranquilli...&lt;/p&gt;&lt;p&gt;Buon lavoro a tutti. &lt;/p&gt;&lt;p&gt;p.s.&#160;curiosa la classe&#160;SyndicationFeed , un figlio di REST che consente la pubblicazione di dati automaticamente&#160;nel formato&#160;rss e atom.&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;/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/novecento/post2077/Considerazioni-Aggiornamenti-WCF-Introdotti-.NET-Framework-3.5.aspx"/><issued>2007-06-09T17:17:00+01:00</issued><modified>2007-06-09T17:17:00+01:00</modified><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post2077/Considerazioni-Aggiornamenti-WCF-Introdotti-.NET-Framework-3.5.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS2077.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2077</trackback:ping></entry><entry><title>Due riflessioni</title><id>http://blogs.aspitalia.com/novecento/post1980/Riflessioni.aspx</id><created>2007-03-03T09:48:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1980' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Web 2.0 : &lt;a href=&quot;http://www.youtube.com/watch?v=6gmP4nk0EOE&quot;&gt;http://www.youtube.com/watch?v=6gmP4nk0EOE&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Open source (e PA philosophy) : &lt;a href=&quot;http://www.alfonsofuggetta.org/?p=1219&quot;&gt;http://www.alfonsofuggetta.org/?p=1219&lt;/a&gt;&lt;/p&gt;&lt;p&gt;buon weekend&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/novecento/post1980/Riflessioni.aspx"/><issued>2007-03-03T09:48:00+01:00</issued><modified>2007-03-03T09:48:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post1980/Riflessioni.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS1980.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1980</trackback:ping></entry><entry><title>dinnernow.net</title><id>http://blogs.aspitalia.com/novecento/post1955/Dinnernow.net.aspx</id><created>2007-02-05T17:55:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1955' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;E' sempre una buona pratica andare a leggere il codice prodotto da altri, a tal&#160;proposito segnalo un ottimo progetto che usa molte delle nuove tecnologie che Microsoft ha introdotto un questo periodo (WF, WCF, WPF, Windows Cardspace, Windows Vista&#160;Sidebar, Ajax ..&#160;) : &lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.dinnernow.net/&quot;&gt;&lt;font color=&quot;#355ea0&quot;&gt;http://www.dinnernow.net&lt;/font&gt;&lt;/a&gt;&#160;(&lt;a href=&quot;http://www.codeplex.com/dinnernow&quot;&gt;&lt;font color=&quot;#355ea0&quot;&gt;http://www.codeplex.com/dinnernow&lt;/font&gt;&lt;/a&gt;) &lt;/p&gt;&lt;p&gt;Buona sbirciata!&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.0/&quot; rel=&quot;tag&quot;&gt;.NET Framework 3.0&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Client/&quot; rel=&quot;tag&quot;&gt;Windows Client&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Communication_Foundation/&quot; rel=&quot;tag&quot;&gt;Windows Communication Foundation&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/Windows_Vista/&quot; rel=&quot;tag&quot;&gt;Windows Vista&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/novecento/post1955/Dinnernow.net.aspx"/><issued>2007-02-05T17:55:00+01:00</issued><modified>2007-02-05T17:55:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/novecento/post1955/Dinnernow.net.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/novecento/CommentRSS1955.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1955</trackback:ping></entry></feed>