<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Giuseppe Guerrasio : Visual Studio</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Visual+Studio/default.aspx</link><description>Tags: Visual Studio</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Windows Azure Hello World !!</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2009/09/17/windows-azure-hello-world.aspx</link><pubDate>Thu, 17 Sep 2009 14:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9896352</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/9896352.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=9896352</wfw:commentRss><description>&lt;P&gt;Il cloud computing è una delle nuove e più interessanti frontiere del mondo dell’IT che si sta oramai affermando come una realtà e che promette di trasformare in modo significativo, la disponibilità delle classiche risorse che oggi cerchiamo in un hardware e in un sistema operativo installati in un data center locale. Con lo sviluppo per Internet di piattaforme di questo tipo, si aprono nuovi scenari che vanno oltre a quello che oggi è possibile fare in termini di servizi e dati sulla rete, aprendo la strada a veri e propri sistemi operativi self service dove si possono ottenere su richiesta ed in modo rapido, capacità di elaborazione, storage, servizi di database, etc . Diventa molto più semplice sviluppare nuove idee di servizi e soluzioni ed ottenere ad un minor costo le risorse per poterle sviluppare e pubblicare su Internet. Si avvia, inoltre, la pianificazione di una trasformazione di molti servizi aziendali che, nel tempo, si sposteranno nei nuovi grandi datacenter che, sviluppandosi in modo rapido, stanno materializzando l’infrastruttura per rendere il cloud computing una realtà.&lt;/P&gt;
&lt;P&gt;Con il rilascio della CTP di Agosto, la soluzione per il Cloud di Microsoft ovvero &lt;A href="http://www.azure.com/" mce_href="http://www.azure.com/"&gt;Windows Azure Platform &lt;/A&gt;si avvicina al rilascio ufficiale di una prima serie di servizi di Cloud Computing. La nuova release ci ha messo a disposizione una nuova versione degli strumenti di sviluppo e gli SDK per costruire soluzioni che possano poi essere distribuite e gestite sulla piattaforma, e la possibilità di accedere a degli spazi di test attivabili su richiesta e disponibili immediatamente per poter poi provare ad effettuare un deployment reale di dati ed applicazioni sulla piattaforma per il Cloud. Tra le novità più interessanti la trasformazione dei servizi di database che cambiano anche nome in Slq Azure e che ci mettono a disposizione una vera e propria infrastruttura Sql Sever pensata per il Cloud e utilizzabile su richiesta .&lt;/P&gt;
&lt;P&gt;Windows Azure Platform è una vera e propria piattaforma di sviluppo pensata per il Cloud Computing, ospitata in data center di Microsoft distribuiti in diverse zone del mondo, che fornisce un sistema operativo per il cloud (Windows Azure ) e un set di servizi per gli sviluppatori che possono essere utilizzati in combinazione o singolarmente, per sviluppare e eseguire nuove applicazioni che vengono poi gestite sulla nuova piattaforma e che possono integrarsi semplicemente anche con applicazioni locali già esistenti.&lt;/P&gt;
&lt;P&gt;Questa piattaforma oltre ad offrire i suoi servizi di base per un utilizzo diretto è anche l’infrastruttura sulla quale Microsoft sta sviluppando anche le sue soluzioni SaaS.&lt;/P&gt;
&lt;P&gt;Di seguito un’immagine della piattaforma complessiva &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image001_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image001_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image001 border=0 alt=clip_image001 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image001_thumb.jpg" width=541 height=252 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image001_thumb.jpg"&gt;&lt;/A&gt;&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Si va dai servizi di base offerti dal sistema operativo per il cloud Windows Azure, ai servizi di Internet Service Bus dei .NET Services, ai servizi di Database di Sql Azure.&lt;/P&gt;
&lt;P&gt;Con il sistema operativo per il cloud della Windows Azure Platform, ovvero Windows Azure vengono messe a disposizione, su richiesta, quelli che sono i servizi fondamentali che siamo abituati a trovare in un sistema operativo installato in un computer locale. Essenzialmente abbiamo:&lt;/P&gt;
&lt;P&gt;- Capacità di elaborazione&lt;/P&gt;
&lt;P&gt;- Storage (Tabelle, Blob, Code asincrone)&lt;/P&gt;
&lt;P&gt;- Deployment, Monitoring e Maintenance&lt;/P&gt;
&lt;P&gt;- Servizi automatici di Management, Load Balancers, DNS&lt;/P&gt;
&lt;P&gt;- Ambiente di programmazione&lt;/P&gt;
&lt;P&gt;I diversi servizi possono essere utilizzati in modo singolo o in combinazione tra loro per realizzare soluzione più complesse. Ad esempio lo storage può essere usato per depositare informazioni, dati o file, sia per applicazioni che poi si eseguono in Windows Azure sia per applicazioni che invece vengono eseguite localmente in un nostro datacenter e che usano lo storage del sistema operativo per il Cloud che è ospitato nei data center di Microsoft, sfruttando le API HTTP REST che la piattaforma mette a disposizione per questi servizi.&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;La piattaforma fornisce le funzionalità e le risorse per le nostre applicazioni in base alle configurazioni impostate , garantendo una scalabilità praticamente infinita e un rapido adeguamento delle risorse fornite in base alle necessità richieste. I servizi vengono direttamente messi a disposizione delle applicazioni e tutta la classica attività di manutenzione, patching, monitoring del sistema di base, load balancing, DNS, etc , viene gestita automaticamente, liberandoci dai costi di gestione e manutenzione del software di base, permettendoci così, di concentrarci esclusivamente sul livello applicativo.&lt;/P&gt;
&lt;P&gt;Tutta la parte di amministrazione delle configurazioni e deployment di Windows Azure si può gestire attraverso l’interfaccia Web di amministrazione che si trova a &lt;A href="https://windows.azure.com/" mce_href="https://windows.azure.com/"&gt;https://windows.azure.com/&lt;/A&gt; dove si può accedere con il proprio Live Id &lt;STRONG&gt;accertandosi di aver prima impostato sulla nazionalità italiana i parametri di nazionalità del profilo del vostro LiveID su Windows Live &lt;/STRONG&gt;e creare un developer account. &lt;/P&gt;
&lt;P&gt;Potete verificare che sia impostata la nazionalità italiana sul vostro LiveID qui &lt;A href="https://account.live.com/"&gt;https://account.live.com/&lt;/A&gt; :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_91C6/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_91C6/image_thumb_1.png" width=440 height=308&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Per eventualmente cambiarlo si può usare il menù Profile details ed entrare a modificare i dati del profilo della nazionalità.&lt;/P&gt;
&lt;P&gt;Tramite&amp;nbsp; l’ interfaccia del portale di Windows Azure si possono anche gestire le applicazioni che ed i servizi della piattaforma. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image003_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image003_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image003 border=0 alt=clip_image003 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image003_thumb.jpg" width=659 height=393 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image003_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Per poter successivamente creare una applicazione di test , oltre a registrarsi sul portale, occorre richiedere un token gratuito di test da utilizzare poi per l’attivazione, come spiegherò successivamente nel post quando procederemo alla pubblicazione dell’applicazione. &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Per poter sviluppare soluzioni per Windows Azure è disponibile anche un SDK e dei Tool completamente integrati con Visual Studio che mettono a disposizione degli specifici template per i progetti che possono essere scaricati da questa&amp;nbsp;&amp;nbsp; .&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image005_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image005_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image005 border=0 alt=clip_image005 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image005_thumb.jpg" width=639 height=155 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image005_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;La parte di SDK e Tool Per Visual Studio permette di sviluppare e eseguire il test delle vostre applicazioni .NET e delle storage completamente in locale, per poi andare ad effettuare il deployment delle soluzioni realizzate e dei metadati di configurazione delle risorse sulla piattaforma nel cloud. Si possono scaricare SDK e Tool per Visual Studio da questa &lt;A href="http://www.microsoft.com/azure/sdk.mspx" target=_blank mce_href="http://www.microsoft.com/azure/sdk.mspx"&gt;pagina&lt;/A&gt;&amp;nbsp; e sullo stesso sito si può trovare anche un interessante e completo &lt;A href="http://www.microsoft.com/azure/trainingkit.mspx" target=_blank mce_href="http://www.microsoft.com/azure/trainingkit.mspx"&gt;training kit&lt;/A&gt; con laboratori guidati per tutti i servizi e un ampia offerta di &lt;A href="http://www.microsoft.com/azure/resources.mspx" target=_blank mce_href="http://www.microsoft.com/azure/resources.mspx"&gt;video e documenti&lt;/A&gt; . &lt;/P&gt;
&lt;P&gt;Con la parte di sistema operativo di base della Windows Azure Platform , ovvero Windows Azure possiamo sviluppare due tipologie di applicazione :&lt;/P&gt;
&lt;P&gt;- Web Role (ASP.NET, WCF Service, FastCGI, etc)&lt;/P&gt;
&lt;P&gt;- Worker Role&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image007_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image007_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image007 border=0 alt=clip_image007 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image007_thumb.jpg" width=548 height=345 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image007_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Le Web Role sono come dice la parola stessa delle Web Application basate su pagine Web o Web Services. &lt;/P&gt;
&lt;P&gt;I Worker Role sono invece delle applicazioni che si eseguono in background per la realizzazione di Task specifici, concettualmente molto simili a quello che possiamo fare con i Windows Service sulla versione di Windows tradizionale. Un utilizzo tipico dei Worker Role è l’implementazione di processi asincroni partendo dalla lettura di informazioni che vengono inserite in una delle code asincrone di Windows Azure. Ad esempio , immaginando una applicazione che gestisce l’acquisizione di ordini o la trasformazione di immagini o comunque operazioni che non possono essere eseguite in modo sincrono rispetto all’inserimento della richiesta , possono essere per l’appunto gestite con un Worker Role che resta in attesa di richieste su una coda e avvia l’esecuzione dello specifico lavoro alla ricezione di un messaggio, disaccoppiando così l’esecuzione rispetto all’inserimento della richiesta. Nel caso della ricezione di un ordine ad esempio, ci potrebbe essere una applicazione Web Role che riceve le richieste e che scrive nello storage le informazioni relative all’ordine e poi inserisce in una coda la richiesta di esecuzione dell’ordine , che viene così ricevuta ed eseguita in modo asincrono dal Worker Roler. Anche le code di Windows Azure come le tabelle per I dati e I blob per I file, sono utilizzabili attraverso le API HTTP REST e quindi possono anche essere utilizzate da applicazioni che sono installate localmente.&lt;/P&gt;
&lt;P&gt;Associate alle applicazioni, oltre alle componenti di codice , abbiamo a disposizione dei metadati che consentono di configurare le risorse che vogliamo utilizzare sulla piattaforma elaborativa. Ad esempio possiamo stabilire in modo molto semplice il numero di istanze che vogliamo avere a disposizione da Windows Azure e sulle quali vogliamo far eseguire la nostra applicazione. In base a queste informazioni, sia nell’ambiente di test locale al PC sia nel deployment reale nei datacenter, il servizio di management di Windows Azure denominato FABRIC, provvederà a effettuare il deployment delle istanze che abbiamo richiesto, configurare I bilanciatori di carico e a garantire il funzionamento delle istanze, riavviando o sostituendo istanze che eventualmente avessero dei malfunzionamenti. FABRIC si occupa anche del patching e del management delle macchine virtuali all’interno delle quali si eseguiranno le nostre istanze, garantendoci sicurezza, funzionalità e continuità di servizio per l’ambiente di base in cui si eseguono le nostre applicazioni. A disposizione, inoltre,&amp;nbsp; i servizi di log applicativo per monitorare il comportamento del nostro codice in esecuzione su Windows Azure.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image009_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image009_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image009 border=0 alt=clip_image009 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image009_thumb.jpg" width=480 height=361 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image009_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Per cominciare ad introdursi allo sviluppo con questa parte di base della Windows Azure Platform, potete provare a partire con la classica applicazione Hello World !! seguendo i passi che ho descritto di seguito e che permettono di introdursi allo sviluppo e debug con gli strumenti del SDK e di Visual Studio su un PC client, per poi successivamente procedere al deployment sulla infrastruttura di Windows Azure nel Cloud .&lt;/P&gt;
&lt;P&gt;Installato &lt;A href="http://www.microsoft.com/azure/sdk.mspx" target=_blank mce_href="http://www.microsoft.com/azure/sdk.mspx"&gt;Windows Azure SDK e Tool per Visual Studio&lt;/A&gt; troverete un nuovo template tra I progetti da selezionare per avviare lo sviluppo di una nuova applicazione per il cloud:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image011_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image011_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image011 border=0 alt=clip_image011 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image011_thumb.jpg" width=619 height=403 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image011_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nello step successivo viene presentato un wizard che chiede il tipo di servizio che si vuole realizzare e procediamo con il selezionare una ASP.NET Web Role e proseguire&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image013_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image013_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image013 border=0 alt=clip_image013 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image013_thumb.jpg" width=728 height=534 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image013_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nella soluzione creata dal template possiamo vedere una applicazione ASP.NET identica alle applicazioni che sviluppiamo per il deployment su una infrastruttura Windows tradizionale, ed in più la parte di progetto per Windows Azure con I metadati di configurazione che puoi consistono in dei file XML:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image015_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image015_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image015 border=0 alt=clip_image015 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image015_thumb.jpg" width=290 height=331 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image015_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Con gli opportuni accorgimenti è assolutamente possibile sviluppare applicazioni che possano essere poi distribuite su server locali o sul datacenter di Windows Azure. Questa particolarità rappresenta uno dei maggiori vantaggi di Windows Azure perchè si possono sviluppare applicazioni che poi possono avere differenti modelli di deployment in funzione delle esigenze. Se , infatti, impostiamo come progetto di avvio la Web Application ed eseguiamo il debug abbiamo il normale deployment dell’applicazione nel Web Server locale di Visual Studio, se invece (come di default in questo tipo di progetto) impostiamo come progetto di avvio la cloud application ed avviamo il debug, abbiamo l’avvio dell’infrastruttura locale di test del Windows Azure SDK in cui vengono create n istanze in base alle configurazioni che vedremo successivamente e vedrete comparire nella taskbar le icone del servizio di Development Storage e di Development Fabric:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image017_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image017_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image017 border=0 alt=clip_image017 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image017_thumb.jpg" width=178 height=70 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image017_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Facendo click sul servizio di Development Fabric ( la rotellina) protrete visualizzare la finestra di controllo del Development Fabric dove vedrete attiva la vostra applicazione, per il momento con una sola istanza. Potrete anche vedere la finestra in cui vengono visualizzate le informazioni inserite nel log dall’ambiente ed eventualmente dal vostro codice utilizzando le specifiche API di Windows Azure.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image019_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image019_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image019 border=0 alt=clip_image019 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image019_thumb.jpg" width=244 height=184 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image019_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Inseriamo una Label nella pagina di Default e scriviamo sul load della pagina una riga per impostare il contenuto della Label con la scritta Hello World:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image021_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image021_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image021 border=0 alt=clip_image021 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image021_thumb.jpg" width=309 height=100 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image021_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image023_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image023_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image023 border=0 alt=clip_image023 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image023_thumb.jpg" width=373 height=174 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image023_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Inserendo un breakpoint sulla riga di codice e riavviando l’applicazione in debug con progetto di avvio impostato sul progetto Cloud si potrà effettuare il debug dell’applicazione all’interno del Development Fabric di Windows Azure.&lt;/P&gt;
&lt;P&gt;Per poter richiedere l’avvio di più istanze di può utilizzare il file xml di configurazione del nostro servizio di Web Role che è contenuto nel progetto per il cloud e che ha l’estensione .cscfg:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image025_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image025_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image025 border=0 alt=clip_image025 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image025_thumb.jpg" width=737 height=215 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image025_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Oppure selezionare il WebRole ed utilizzare la finestra delle proprietà ottenendo lo stesso risultato di modifica del file di configurazione.&lt;/P&gt;
&lt;P&gt;Riavviando il progetto in debug, vedremo nella finestra della Development Fabric che questa volta sono state avviate 3 istanze come richiesto. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image027_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image027_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image027 border=0 alt=clip_image027 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image027_thumb.jpg" width=531 height=400 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image027_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Dal Task Manager del sitema operativo potete vedere i tre processi RdRoleHost.exe che contengono le tre istanze: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image029_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image029_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image029 border=0 alt=clip_image029 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image029_thumb.jpg" width=669 height=307 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image029_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Potete provare a terminare una delle istanze dei processi contenitore e noterete che la Development Fabric la riavvierà automaticamente.&lt;/P&gt;
&lt;P&gt;Riportiamo le istanze a 1 e riavviando verifichiamo che viene nuovamente caricata una sola istanza. Ricordatevi di riportare a 1 le istanze prima del deployment nell’applicazione di test su Windows Azure.&lt;/P&gt;
&lt;P&gt;Dopo esservi registrati sul portale &lt;A href="http://windows.azure.com/" mce_href="http://windows.azure.com"&gt;http://windows.azure.com&lt;/A&gt; con il vostro &lt;STRONG&gt;Live Id accertandosi&amp;nbsp; come spiegato prima di aver prima impostato sulla nazionalità italiana i parametri di nazionalità del profilo del vostro LiveID su Windows Live&lt;/STRONG&gt; , per poter effettuare il deployment&amp;nbsp; nel datacenter nel cloud occorre prima creare dal menù di Windows Azure una nuova applicazione in cui effettuare il deployment del nostro esempio. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Per attivare una applicazione, occorre ottenere un token di attivazione. Con la CTP di Agosto di Windows Azure è possibile ottenere dei token gratuiti di test attraverso il portale Microsoft Connect. Utilizzando il token di test si potra procedere al deployment.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Per richiedere il token di attivazione basta fare click sul link specifico nell'area Deploy a questa pagina &lt;A href="http://www.microsoft.com/windowsazure/getstarted/"&gt;http://www.microsoft.com/windowsazure/getstarted/&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image031_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image031_2.jpg"&gt;&lt;/A&gt;&lt;/U&gt;&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Il link vi porta sul portale Connect dove dopo essersi autenticati con Il Live ID di nazionalità italiana potrete richiedere il token di test gratuito da usare poi per attivare l’applicazione sul portale &lt;/STRONG&gt;&lt;A href="https://windows.azure.com/" mce_href="https://windows.azure.com/"&gt;&lt;STRONG&gt;https://windows.azure.com/&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; . Il token vi verrà spedito appena disponibile (genericamente 48 ore)&amp;nbsp;sulla cassetta postale&amp;nbsp; del Live Id con cui l'avete richiesto iscrivendovi a connect.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Il token dovrà essere inserito utilizzando il Link Account sul menù della Home Page del portale &lt;A href="https://windows.azure.com/" mce_href="https://windows.azure.com/"&gt;https://windows.azure.com/&lt;/A&gt; . Nell’area account c’è un link Manage My Tokens &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image033_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image033_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image033 border=0 alt=clip_image033 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image033_thumb.jpg" width=728 height=254 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image033_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Dove potete inserire il token che avete ottenuto registrandovi sul portale Connect .&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Inserito il token facendo click sul voce del menù sulla destra Windows Azure, potrete accedere alla pagina di provisioning dove ora troverete attivato un progetto PDC08 come da figura che si è attivato con l’inserimento del token. Accedendo con il click sul link evidenziato del progetto &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image035_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image035_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image035 border=0 alt=clip_image035 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image035_thumb.jpg" width=646 height=261 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image035_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;potrete entrare nella pagina del progetto per aggiungere una applicazione con lo specifico comando New Service evidenziato&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image037_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image037_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image037 border=0 alt=clip_image037 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image037_thumb.jpg" width=655 height=292 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image037_thumb.jpg"&gt;&lt;/A&gt;&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Nello step successivo potrete creare una nuova Hosted Application chiamandola ad esempio test Azure usando lo specifico bottone (evidenziato sotto) e anche eventualmente uno spazio di storage . Per il nostro esercizio al momento basta la creazione della Hosted Application.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image039_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image039_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image039 border=0 alt=clip_image039 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image039_thumb.jpg" width=662 height=289 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image039_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Il wizard di creazione della hosted application prosegue chiedendovi le informazioni relative al nome con cui volete pubblicare lo spazio e le eventuali affinità con una specifica region e l’affinità eventuale con uno storage. Impostate solo un nome e lasciate le altre impostazioni sul default:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image041_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image041_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image041 border=0 alt=clip_image041 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image041_thumb.jpg" width=666 height=332 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image041_thumb.jpg"&gt;&lt;/A&gt;&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Preparato lo spazio per l’applicazione procediamo con il preparare il package di deployment. Dal menù Build di Visual Studio facendo click sulla voce Publish Cloud … o direttamente dal menù contestuale della Cloud Application in Visual Studio:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image043_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image043_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image043 border=0 alt=clip_image043 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image043_thumb.jpg" width=259 height=284 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image043_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Si otterrà la produzione da parte di Visual Studio del package di deployment della soluzione e dei file xml con i dati di configurazione &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image045_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image045_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image045 border=0 alt=clip_image045 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image045_thumb.jpg" width=533 height=240 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image045_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Verrà anche automaticamente aperto il browser con impostato l’url di deployment . Effettuato il logon nel portale di Windows Azure con il vostro Live Id con cui vi siete già registrati vi troverete nella pagina delle applicazioni in gestione e selezionando l’applicazione che avete attivato prima tramite il token.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image047_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image047_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image047 border=0 alt=clip_image047 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image047_thumb.jpg" width=555 height=270 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image047_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Con il pulsante deploy potrete provedere a portarvi sulla pagina di deployment ed a inserire con gli opportuni comandi di selezione di file il pakage dell’applicazione ed i metadati:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image049_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image049_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image049 border=0 alt=clip_image049 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image049_thumb.jpg" width=555 height=363 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image049_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image051_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image051_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image051 border=0 alt=clip_image051 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image051_thumb.jpg" width=558 height=374 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image051_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Terminata l’operazione di caricamento dei file vi ritroverete sulla pagina di gestione del progetto con i due ambienti di Produzione e di staging e con il pulsante Run posizionanto sotto l’area di staging potrete avviare l’applicazione in staging. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image053_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image053_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image053 border=0 alt=clip_image053 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image053_thumb.jpg" width=561 height=390 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image053_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Un apposito box vi segnala lo stato di avanzamento dell’operazione di avvio dell’istanza e l’url a cui sarà disponibile l’applicazione terminata l’operazione di avvio:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image055_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image055_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image055 border=0 alt=clip_image055 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image055_thumb.jpg" width=553 height=408 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image055_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Successivamente alla ricezione della conferma dell’avvio dellavostra applicazione:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image057_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image057_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image057 border=0 alt=clip_image057 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image057_thumb.jpg" width=558 height=414 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image057_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Potrete utilizzare l’URL indicato per navigare nella applicazione in staging ed eventualmente promuoverla in produzione con lo specifico comando.&lt;/P&gt;
&lt;P&gt;Con il pulsante Configure, invece, potrete accedere alla pagina che vi consente di modificare la parte di configurazione delle istanze e di accedere al log delle applicazioni:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image059_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image059_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image059 border=0 alt=clip_image059 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image059_thumb.jpg" width=565 height=461 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/WindowsAzureHelloWorld_DBD8/clip_image059_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896352" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Yoox dal retail alla piattaforma multibrand per e-commerce</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2008/06/16/yoox-dal-retail-alla-piattaforma-multibrand-per-e-commerce.aspx</link><pubDate>Mon, 16 Jun 2008 10:30:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8592977</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/8592977.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=8592977</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 7px 0px 0px; border-left: 0px; border-bottom: 0px" height="216" alt="image" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/image_thumb.png" width="260" align="left" border="0" /&gt;&lt;/a&gt; Una delle attivit&amp;#224; pi&amp;#249; interessanti che mi &amp;#232; capitato di seguire negli ultimi mesi &amp;#232; collegata alla revisione architetturale che Yoox Group ha avviato sui suoi servizi e siti Internet.&lt;/p&gt;  &lt;p&gt;YOOX Group &amp;#232; il partner globale di Internet retail per i principali brand di moda &amp;amp; design: l&amp;#8217;unica azienda di retail su Internet sia multimarca &amp;#8211; con la boutique virtuale &lt;a href="http://yoox.com/"&gt;YOOX.COM&lt;/a&gt;, sia monomarca &amp;#8211; con i flagship store online sviluppati da YOOX Services.&lt;/p&gt;  &lt;p&gt;Nato nel 2000 ha avviato un nuovo modello di business con la boutique virtuale N&amp;#176; 1 al mondo &lt;a href="http://yoox.com/"&gt;YOOX.COM&lt;/a&gt;, che ha contribuito pionieristicamente a creare lo shopping di moda online nel nostro Paese. &lt;/p&gt;  &lt;p&gt;L&amp;#8217;infrastruttura globale sincronizzata su tre continenti, insieme all&amp;#8217;esperienza accumulata in questi anni, hanno portato all&amp;#8217;apertura nel 2006 di YOOX Services, societ&amp;#224; di YOOX Group che progetta e gestisce gli online store per conto dei principali brand di moda &amp;amp; design. YOOX Services realizza i flagship store dei principali brand della moda &amp;amp; design che intendono offrire online la stessa collezione disponibile attualmente nei negozi. &lt;/p&gt;  &lt;p&gt;Attualmente i flagship store online monomarca &amp;#8220;powered by YOOX&amp;#8221; sono: &lt;a href="http://www.marni.com"&gt;www.marni.com&lt;/a&gt;, &lt;a href="http://www.emporioarmani.com/"&gt;www.emporioarmani.com&lt;/a&gt;, &lt;a href="http://www.diesel.com/"&gt;www.diesel.com&lt;/a&gt;, &lt;a href="http://www.cpcompany.com/"&gt;www.cpcompany.com&lt;/a&gt;, &lt;a href="http://www.stoneisland.com/"&gt;www.stoneisland.com&lt;/a&gt; e presto saranno annunciati molti altri virtual store dei principali brand del lusso. &lt;/p&gt;  &lt;p&gt;A questi si &amp;#232; aggiunto il nuovissimo &lt;a href="http://thecorner.com/"&gt;THECORNER.COM&lt;/a&gt; &amp;#8220;powered by YOOX&amp;#8221;, un department store online completamente dedicato alle nuove collezioni di designer internazionali &amp;#8221;cutting edge&amp;#8221; e a brand italiani di ricerca ognuno con un &amp;#8220;corner&amp;#8221; dedicato.&lt;/p&gt;  &lt;p&gt;Una case history di successo se guardiamo i numeri di YOOX.COM: un sito localizzato in 7 lingue con pi&amp;#249; di quattro milioni di visitatori al mese e pi&amp;#249; di un milione di capi consegnati in tutto il mondo nel 2007 in 53 paesi. &lt;/p&gt;  &lt;p&gt;Dal punto di vista tecnico la necessit&amp;#224; di dover passare da un singolo Internet retailer ad una nuova serie di siti monobrand ha comportato la necessit&amp;#224; di una profonda revisione dell&amp;#8217;architettura su cui yoox services implementa le soluzioni Internet. I piani di Yoox Group, infatti, prevedono lo sviluppo di un numero significativo di siti monbrand o specialistici e pertanto la nuova piattaforma tecnologica per Yoox Service dovr&amp;#224; prevedere la possibilit&amp;#224; di implementare e gestire con sempre maggiore velocit&amp;#224; nuove tipologie di siti. &lt;/p&gt;  &lt;p&gt;Dal punto di vista architetturale Yoox Services si &amp;#232; trovata di fronte all&amp;#8217;esigenza di muovere la propria soluzione per yoox.com da un sito di e-commerce ad una vera e propria piattaforma che possa permettere la costruzione e la gestione di &amp;#8220;n&amp;#8221; siti, mettendo a fattor comune un insieme di servizi di base con lo scopo di semplificare lo sviluppo , manutenzione e sfruttamento dell&amp;#8217;hardware, ma permettendo al tempo stesso il necessario isolamento tra i siti, la flessibilit&amp;#224; per gli elementi di interfaccia utente e la costruzione dei contenuti di ciascuno store virtuale, garantendo allo stesso tempo la necessaria scalabilit&amp;#224; rispetto al volume di richieste gi&amp;#224; oggi elevato sul solo Yoox.com.&lt;/p&gt;  &lt;p&gt;Per rispondere a queste esigenze Yoox Group ha quindi avviato uno studio per l&amp;#8217;implementazione di una nuova piattaforma che viene da identificata con il termine OSS (ONLINE STORE SERVICES) per rispondere alle nuove esigenze del gruppo e garantire gli stessi livelli di qualit&amp;#224; , scalabilit&amp;#224; e costi offerti dalla soluzione che ha contribuito in modo determinate al successo di Yoox.com.&lt;/p&gt;  &lt;p&gt;La nuova architettura &amp;#232; divisa in due componenti fondamentali: una componenti di front-end che si preoccupa di gestire acquisizione di ordini e gestione del sito (catalogo, profili, carrello, pagamenti, etc) ed una componente di back-end che riceve gli ordini attraverso un un meccanismo di code asincrone dove attraverso Microsoft BizTalk e Microsoft Navision vengono gestite le interazioni con i partner , le operazioni logistiche di spedizione e la fatturazione. &lt;/p&gt;  &lt;p&gt;La componente di front-end prevede una parte di user interface (UI) , una serie di Web Service per erogazione di servizi a siti terzi (ad esempio il catalogo) ed alle componenti lato client della UI (JS AJAX, FLASH, SILVERLIGHT, WPF\.NET) , una parte di servizi con la logica delle operazioni del sito e uno storage per i dati.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image004_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="268" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image004_thumb.jpg" width="357" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I principi architetturali che guidano il rifacimento della componente di front-end che si &amp;#232; deciso di seguire per l&amp;#8217;evoluzione dal mono sito a multi sito possono essere rappresentati come indicato nella seguente figura:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image006_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="367" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image006_thumb.jpg" width="386" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;L&amp;#8217;idea guida di base &amp;#232; quella di passare da un&amp;#8217;architettura single-tenant dove ciascuna istanza dei siti &amp;#232; implementata con una singola soluzione adhoc\custom ,ad una piattaforma che ricalchi la struttura di base dei servizi offerti attualmente in yoox.com, fornendoli con una architettura multi-tenant scalabile e configurabile. I principi architetturali impostati partono dalle idee impostate per le architetture SaaS e quindi gran parte delle impostazioni sulle architetture multi-tenant indicate ottimo &lt;a href="http://msdn.microsoft.com/en-us/architecture/aa479069.aspx"&gt;documento di Carraro e Chong&lt;/a&gt; sull&amp;#8217;argomento, ma vengono riadattati alle forti esigenze di flessibilit&amp;#224; sugli aspetti di personalizzazione del front-end ed di gestione dei contenuti dello stesso necessari ad una applicazione di questo tipo.&lt;/p&gt;  &lt;p&gt;Dal punto di vista tecnologico nell&amp;#8217;implementazione della nuova architettura in corso di sviluppo Yoox ha scelto di utilizzare nelle componenti fondamentali la piattaforma Microsoft: Windows Server 2008 con IIS7 come piattaforma Web Server, SQL Server 2008 come storage e .NET 3.5 come framework di sviluppo con Visual Studio Team System e Team Foundation Server per l&amp;#8217;implementazione della software factory, Navision e Microsoft BizTalk Server nelle componenti di back-end.&lt;/p&gt;  &lt;p&gt;Ulteriore vincolo per la nuova architettura consiste nella necessit&amp;#224; di migrare per step successivi anche il sito principale yoox.com e di garantire,quindi, una completa continuit&amp;#224; di funzionamento. Proprio per questo motivo la migrazione dalla precedente architettura single-tenant basata su ASP/COM sta procedendo per step che prevedono come prima parte la costruzione dei nuovi servizi e l&amp;#8217;aggancio di questi alla attuale interfaccia. Terminata la costruzione dei nuovi servizi, verr&amp;#224; anche migrata la tecnologia utilizzata per la parte di interfaccia utente.&lt;/p&gt;  &lt;p&gt;Data la particolarit&amp;#224; della natura dei siti, infatti , la profonda necessit&amp;#224; di personalizzazione delle componenti di UI &amp;#232; una delle caratteristiche che a spinto Yoox alla decisione di mantenere quest&amp;#8217;ultimo aspetto sviluppato ad hoc per ogni tenant. In particolare , oltre alla classica interfaccia HTML sono previste anche interfacce di tipo differente tra cui piccoli smart client residenti sul desktop che offriranno agli utenti la possibilit&amp;#224; di un interazione pi&amp;#249; semplice con il catalogo del sito. Anche le componenti di UI di gestione del sito sono costruite con interfacce smart client.&lt;/p&gt;  &lt;p&gt;L&amp;#8217;architettura principale del nuovo front-end multi sito di YOOX pu&amp;#242; quindi essere rappresentata come di seguito:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image008_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="306" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image008_thumb.jpg" width="376" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Le interfacce utente di ciascun tenant\sito accedono ai sevizi forniti dal OSS fornendo sempre un parametro che identifica il tenant stesso e ottenendo in questo modo l&amp;#8217;accesso alla logica ed ai dati necessari al funzionamento della specifica istanza. Con questo tipo di approccio, ciascun elemento applicativo pu&amp;#242; scalare con un approccio orizzontale che comporta la semplice aggiunta di macchine fisiche o virtuali all&amp;#8217;architettura su tutti gli strati applicativi , compresa la parte di dati. Anche a questo livello, infatti, viene utilizzato un partizionamento dei dati rispetto alle istanze che identificano i tenant . Questo approccio consente di suddividere i dati in differenti database che possono anche essere ospitati su macchine fisiche o virtuali diverse in funzione delle esigenze di scalabilita. Lo strato di accesso ai dati dei servizi conterr&amp;#224; la logica necessaria ad individuare la partizione corretta in base all&amp;#8217;identificativo del tenant\ sito fornito dal chiamante :&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image010_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="384" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image010_thumb.jpg" width="518" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Per un chiarimento sul tema del partizionamento dei dati vi rimando ai post fatti in passato sull argomento la scalabilit&amp;#224; ed il partizionamento in entit&amp;#224; parte 1 e parte 2 . Il disaccoppiamento tra front-end e back-end attraverso l&amp;#8217;utilizzo di una coda fa si che il carico prodotto nell&amp;#8217;inserimento di ordini o dalla navigazione degli utenti, non si rifletta direttamente sulle componenti che gestiscono le fasi di fatturazione e gestione logistica e di spedizione.&lt;/p&gt;  &lt;p&gt;I servizi sono sviluppati con tre differenti interfacce per permettere sia l&amp;#8217;interazione con le pagine ASP (COM), sia l&amp;#8217;interazione con componenti .NET in process , sia una interfaccia REST con XML o JSON . In questo modo ciascun servizio pu&amp;#242; o essere direttamente posizionato sulle macchine di front-end per essere consumato da UI HTML o per poter essere eventualmente esposto verso altre applicazioni ad estensione delle potenzialit&amp;#224; della piattaforma stessa. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image012_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="351" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image012_thumb.jpg" width="450" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La maggior parte dei servizi utilizza WCF (Windows Communication Foundation) per esporre una parte delle interfacce di accesso e nello strato di accesso ai dati sfruttano le nuove funzionalit&amp;#224; offerte da LINQ.&lt;/p&gt;  &lt;p&gt;La struttura complessiva del sito pu&amp;#242; essere quindi rappresentata come di seguito:&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image014_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="344" alt="clip_image014" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image014_thumb.jpg" width="462" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8592977" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Software+Factories/default.aspx">Software Factories</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/ORM/default.aspx">ORM</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/BPM/default.aspx">BPM</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category></item><item><title>Visual Studio Team System, sessioni dal TechEd</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2007/08/02/visual-studio-team-system-sessioni-dal-teched.aspx</link><pubDate>Thu, 02 Aug 2007 09:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4183384</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/4183384.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=4183384</wfw:commentRss><description>&lt;P&gt;Su MSDN disponibili slide e video delle sessione TechEd su Visual Studio Team System. Le trovate a : &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/bb676080.aspx"&gt;http://msdn2.microsoft.com/en-us/teamsystem/bb676080.aspx&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Enjoy !!!!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4183384" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Software+Factories/default.aspx">Software Factories</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Visual Studio 2005 Service Pack 1 Update for Windows Vista è disponibile per il download pubblico.</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2007/03/07/visual-studio-2005-service-pack-1-update-for-windows-vista-disponibile-per-il-download-pubblico.aspx</link><pubDate>Wed, 07 Mar 2007 10:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1825839</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/1825839.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=1825839</wfw:commentRss><description>&amp;nbsp; 
&lt;P&gt;Visual Studio 2005 Service Pack 1 Update for Windows Vista è disponibile per il download &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=90E2942D-3AD1-4873-A2EE-4ACC0AACE5B6"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=90E2942D-3AD1-4873-A2EE-4ACC0AACE5B6&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1825839" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item></channel></rss>