<?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>Security &amp; Architecture : Architetture applicative</title><link>http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx</link><description>Tags: Architetture applicative</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Mettiamo un po’ di nuvole sotto l’albero</title><link>http://blogs.msdn.com/mariofontana/archive/2009/12/23/mettiamo-un-po-di-nuvole-sotto-l-albero.aspx</link><pubDate>Wed, 23 Dec 2009 07:04:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9940412</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9940412.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9940412</wfw:commentRss><description>&lt;p&gt;Cosa mettere sotto l’albero di natale se non un po’ di risorse per tutti i gusti su &lt;strong&gt;Windows Azure Platform? &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://libreriarizzoli.corriere.it/libro/brunetti_roberto-windows_azure.aspx?ean=9788861142084" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/Mettiamounpodinuvolesottolalbero_717E/image_3.png" width="155" height="198" /&gt;&lt;/a&gt;Come prima risorsa, senza dubbio, voglio segnalare il libro di &lt;strong&gt;Roberto Brunetti &lt;a href="http://thinkahead.cloudapp.net/" target="_blank"&gt;di Thinkahead&lt;/a&gt; (sito rigorosamente su Azure :-) &lt;/strong&gt;dedicato a sviluppatori e progettisti che si avvicinano alla nuova piattaforma per il “cloud” per la prima volta.     &lt;br /&gt;Il libro infatti &lt;strong&gt;tratta in modo semplice e chiaro l’architettura e&amp;#160; le tecniche per lo sviluppo di applicazioni &lt;/strong&gt;accompagnando la teoria con esempi semplici di utilizzo dei servizi offerti.&lt;/p&gt;  &lt;p&gt;L’ho letto in un baleno (non è il solito TOMO da 1000 pagine, ma bensì &lt;strong&gt;220 pagine&lt;/strong&gt;) e la cosa che mi ha colpito maggiormente è la semplicitià con cui Roberto introduce tutti gli argomenti (anche quelli meno ovvi e semplici)… in definitiva, un “must-have” per tutti coloro che vogliono capire come funziona il mondo e le architetture delle “nuovole”…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I temi principali trattati:&lt;/p&gt;  &lt;li&gt;&lt;em&gt;Introduzione al Cloud Computing; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Il sistema operativo Windows Azure; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Progetti hosted service e cloud storage; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Dettagli sull'accesso e organizzazione delle risorse; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Software Development Kit per Visual Studio; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Development Fabric e Development Storage; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;La piattaforma e i servizi disponibili; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;.NET Services Solution; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Service Bus; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;Access Control; &lt;/em&gt;&lt;/li&gt;  &lt;li&gt;&lt;em&gt;SQL Azure.&lt;/em&gt;&lt;/li&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Passando invece alle risorse on-line segnalo un &lt;a href="http://blogs.msdn.com/stevecla01/archive/2009/12/21/windows-azure-for-microsoft-partners.aspx" target="_blank"&gt;bel post&lt;/a&gt; del mio collega Steve che ha fatto un’ottima catalogazione di vari link su Windows Azure suddivisi per &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Business Content&lt;/li&gt;    &lt;li&gt;Technical Content&lt;/li&gt;    &lt;li&gt;Architectural Content&lt;/li&gt;    &lt;li&gt;Developer Content&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Buone feste tra le nuvole :-)&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9940412" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Versione RTM di Windows Identity Foundation</title><link>http://blogs.msdn.com/mariofontana/archive/2009/11/19/versione-rtm-di-windows-identity-foundation.aspx</link><pubDate>Thu, 19 Nov 2009 13:30:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925375</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9925375.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9925375</wfw:commentRss><description>&lt;p&gt;Durante la prima keynote del PDC 09 &lt;strong&gt;Bob Muglia&lt;/strong&gt; ha annunciato la disponibilità di &lt;a href="http://msdn.microsoft.com/it-it/evalcenter/dd440951.aspx" target="_blank"&gt;WIF (Windows Identity Foundation) in versione RTM&lt;/a&gt; !!!.&lt;/p&gt;  &lt;p&gt;mentre &lt;a href="http://blogs.msdn.com/vbertocci/archive/2009/11/17/announcing-the-identity-developer-training-course-on-channel9.aspx" target="_blank"&gt;qui&lt;/a&gt; Vittorio presenta &lt;a href="http://channel9.msdn.com/learn/courses/IdentityTrainingCourse/" target="_blank"&gt;il corso su Identity Developer Training Course&lt;/a&gt; su &lt;strong&gt;Channel9&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/vbertocci/WindowsLiveWriter/WindowsIdentityFoundationRTM_7E25/NET-WIF_h_rgb%5B2%5D_2.jpg"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" title="NET-WIF_h_rgb[2]" border="0" alt="NET-WIF_h_rgb[2]" src="http://blogs.msdn.com/blogfiles/vbertocci/WindowsLiveWriter/WindowsIdentityFoundationRTM_7E25/NET-WIF_h_rgb%5B2%5D_thumb.jpg" width="212" height="40" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Forse è stato il passaggio da &lt;strong&gt;RC&lt;/strong&gt; a &lt;strong&gt;RTM &lt;/strong&gt;più veloce della storia del mondo MS&amp;#160; :-) solo &lt;strong&gt;11 giorni &lt;/strong&gt;!!&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;  &lt;p&gt;PS: sono di poche parole perchè sto preparando le 3 sessioni dei TechDays, guarda caso su Claims-Based Security e scenari federati ovviamente con WIF &amp;amp; C… presto nuovo materiale…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925375" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/IDentity+Metasystem/default.aspx">IDentity Metasystem</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/.net+framework/default.aspx">.net framework</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WIF/default.aspx">WIF</category></item><item><title>ARCast.TV : Michael Stiefel on Software as a Service in the Cloud</title><link>http://blogs.msdn.com/mariofontana/archive/2009/11/10/arcast-tv-michael-stiefel-on-software-as-a-service-in-the-cloud.aspx</link><pubDate>Tue, 10 Nov 2009 05:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9919710</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9919710.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9919710</wfw:commentRss><description>&lt;p&gt;Nuovo episodio della serie Architect Innovation Café sulle architetture SaaS in the Cloud. Un interessante video per capire meglio come approcciare allo sviluppo con &lt;a href="http://www.azure.net/" target="_blank"&gt;Windows Azure&lt;/a&gt;.&lt;/p&gt;  &lt;table width="1000"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="303"&gt;         &lt;p&gt; &lt;iframe height="325" src="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Special-Michael-Stiefel-on-Software-as-a-Service-in-the-Cloud//player" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Special-Michael-Stiefel-on-Software-as-a-Service-in-the-Cloud/"&gt;&lt;/iframe&gt; &lt;/p&gt; &lt;br/&gt; &lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Special-Michael-Stiefel-on-Software-as-a-Service-in-the-Cloud/"&gt;ARCast.TV Special - Michael Stiefel on Software as a Service in the Cloud&lt;/a&gt;        &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt; &lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919710" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Windows Identity Foundation - Scaricate La Release Candidate !!</title><link>http://blogs.msdn.com/mariofontana/archive/2009/11/09/windows-identity-foundation-scaricate-la-release-candidate.aspx</link><pubDate>Mon, 09 Nov 2009 14:14:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9919521</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9919521.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9919521</wfw:commentRss><description>&lt;p&gt;Da tempo si era detto che &lt;strong&gt;Geneva Framework &lt;/strong&gt;si sarebbe chiamato &lt;strong&gt;WIF &lt;/strong&gt;(Windows Identity Foundation) ed ora finalmente ci si può lavorare con la versione RC scaricandola da &lt;a href="http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Maggiori dettagli sull’annuncio sul &lt;a href="http://blogs.technet.com/forefront/archive/2009/11/06/developers-try-out-the-windows-identity-foundation-release-candidate.aspx" target="_blank"&gt;blog di team&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/vbertocci/" target="_blank"&gt;Vittorio&lt;/a&gt; invece ci ricorda che a fronte della versione RC di WIF sono stati aggiornati l’ &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c3e315fa-94e2-4028-99cb-904369f177c0" target="_blank"&gt;Identity Training Kit&lt;/a&gt;,&amp;#160; il sample &lt;a href="http://code.msdn.microsoft.com/FabrikamShipping" target="_blank"&gt;FabrikamShipping&lt;/a&gt; e il controllo &lt;a href="http://code.msdn.microsoft.com/ClaimsDrivenControl" target="_blank"&gt;Claims-Driven Modifier Control&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Infine mi aggrego anch’io sempre a &lt;a href="http://blogs.msdn.com/vbertocci/archive/2009/11/06/the-id-element-special-up-close-personal-with-wif-rc.aspx" target="_blank"&gt;Vittorio&lt;/a&gt; consigliando di visionare &lt;a href="http://channel9.msdn.com/shows/Identity/Windows-Identity-Foundation-RC-is-here/Default.aspx?wa=wsignin1.0" target="_blank"&gt;il breve video&lt;/a&gt; (circa una mezzoretta) sulle novità della versione RC direttamente dal team di sviluppo ovviamente su channel9.&lt;/p&gt;  &lt;p&gt;Buona visione!&lt;/p&gt;  &lt;p&gt;--Mario &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919521" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Geneva/default.aspx">Geneva</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Claims-Based+Security/default.aspx">Claims-Based Security</category></item><item><title>The Architecture Journal : Model-Driven SOA with “OSLO”</title><link>http://blogs.msdn.com/mariofontana/archive/2009/11/03/the-architecture-journal-model-driven-soa-with-oslo.aspx</link><pubDate>Tue, 03 Nov 2009 19:46:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9916933</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9916933.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9916933</wfw:commentRss><description>&lt;p&gt;Da vari mesi incontro clienti che vogliono saperne di più su “OSLO”…   &lt;br /&gt;In un contesto MDA (Model-Driven Architecture) consiglio il seguente articolo comparso poco tempo fa su &lt;em&gt;The Architecture Journal &lt;/em&gt;dal titolo esplicativo…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Service-oriented architecture (SOA) must evolve toward a more agile design, development, and deployment process. Most of all, it must close the gap between IT and business. This article presents a map between modeling theory (model-driven development and model-driven SOA) and possible implementations with the next wave of Microsoft modeling technology, codename “Oslo.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Article : &lt;a title="http://msdn.microsoft.com/en-us/architecture/aa699436.aspx" href="http://msdn.microsoft.com/en-us/architecture/aa699436.aspx"&gt;http://msdn.microsoft.com/en-us/architecture/aa699436.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916933" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Oslo/default.aspx">Oslo</category></item><item><title>CxO Level Discussion about Cloud Computing</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/26/cxo-level-discussion-about-cloud-computing.aspx</link><pubDate>Mon, 26 Oct 2009 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9913081</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9913081.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9913081</wfw:commentRss><description>&lt;p&gt;Interessante l'intervista al mio amico Miha (guru nel mondo delle architetture) sul cloud computing e l'impatto nelle architetture applicative...&lt;/p&gt; &lt;p&gt;What are the business considerations of risks and benefits when considering cloud computing options, strategies, and trends? Check out this discussion between &lt;a href="http://msdn.microsoft.com/en-us/library/cc505967.aspx"&gt;Miha Kralj&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/zxue/"&gt;Zhiming Xue&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;table width="1000"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="303"&gt;         &lt;p&gt; &lt;iframe height="325" src="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-CxO-Level-Discussion-about-Cloud-Computing//player" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-CxO-Level-Discussion-about-Cloud-Computing/"&gt;&lt;/iframe&gt; &lt;/p&gt; &lt;br/&gt; &lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-CxO-Level-Discussion-about-Cloud-Computing/"&gt; ARCast.TV - CxO Level Discussion about Cloud Computing&lt;/a&gt;        &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt; &lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913081" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Cloud+Services/default.aspx">Cloud Services</category></item><item><title>Microsoft Federation Gateway</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/15/microsoft-federation-gateway.aspx</link><pubDate>Thu, 15 Oct 2009 04:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906537</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9906537.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9906537</wfw:commentRss><description>&lt;p&gt;L’amico &lt;a href="http://blogs.msdn.com/vbertocci/" target="_blank"&gt;Vittorio&lt;/a&gt; ha pubblicato un nuovo episodio della ormai famosa serie “The Id Element” :-)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Jorgen Thelin&lt;/b&gt;, Senior Program Manager, looks after key identity services in Microsoft such as &lt;strong&gt;Windows Live ID&lt;/strong&gt; and the &lt;strong&gt;Microsoft Federation Gateway&lt;/strong&gt; (&lt;strong&gt;MFG&lt;/strong&gt;).&lt;/p&gt;  &lt;p&gt;In today's interview &lt;a href="http://www.thearchitect.co.uk/weblog/"&gt;Jorgen &lt;/a&gt;describes the role of &lt;strong&gt;MFG&lt;/strong&gt;, and touches on the many wonders it enables: using AD accounts to SSO (single sign on) access to &lt;strong&gt;Microsoft Business Online Services&lt;/strong&gt; such as Dynamics CRM, allowing the 550 million owners of a Live ID account to gain access to your federated applications &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c3e315fa-94e2-4028-99cb-904369f177c0"&gt;developed &lt;/a&gt;with &lt;strong&gt;Windows Identity Foundation&lt;/strong&gt;, and much more.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/shows/Identity/Jorgen-Thelin-on-the-Microsoft-Federation-Gateway/" target="_blank"&gt;read more…&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="1680" height="1050"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_06_22.xap" /&gt; &lt;param name="initParams" value="m=mms://mschnlnine.wmod.llnwd.net/a1809/d1/ch9/2/5/8/7/8/4/IdElementThelin4_s_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://ecn.channel9.msdn.com/o9/ch9/2/5/8/7/8/4/IdElementThelin4_320_ch9.png, postid=487852" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario    &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906537" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Claims-Based+Security/default.aspx">Claims-Based Security</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Cloud+Services/default.aspx">Cloud Services</category></item><item><title>Iniziano gli Architect Innovation Café</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/14/iniziano-gli-architect-innovation-caf.aspx</link><pubDate>Wed, 14 Oct 2009 04:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906492</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9906492.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9906492</wfw:commentRss><description>&lt;p&gt;Cari architetti IT da questo mese (27 e 28 Ottobre) fino a Giugno 2010 inizia una serie di webcast dedicati agli &lt;strong&gt;architetti. &lt;/strong&gt;Questa tipologia di webcast ha lo scopo di aiutare chi fa il lavoro di architetto IT nel capire i nuovi trend di mercato, le nuove tecnologie e come quest’ultime possano integrarsi con le esigenze del proprio business.&lt;/p&gt;  &lt;p&gt;Ogni webcast sarà comunque registrato e disponibile per il download. Potete trovare la programmazione al seguente link : &lt;a href="http://blogs.msdn.com/sac/pages/architect-cafe.aspx"&gt;http://blogs.msdn.com/sac/pages/architect-cafe.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img border="0" alt="ARCHITECT CAFÉ | Webcast - An Architect’s perspective on Silverlight 3" src="https://mseventsww.microsoft.com/BannerImages/7e226b91-fcfc-4a6e-8d7b-0590edd56e84.jpg" width="515" height="93" /&gt;&lt;/p&gt;  &lt;p&gt;Each month through June 2010, we’ll bring you a 90-minute Architect focused Webcast to educate on the latest trends/topics and how new technologies can align with your business needs.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;October 27, 2009 at 11:00am – 12:30pm PST&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Title:&amp;#160; An Architect’s perspective on Silverlight 3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Presenter: Tim Heuer&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Abstract:&lt;/b&gt;&lt;i&gt;&amp;#160; Many .NET developers are becoming more and more interested in the Rich Internet Application development space, and in particular Silverlight.&amp;#160; In this session we will step back from a detailed implementation technology and take a higher level look at Silverlight from the architect’s perspective.&amp;#160; We will discuss the types of applications where Silverlight makes sense and some scenarios where Silverlight may not be the appropriate technology.&amp;#160; We will also delve into some of the architectural decisions that the architect must consider when writing applications for this platform and where some of the tradeoffs may lie.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Event ID:&amp;#160; 1032427862&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Link to Register:&amp;#160; &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427862&amp;amp;Culture=en-US"&gt;An Architect’s perspective on Silverlight 3&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;October 28, 2009 at 11:00am – 12:30pm PST&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Title:&amp;#160; Deploying Windows 7 from an Infrastructure Architect’s Perspective&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Presenter: Doug Klokow&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Abstract:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;We’ll discuss 5 key areas centered on deploying Windows 7:&amp;#160; &lt;u&gt;Developing business justification&lt;/u&gt; – Evaluate the capabilities provided by Windows 7 and develop a plan for how to realize business value from these solutions; &lt;u&gt;Where are you today&lt;/u&gt; – Explore the differences of preparing for Windows 7 based on your current desktop operating system; &lt;u&gt;Application readiness&lt;/u&gt; – Explore the tools and resources available to gain insight into your readiness to deploy Windows 7, Internet Explorer 8, and/or Office 2007/2010; &lt;u&gt;Deployment readiness&lt;/u&gt; – Explore the tools and resources available to create a design and deployment solution for your enterprise; &lt;u&gt;Training your employees &lt;/u&gt;– Discuss available resources for training your IT Staff and End Users.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Event ID:&amp;#160; 1032427863&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Link to Register:&amp;#160; &lt;u&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427863&amp;amp;Culture=en-US"&gt;Deploying Windows 7 from an Infrastructure Architect’s Perspective&lt;/a&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;SPEAKER BIOS&lt;/h3&gt;  &lt;p&gt;&lt;b&gt;Tim Heuer&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I currently work for Microsoft as a program manager for Microsoft &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt;, a web technology aimed at delivering rich internet experiences to users.&amp;#160; Before this current role, I was a developer evangelist for Microsoft serving the Arizona, Nevada, New Mexico, Colorado, Montana and Utah areas aiming to strengthen and support communities and software developers in these geographies. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Doug Klokow&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Part of Microsoft Consulting Services for 9 years focused on client desktop deployment solutions.&amp;#160; He is part of the Virtual Deployment Practice that is focused on driving early customer deployment on Microsoft client technologies and is also supporting Microsoft’s Desktop Virtualization capabilities and service offerings. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906492" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Information/default.aspx">Information</category></item><item><title>Re-Architecting Applications for Internazionalization</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/13/re-architecting-applications-for-internazionalization.aspx</link><pubDate>Tue, 13 Oct 2009 20:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906531</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9906531.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9906531</wfw:commentRss><description>&lt;p&gt;18 min video !&lt;/p&gt;  &lt;p&gt;IF you are interested to know how to plan and get started with the process of internationalizing applications, how applications are typically re-architected for internationalization, what tests are conducted once they are internationalized, and what tools and resources are available to facilitate application internationalization, this video is made for you.&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="1680" height="1050"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_06_22.xap" /&gt; &lt;param name="initParams" value="m=mms://mschnlnine.wmod.llnwd.net/a1809/d1/ch9/8/6/4/5/7/4/ARCastVasterOnInternetServiceBus_s_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/7/4/ARCastVasterOnInternetServiceBus_large_ch9.png, postid=475468" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906531" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category></item><item><title>WS-Discovery enhanced</title><link>http://blogs.msdn.com/mariofontana/archive/2009/10/13/ws-discovery-enhanced.aspx</link><pubDate>Tue, 13 Oct 2009 07:23:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906488</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9906488.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9906488</wfw:commentRss><description>&lt;p&gt;Continua la saga su WS-Discovery scritta sempre da Alessio Mannelli. Per chi si fosse perso la prima puntata può leggerla &lt;a href="http://blogs.msdn.com/mariofontana/archive/2009/07/23/understanding-ws-discovery.aspx" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Recap&lt;/h4&gt;  &lt;p&gt;Ben ritrovati in questa serie di post dedicati alla specifica WS-Discovery. Nella puntata precedente abbiamo fatto conoscenza del modello, dei messaggi e delle interazioni basiche fondamento della specifica.&lt;/p&gt;  &lt;p&gt;Abilitare scenari di composizione dinamica, sia a design-time, ma soprattutto a runtime, sono il fulcro alla base della specifica.&lt;/p&gt;  &lt;p&gt;In questa nuova puntata andremo a conoscere il supporto di rete previsto in WS-Discovey, il &lt;strong&gt;Discovery Proxy&lt;/strong&gt;, come gestire il concetto degli Scopes, ed introdurremmo gli scenari applicativi che implementeremo nella prossima puntata della serie WS-Discovery.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Supporto di rete&lt;/h4&gt;  &lt;p&gt;Abbiamo già visto nella prima puntata le due modalità operative presenti in WS-Discovery, &lt;i&gt;ad-hoc&lt;/i&gt; e &lt;i&gt;managed&lt;/i&gt;. La prima si basa completamente sullo scambio di messaggi in Multicast per tutte le peculiarità di Discovery (&lt;b&gt;Hello/Bye/Probe/Match&lt;/b&gt; e relative *&lt;b&gt;Resolve&lt;/b&gt;), la seconda si basa sulla presenza di un servizio di rete, denominato Discovery Proxy, al quale inviare i messaggi di ricerca (&lt;b&gt;Probe&lt;/b&gt; e &lt;b&gt;Resolve&lt;/b&gt;).&lt;/p&gt;  &lt;p&gt;La specifica identifica le seguenti definizioni per l’invio di messaggi in multicast:&lt;/p&gt;  &lt;p&gt;· DISCOVERY_PORT: port &lt;b&gt;3702&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;· IPv4 multicast address: &lt;b&gt;239.255.255.250&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;· IPv6 multicast address: &lt;b&gt;FF02::C&lt;/b&gt; (link-local scope) &lt;/p&gt;  &lt;p&gt;I messaggi multicast devono essere inviati utilizzando &lt;a href="http://specs.xmlsoap.org/ws/2004/09/soap-over-udp/soap-over-udp.pdf" target="_blank"&gt;SOAP over UDP&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Quando la modalità operativa utilizzata è quella ad-hoc, tutti i messaggi di richiesta devono essere inviati come sopra definito, mentre tutte le risposte verranno inviate in unicast al client che ha inviato i messaggi. Per comunicare in unicast verso il client vi sono due possibilità:&lt;/p&gt;  &lt;p&gt;· Il client aggiunge un indirizzo di risposta sfruttando l’header di Addressing &lt;em&gt;ReplyTo&lt;/em&gt; .&lt;/p&gt;  &lt;p&gt;· Il server utilizza l’indirizzo IP e la porta sorgente della connessione UDP ricevuta per rispondere al client.&lt;/p&gt;  &lt;p&gt;Nella modalità operativa &lt;i&gt;managed &lt;/i&gt;il client dialoga con il Discovery Proxy in unicast, sia in richiesta che in risposta.&lt;/p&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;Client e Discovery Proxy&lt;/h4&gt;  &lt;p&gt;Il Discovery Proxy, come già descritto, è alla base della modalità operativa cosiddetta &lt;i&gt;managed.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Un client, se non diversamente istruito, si trova normalmente in un stato nel quale non conosce Discovery Proxy; è possibile, chiaramente che riceva un Hello dal Discovery Proxy, riconoscibile da uno specifico &lt;em&gt;Service Type &lt;/em&gt;che lo contraddistingue (&lt;i&gt;d:DiscoveryProxy&lt;/i&gt;) nel qual caso modificherà radicalmente il modo con il quale invia richieste di &lt;em&gt;Probe &lt;/em&gt;e &lt;em&gt;Resolve&lt;/em&gt;, secondo il diagramma a stati sotto descritto:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoveryenhanced_116E6/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoveryenhanced_116E6/image_thumb.png" width="417" height="465" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Quindi, una volta che il client si trova a conoscere un Discovery Proxy comunicherà con lo stesso in modalità unicast, evitando quindi di congestionare la rete con messaggi in multicast.&lt;/p&gt;  &lt;p&gt;Un DiscoveryProxy, di contro, quando riceve un messaggio di &lt;em&gt;Probe &lt;/em&gt;o &lt;em&gt;Resolve &lt;/em&gt;in multicast è tenuto a spedire subito un messaggio di &lt;b&gt;Hello&lt;/b&gt; (in multicast a sua volta): questo particolare messaggio modifica lo stato dei client in modo tale che utilizzino solamente i Discovery Proxy di cui si fidano, ed ingnorino di contro i messaggi in multicast dei Target Service.&lt;/p&gt;  &lt;p&gt;A questo punto sia i Client che i Target Service indirizzeranno le loro comunicazioni (di ricerca, per il client, di connessione/disconnessione dalla rete, per i servizi) al Discovery Proxy. Eventualmente i messaggi di connessione/disconnessione (&lt;b&gt;Hello/Bye&lt;/b&gt;) potranno essere inviati ancora in multicast, da parte dei Target Service: il loro peso specifico è talmente basso, cosi come il numero di messaggi inviati, da essere praticamente trascurabili in uno scenario reale.&lt;/p&gt;  &lt;p&gt;Tra i vantaggi di avere un’infrastruttura di Discovery &lt;i&gt;managed &lt;/i&gt;vi è anche la possibilità di scavalcare il limite di utilizzo delle comunicazioni multicast (overhead di gestione del routing del protocollo fra tutti): inserire alcuni Discovery Proxy tra le varie sottoreti, e sfruttare il modello di discovery, può portare ad allargare gli orizzonti del proprio ambiente operativo.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoveryenhanced_116E6/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoveryenhanced_116E6/image_thumb_1.png" width="408" height="245" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In questo modo i client possono trovare ed utilizzare servizi non presenti nelle loro sottoreti, senza rendere difficoltosa la gestione dell’infrastruttura.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Scopes&lt;/h4&gt;  &lt;p&gt;Come già accennato, gli &lt;em&gt;scopes, &lt;/em&gt;di seguito indicati anche come “ambiti”, possono caratterizzare un servizio nel mondo di WS-Discovery. La specifica identifica solamente i metodi specifici con i quali un Target Service deve confrontare i suoi ambiti, con quelli richiesti dal messaggio di Probe ricevuto, per rispondere, eventualmente, con un messaggio di Match (&lt;b&gt;Probe&lt;/b&gt; o &lt;b&gt;Request&lt;/b&gt;). Ripetiamo la lista dei modelli di confronto utilizzabili, per riferimento:&lt;/p&gt;  &lt;p&gt;· http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/rfc3986&lt;/p&gt;  &lt;p&gt;· &lt;a href="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/uuid"&gt;http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/uuid&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· &lt;a href="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/ldap"&gt;http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/ldap&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· &lt;a href="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/strcmp0"&gt;http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/strcmp0&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;· &lt;a href="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/none"&gt;http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/none&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Per maggiori informazioni sugli stessi il capitolo 5 della specifica entra nei dettagli di ogni modello.&lt;/p&gt;  &lt;h4&gt;Scenari applicativi di utilizzo di WS-Discovery &lt;/h4&gt;  &lt;p&gt;Fino a qui abbiamo praticamente visto tutti gli aspetti peculiari della specifica WS-Discovery, cerchiamo adesso di focalizzare l’utilizzo della stessa nel mondo reale, proponendo alcuni scenari che normalmente si propongono in un ambiente orientato ai servizi, e che elaboreremo nella prossima puntata:&lt;/p&gt;  &lt;p&gt;1. Ricerca a runtime di un servizio che implementa l’interfaccia che ci interessa.&lt;/p&gt;  &lt;p&gt;2. Ricerca a runtime di un servizio che, oltre ad implementare l’interfaccia richiesta, è configurato con uno scope specifico.&lt;/p&gt;  &lt;p&gt;Il primo scenario è il più frequente in ambito composizione : configurazione degli indirizzi fisici utilizzati dai servizi nei diversi “ambienti operativi” nei quali l’ applicazione verrà eseguita (sviluppo, pre-produzione, produzione e chi più ne ha più ne metta). Il vantaggio che deriva dall’utilizzo di WS-Discovery come asset fondamentale di tutti i servizi e le applicazioni è evidente: ad ogni modifica di “ambiente operativo” l’applicazione ricercherà il servizio specifico ed utilizzerà l’indirizzo recuperato a runtime per il colloquio.&lt;/p&gt;  &lt;p&gt;Chiaramente vi possono essere degli accorgimenti capaci di evitare il “dispendio” di messaggi che la ricerca di un’istanza di servizio può aggiungere all’economia del colloquio applicazione – servizio. Talvolta il peso è trascurabile, quando ad esempio il client ha un ciclo di vita molto elevato, tale per cui il peso aggiunto diventa infinitesimale rispetto al resto del peso di comunicazione; altre volte invece è necessario salvare l’indirizzo del servizio recuperato tramite utilizzo di WS-Discovery per poi riutilizzarlo al riavvio dell’applicazione. In questo modo vi è la possibilità che il servizio recuperato in precedenza non sia più “vivo”, nel qual caso si potrà procedere con una nuova interazione Probe – ProbeMatch.&lt;/p&gt;  &lt;p&gt;Il secondo scenario è il più “ambizioso” in determinati contesti. Ipotizziamo di avere alcune istanze di uno specifico servizio, distribuite in modo tale da coprire più segmenti della topologia di rete in esame. Per esempio potremmo avere un servizio locale su una macchina, un servizio su una LAN particolare , ed un servizio al centro. Tutti e tre i servizi implementano la stessa interfaccia e gestiscono gli stessi dati ma, data la loro differente collocazione geografica hanno uno SLA (service level agreement) diverso a seconda dei dati che vengono richiesti.&lt;/p&gt;  &lt;p&gt;Facciamo un esempio : il servizio locale alla mia macchina avrà lo stato completo dei dati che si generano dalla macchina stessa, il servizio interno alla LAN ha lo stato completo dei dati che si generano all’interno della LAN stessa, e per finire il servizio al centro ha lo stato completo dei dati che si generano fuori dal contesto applicativo specifico. Ogni “livello” diverso si sincronizza e coordina con gli altri tramite un ulteriore flusso dati (che non analizziamo) che rende possibile, con tempi diversi, l’allineamento dei dati su tutte le istanze del servizio ipotizzato.&lt;/p&gt;  &lt;p&gt;A questo punto l’applicazione deve capire se e come le tre diverse istanze di servizio possono aiutarlo nell’esecuzione delle sue funzioni. In alcuni casi un servizio fisicamente “vicino” al client può essere un aiuto, se non altro per il ridotto round trip di rete dell’invocazione. Altrimenti, se l’applicazione capisce di avere necessità di dati con specifico SLA può ricercare uno dei servizi specifici. &lt;/p&gt;  &lt;p&gt;Bene, l’utilizzo degli &lt;i&gt;scopes, &lt;/i&gt;in questo caso, è l’ausilio tecnico alla problematica. Ogni diversa istanza di servizio viene configurata in diversi ambiti (scopes, per l’appunto). In contesti gerarchici, come l’esempio illustrato, gli scopes possono essere definiti con una convenzione come la seguente:&lt;/p&gt;  &lt;p&gt;· Servizio al centro rende disponibile lo scope &lt;b&gt;&lt;i&gt;http://ROOT&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;· Servizio di “filiale” rende disponibile lo scope &lt;b&gt;&lt;i&gt;http://ROOT/BRANCH&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;· Servizio locale rende disponibile lo scope &lt;b&gt;&lt;i&gt;http://ROOT/BRANCH/MACHINE&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;In questo scenario si possono poi utilizzare diverse tipologie di confronto tra gli scopes: la tipologia di esatta comparazione delle stringhe, ad esempio, restituirà solo uno delle tre istanze di servizio, piuttosto che la versione RFC3986, la quale restituisce una istanza se almeno uno dei sotto livelli della risorsa richiesta è confrontabile con quello richiesto; in questo caso se chiedo lo scope ROOT, tutti e tre i servizi dell’esempio risponderanno con i loro dettagli. &lt;/p&gt;  &lt;p&gt;Tutto dipende da quali sono le necessità applicative, ma le prospettive offerte dall’infrastruttura sono molto interessanti, e flessibili.&lt;/p&gt;  &lt;h4&gt;Conclusioni &lt;/h4&gt;  &lt;p&gt;Con questo secondo post abbiamo esaurito l’overview della specifica, e definito alcuni scenari che reputo interessanti e che saranno la base del terzo ed ultimo post della serie WS-DISCOVERY. Analizzeremo l’implementazione di WS-Discovery inserito nella nuova versione del &lt;strong&gt;.Net Framework 4.0&lt;/strong&gt;, attualmente in versione Beta, e realizzeremo gli scenari proposti. Per avvantaggiarvi vi consiglio di leggere e sottoscrivere &lt;a href="http://blogs.msdn.com/discovery/"&gt;http://blogs.msdn.com/discovery/&lt;/a&gt;, ne avremo bisogno!&lt;/p&gt;  &lt;p&gt;A presto, &lt;/p&gt;  &lt;p&gt;Alessio&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906488" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Specifiche+di+Base/default.aspx">Specifiche di Base</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/.NET+4/default.aspx">.NET 4</category></item><item><title>Understanding WS-Discovery</title><link>http://blogs.msdn.com/mariofontana/archive/2009/07/23/understanding-ws-discovery.aspx</link><pubDate>Thu, 23 Jul 2009 20:04:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9846596</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9846596.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9846596</wfw:commentRss><description>&lt;p&gt;Da oggi e per i prossimi mesi ogni tanto ospiterò dei post scritti da alcuni colleghi/amici di Microsoft affinchè possano raccontare un po’ della loro expertise e competenza tecnica ottenuta durante le tante attività di consulenza e di supporto sul campo. Ovviamente il tema sarà sempre inerente le architetture applicative e la sicurezza…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoverybasics_9F20/image_2.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoverybasics_9F20/image_thumb.png" width="68" height="70" /&gt;&lt;/a&gt;In questo post iniziamo con &lt;strong&gt;Alessio Mannelli &lt;/strong&gt;(nella foto, l’unica decente che ho trovato :-)!&amp;#160; &lt;br /&gt;Non è la prima volta che parla su questo “canale”… vi ricordate &lt;strong&gt;quell’Alessio Mannelli &lt;/strong&gt;con il quale quasi un anno fa facemmo un video &lt;a href="http://blogs.msdn.com/mariofontana/archive/2008/09/29/come-funzionano-i-security-token-services.aspx" target="_blank"&gt;dove spiegava il funzionamento dei Security Token Services&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;?? Ebbene si, è sempre lui :-) Alessio lavora nella divisione servizi in Microsoft Italia come Senior Developer ed oramai ha un pluriennale esperienza di &lt;strong&gt;&lt;u&gt;implementazioni&lt;/u&gt;&lt;/strong&gt; di soluzioni SOA nell’enterprise. &lt;/p&gt;  &lt;p&gt;Quindi, non mi dilungo ulteriormente in ciancie e passo la palla ad Alessio per la prima puntata sulla specifica &lt;em&gt;WS-Discovery&lt;/em&gt; che tra l’altro è appena &lt;a href="http://blogs.msdn.com/mariofontana/archive/2009/07/20/net-4-0-beta-1-e-ws-discovery.aspx" target="_blank"&gt;stata rettificata come standard OASIS&lt;/a&gt; ed è presente nel &lt;strong&gt;framework .NET 4.0&lt;/strong&gt;…&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;La Missione&lt;/h4&gt;  &lt;p&gt;Tra le tante specifiche che regolano il variegato mondo dei Web Services &lt;strong&gt;WS-Discovery&lt;/strong&gt; è sicuramente una delle più ambiziose: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;definire un modello standard per la localizzazione di “servizi”, un modello per essere informati quando un nuovo “servizio” viene fatto partire e quando un “servizio” viene spento. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Un modello quindi per effettuare ricerche di “servizi” e recuperarne caratteristiche specifiche come gli endpoint con i quali è possibile dialogare con gli stessi, i protocolli utilizzabili, e molto altro ancora.&lt;/p&gt;  &lt;p&gt;Il modello di Discovery è, o sta diventando, necessario in un mondo dove la “composabilità” delle applicazioni diventa asset fondamentale dell’ecosistema applicativo di una azienda; applicazioni dinamiche per loro natura che, semplicemente, è impossibile connettere a design-time oppure a deployment-time; c’è sicuramente necessità di un modello di “connessione” dinamica a runtime, un modello che valorizzi tutti gli asset di una azienda. &lt;/p&gt;  &lt;p&gt;WS-Discovery è anche un facilitatore di scenari dove trovare ed utilizzare servizi all’interno o all’esterno dell’azienda diventa sempre più difficile; strutture verticali aziendali non allineate, poca (talvolta nessuna) Governance dei programmi e progetti in corso, molti fornitori, sono tra le problematiche più classiche che portano alla proliferazione e conseguente non riutilizzo di Web Service.&lt;/p&gt;  &lt;p&gt;Per ultimo Discovery si pone l’obiettivo di abbracciare sempre più “elementi” non tradizionali di un modello di software a servizi: stampanti, device RFID, macchine fotografiche digitali, proiettori. &lt;/p&gt;  &lt;p&gt;La possibilità di utilizzare un sistema leggero, dinamico, interoperabile per la costruzione di applicazioni composte e distribuite è fondamento della specifica WS-Discovery.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Un servizio “Discoverabile”&lt;/h4&gt;  &lt;p&gt;Per la specifica &lt;a href="http://docs.oasis-open.org/ws-dd/discovery/1.1/cs-01/wsdd-discovery-1.1-spec-cs-01.pdf" target="_blank"&gt;WS-Discovery&lt;/a&gt; ogni servizio viene identificato sulla base di quattro caratteristiche fondamentali:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- EndpointReference&lt;/b&gt; (definito in &lt;strong&gt;WS-Addressing&lt;/strong&gt;)&lt;/p&gt;  &lt;p&gt;Un indirizzo che identifichi univocamente il servizio specifico. L’indirizzo non deve essere per forza un indirizzo fisico, anzi la specifica consiglia l’utilizzo di indirizzi logici (eg. Un identificatore universale univoco, GUID, UUID)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- Types&lt;/b&gt; (definito in &lt;strong&gt;WS-Discovery&lt;/strong&gt;)&lt;/p&gt;  &lt;p&gt;Ogni servizio web implementa uno o più tipologie di &lt;em&gt;portType&lt;/em&gt;, cosi come definito dalla specifica di &lt;a href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315" target="_blank"&gt;WSDL 1.1&lt;/a&gt;: la nomenclatura utilizzata è di tipo &lt;em&gt;Namespace:ServiceTypeName&lt;/em&gt; e quasi sempre viene inferita dalle specificità dei contratti implementati nei servizi.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- Scopes&lt;/b&gt; (definito in &lt;strong&gt;WS-Discovery&lt;/strong&gt;)&lt;/p&gt;  &lt;p&gt;Ogni servizio può identificare uno o più ambiti o contesti nei quali esiste o per i quali è stato configurato.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- XAddrs&lt;/b&gt; (definito in &lt;strong&gt;WS-Discovery&lt;/strong&gt;)&lt;/p&gt;  &lt;p&gt;Tutti gli indirizzi sui quali il servizio specifico è raggiungibile ed invocabile. Abbiamo quindi un modello per definire completamente uno specifico Servizio:&lt;/p&gt;  &lt;p&gt;EndpointReference, l’identificatore univoco&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Types, le tipologie di “contratti” che il servizio implementa &lt;/li&gt;    &lt;li&gt;Scopes, i contesti applicativi del servizio &lt;/li&gt;    &lt;li&gt;XAddrs, gli indirizzi sui quali il servizio è raggiungibile ed invocabile. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;a:EndpointReference&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;a:Address&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; uuid:98190dc2-0890-4ef8-ac9a-5940995e6119&amp;#160; &lt;br /&gt;&amp;#160; &amp;lt;/a:Address&amp;gt;       &lt;br /&gt;&amp;lt;/a:EndpointReference&amp;gt;       &lt;br /&gt;&amp;lt;d:Types&amp;gt;i:PrintBasic i:PrintAdvanced&amp;lt;/d:Types&amp;gt;       &lt;br /&gt;&amp;lt;d:Scopes&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160; &lt;/em&gt;&lt;a href="ldap:///ou=engineering,o=examplecom,c=us"&gt;&lt;em&gt;ldap:///ou=engineering,o=examplecom,c=us&lt;/em&gt;&lt;/a&gt;&lt;em&gt;      &lt;br /&gt;&amp;#160;&amp;#160; &lt;/em&gt;&lt;a href="ldap:///ou=floor1,ou=b42,ou=anytown,o=examplecom,c=us"&gt;&lt;em&gt;ldap:///ou=floor1,ou=b42,ou=anytown,o=examplecom,c=us&lt;/em&gt;&lt;/a&gt;&lt;em&gt;      &lt;br /&gt;&amp;#160;&amp;#160; &lt;/em&gt;&lt;a href="http://itdept/imaging/deployment/2004-12-04"&gt;&lt;em&gt;http://itdept/imaging/deployment/2004-12-04&lt;/em&gt;&lt;/a&gt;&lt;em&gt;      &lt;br /&gt;&amp;lt;/d:Scopes&amp;gt;       &lt;br /&gt;&amp;lt;d:XAddrs&amp;gt;http://prn-example/PRN42/b42-1668-a&amp;lt;/d:XAddrs&amp;gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h4&gt;Il modello di Discovery&lt;/h4&gt;  &lt;p&gt;La specifica WS-Discovery definisce sei messaggi specifici:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- Hello/Bye&lt;/b&gt; – messaggi utilizzati da un servizio per annunciare la sua presenza (Hello) o la sua “dipartita” (Bye).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- Probe/ProbeMatch&lt;/b&gt; – &lt;em&gt;Probe&lt;/em&gt; viene utilizzato per cercare uno specifico tipo di servizio, &lt;em&gt;ProbeMatch&lt;/em&gt; viene utilizzato in risposta alla richiesta.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;- Resolve/ResolveMatch&lt;/b&gt; – &lt;em&gt;Resolve&lt;/em&gt; viene utilizzato per cercare una specifica istanza di servizio, &lt;em&gt;ResolveMatch&lt;/em&gt; viene utilizzata in risposta alla richiesta.&lt;/p&gt;  &lt;h5&gt;&lt;/h5&gt;  &lt;p&gt;Lo scenario di base prevede che i servizi annuncino la loro operatività e quando possibile il loro “scollegamento” dalla rete.(chiaramente nei casi in cui un servizio si spenga per casi eccezionali, difficilmente può inviare un messaggio di &lt;b&gt;Bye&lt;/b&gt;, e la specifica non è giustamente prescrittiva in questo senso…)&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoverybasics_9F20/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/mariofontana/WindowsLiveWriter/WSDiscoverybasics_9F20/image_thumb_1.png" width="439" height="258" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figura 1 : Hello e Bye Messages&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In &lt;strong&gt;figura 1&lt;/strong&gt;, viene rappresentato lo scenario di base dove l’ipotetico Client riceve i messaggi di &lt;b&gt;Hello&lt;/b&gt; dai servizi WS1 e WS2 cosi come riceve il messaggio di &lt;b&gt;Bye&lt;/b&gt; dal servizio WS3, il quale nel frattempo si è scollegato dalla rete. Il Client potrà quindi utilizzare le informazioni presenti nei messaggi di protocollo per selezionare il servizio da contattare, qual’ora, chiaramente, implementi le tipologie di servizio richieste.&lt;/p&gt;  &lt;p&gt;Quando invece un Client si connette ad una rete, ed è interessato ad uno specifico servizio, può utilizzare i messaggi di protocollo &lt;b&gt;Probe&lt;/b&gt; e/o &lt;b&gt;Resolve&lt;/b&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/WSDiscoverybasics_9F20/image_6.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/mariofontana/WindowsLiveWriter/WSDiscoverybasics_9F20/image_thumb_2.png" width="443" height="293" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figura 2 : Probe/Resolve e ProbeMatch/ResolveMath Messages&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In &lt;strong&gt;figura &lt;/strong&gt;2 invece il Client ricerca uno specifico servizio e solo due dei tre servizi presenti e connessi alla rete rispondo con un messaggio di &lt;em&gt;Match&lt;/em&gt;. E’ da notare che, nello scenario definito, la richiesta di &lt;em&gt;&lt;b&gt;Resolve&lt;/b&gt; &lt;/em&gt;difficilmente verrà inviata: ricordiamoci infatti che &lt;em&gt;&lt;b&gt;Resolve&lt;/b&gt; &lt;/em&gt;serve per richiedere i dati di una specifica istanza di servizio, a differenza di &lt;em&gt;&lt;b&gt;Probe&lt;/b&gt; &lt;/em&gt;che ricerca istanze generiche che implementino specifiche tipologie di servizio. In questo caso il messaggio di &lt;em&gt;&lt;b&gt;Resolve&lt;/b&gt; &lt;/em&gt;potrebbe essere utilizzato nel caso in cui, dopo aver ricevuto un &lt;b&gt;&lt;em&gt;ProbeMatch&lt;/em&gt;&lt;/b&gt; alcune informazioni specifiche (tipo gli indirizzi per il dialogo) non fossero presenti.&lt;/p&gt;  &lt;h4&gt;Le modalità operative&lt;/h4&gt;  &lt;p&gt;Le modalità operative definite dalla specifica sono la &lt;strong&gt;&lt;em&gt;“ad-hoc”&lt;/em&gt;&lt;/strong&gt; e la modalità &lt;strong&gt;“managed”&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;La modalità &lt;em&gt;“ad-hoc”&lt;/em&gt; non utilizza nessun servizio di rete né server; i messaggi di &lt;em&gt;&lt;b&gt;Hello/Bye/Probe/Resolve&lt;/b&gt; &lt;/em&gt;vengono inviati in &lt;strong&gt;multicast &lt;/strong&gt;(le relative risposte, dove necessarie, vengono inviate in modalità &lt;strong&gt;unicast &lt;/strong&gt;al client che ha effettuato la richiesta).&lt;/p&gt;  &lt;p&gt;La modalità &lt;strong&gt;&lt;em&gt;“managed” &lt;/em&gt;&lt;/strong&gt;è supportata da un servizio di rete, denominato &lt;strong&gt;Discovery Proxy&lt;/strong&gt;, che funge da accentratore dei servizi presenti nell’ambiente, e che opera per conto loro nel rispondere alle richieste. Riprenderemo il concetto di Discovery Proxy in un prossimo post, poiché merita sicuramente un approfondimento.&lt;/p&gt;  &lt;h4&gt;Conclusioni&lt;/h4&gt;  &lt;p&gt;In questo primo post abbiamo solamente scalfito la superficie della specifica WS-Discovery: vi sono tutta una serie di concetti e di peculiarità proprie della specifica che verranno riprese nella prossima puntata.&lt;/p&gt;  &lt;p&gt;Saluti,&lt;/p&gt;  &lt;p&gt;Alessio Mannelli&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9846596" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Specifiche+di+Base/default.aspx">Specifiche di Base</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/.NET+4/default.aspx">.NET 4</category></item><item><title>Video intervista : Cloud Computing e Windows Azure secondo David Chappell</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/30/video-intervista-cloud-computing-e-windows-azure-secondo-david-chappell.aspx</link><pubDate>Tue, 30 Jun 2009 15:41:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809594</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9809594.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9809594</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Windows-Azure-a-conversation-with-David-Chappell/"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/VideointervistaWindowsAzuresecondoDavidC_CCAB/image_5.png" width="244" height="184" /&gt;&lt;/a&gt; Segnalo &lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Windows-Azure-a-conversation-with-David-Chappell/" target="_blank"&gt;questo&lt;/a&gt; nuovo breve video (14min circa) su Channel9 dove David parla del &lt;strong&gt;Cloud Computing &lt;/strong&gt;e di &lt;strong&gt;Windows Azure&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;mentre &lt;a href="http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.docx" target="_blank"&gt;qui&lt;/a&gt; potete trovare il suo whitepaper sempre sul tema &lt;em&gt;Azure Services Platform&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9809594" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Cloud+Services/default.aspx">Cloud Services</category></item><item><title>L' Application Security è indietro 10 anni rispetto al Software Development ?</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/16/la-sicurezza-applicativa-indietro-di-almeno-10-anni-rispetto-al-software-development.aspx</link><pubDate>Tue, 16 Jun 2009 08:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9751007</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9751007.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9751007</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;“In evolutionary terms, the information security field is more than a decade behind software development” &lt;/EM&gt;con queste parole inizia &lt;A href="http://arctecgroup.net/pdf/sosindications.pdf" target=_blank mce_href="http://arctecgroup.net/pdf/sosindications.pdf"&gt;un interessante articolo di Gunnar Peterson&lt;/A&gt; dal titolo &lt;EM&gt;“Service-Oriented Security Indications for Use”&lt;/EM&gt;. In sistesi Gunner sostiene che a partire dagli anni 90 abbiamo assistito a molteplici evoluzioni nel campo del software development mentre in ambito security siamo rimasti pressochè fermi, immobili. &lt;/P&gt;
&lt;P&gt;Io mi trovo pressochè d’accordo con lui anche se man mano proseguivo nella lettura dell’articolo le ragioni del mio essere d’accordo divergevano sempre più da quelle presentate da Gunner. Mi spiego meglio.&lt;/P&gt;
&lt;P&gt;In sintesi Gunner sostine cha se dal lato applicativo c’è stata una forte evoluzione partendo dagli anni 90 con lo sviluppo delle prime Web Applications con CGI, passando poi per l’era ASP/JSP, le 3-tiers Apps nel 1998 per arrivare agli anni 2000 dove si inizia a progettare con SOAP, XML e REST per arrivare agli albori del Web 2.0, &lt;STRONG&gt;dal lato security non siamo mai andati oltre i firewalls e SSL&lt;/STRONG&gt;. Su questo sono d’accordo anche se a mio avviso è necessario fare un ulteriore distinguo tra le definizione di standard per la sicurezza e relativa adozione di quest’ultimi da parte dell’industria per capire meglio il fenomeno. Infatti non è vero che lato security non c’è stata innovazione! &lt;/P&gt;
&lt;P&gt;Tra il 2001 e il 2002 sono comparsi i primi draft delle specifiche che volevano andare oltre la sicurezza del protocollo SSL e di infrastruttura (comunque lato sicurezza applicativa i firewall erano già bypassati con l’introduzione di SOAP/XML, fino alla comparsa delle prime versioni capaci di fare content control su formati XML based). Nacque il così detto stack &lt;STRONG&gt;WS-* &lt;/STRONG&gt;ovvero l’insieme di tutte quelle specifiche dedicate prevalentemente al mondo dei &lt;STRONG&gt;Web Services &lt;/STRONG&gt;(non solo in ambito Security) e che oggi si riconoscono perchè iniziano tutte con &lt;STRONG&gt;&lt;EM&gt;WS-&lt;/EM&gt;&lt;/STRONG&gt; !!&lt;/P&gt;
&lt;P&gt;Quindi già dai primi anni del nuovo millennio abbiamo assistito alla comparsa di specifiche che volevano in qualche modo superare i limiti imposti da SSL e indirizzare il problema della sicurezza nel messaggio non solo tra due end-point ma fino al raggiungimento del destinatario finale. Questo scenario diventò sempre più importante in scenari &lt;STRONG&gt;SOA &lt;/STRONG&gt;dove la sicurezza è o dovrebbe essere gestita più da un punto di vista delle operations che tecnologico e dove i servizi possono essere distribuiti in security context diversi e/o geograficamente.&amp;nbsp; Una breve analisi del concetto di infrastruttura applicativa a servizi e relativi modelli di autenticazione li potete trovare in questi post : &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/04/22/cosa-intendiamo-per-infrastruttura-applicativa.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/04/22/cosa-intendiamo-per-infrastruttura-applicativa.aspx"&gt;cosa intendiamo per infrastruttura applicativa&lt;/A&gt;,&amp;nbsp; &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/03/29/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-canale.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/03/29/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-canale.aspx"&gt;autenticazione a livello di canale&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/03/30/autenticazione-nelle-comunicazioni-sicurezza-a-livello-applicativo.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/03/30/autenticazione-nelle-comunicazioni-sicurezza-a-livello-applicativo.aspx"&gt;autenticazione a livello applicativo&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/mariofontana/archive/2008/04/04/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-messaggio.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2008/04/04/autenticazione-nelle-comunicazioni-sicurezza-a-livello-di-messaggio.aspx"&gt;autenticazione a livello di messaggio&lt;/A&gt;. Già a partire da Dicembre 2002 con &lt;STRONG&gt;WSE 1.0&lt;/STRONG&gt; (per chi lavorava in ambito .NET) erano a disposizione di architetti e developers i primi bit per disegnare e soprattutto implementare scenari basati su queste nuove specifiche (&lt;STRONG&gt;WS-Security, WS-Routing &lt;/STRONG&gt;(ora chiamata WS-Addressing) e poco più. &lt;/P&gt;
&lt;P&gt;Questo lato innovazione. Lato adozione lo scenario è effettivamente diverso; tali innovazioni non furono prese molto in considerazione per vari motivi (novità, poca esperienza, pigrizia (tanto c’era SSL) e a mio avviso perchè negli anni le vere potenzialità che possono fornire le architetture a servizi come SOA/EDA sono sempre state sottovalutate. Personalmente lavoro con le specifiche WS-* dalla primissima BETA di WSE (Luglio/Agosto 2002) e ho realizzato molte soluzioni in ambito Enterprise e posso riassumere la mia esperienza in questo modo: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;le competenze sui patterns di sicurezza in ambito SOA sono conosciuti e adottati in bassissima percentuale nella fascia dei grandi clienti e quindi non mi meraviglio che in scenari meno enterprise non ci sia traccia di sicurezza se non con firewalls e SSL. &lt;U&gt;Questo almeno fino ad un paio di anni fa&lt;/U&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Fortunatamente questo scenario sta cambiando… l’adozione di patterns per la federazione via &lt;STRONG&gt;WS-Federation &lt;/STRONG&gt;e &lt;STRONG&gt;SAML 2.0 Protocol oltre i modelli basati sulla Claims-Based Security &lt;/STRONG&gt;ne sono una conferma. Anche in questo caso però sto notando una adozione prima da parte delle aziende ed enti pubblici e poi man mano in scenari sempre meno Enterprise. Personalmente conto molto sulla “democratizzazione” di questi aspetti di security con il &lt;STRONG&gt;Cloud Computing &lt;/STRONG&gt;perchè diventa (fortunatamente) sempre più difficile realizzare soluzioni silos e totalmente custom dove al contrario gli aspetti di interoperabilità, sicurezza e distribuzione geografica sono un must fin dalle prime fasi della progettazione!!&lt;/P&gt;
&lt;P&gt;Altro ambito in cui negli ultimi anni sto iniziando a vedere un discreto aumento di sensibilità in tutti i settori del mercato IT è quello legato alle best practices sullo &lt;STRONG&gt;sviluppo di codice sicuro&lt;/STRONG&gt;. Da qui l’adozione di modelli derivanti dal &lt;STRONG&gt;SDL&lt;/STRONG&gt; – &lt;EM&gt;Security Development LifeCycle &lt;/EM&gt;– (ad esempio &lt;A href="http://blogs.msdn.com/mariofontana/archive/2009/05/25/integrare-il-processo-di-security-development-lifecycle-sdl-con-visual-studio-team-system.aspx" target=_blank mce_href="http://blogs.msdn.com/mariofontana/archive/2009/05/25/integrare-il-processo-di-security-development-lifecycle-sdl-con-visual-studio-team-system.aspx"&gt;qui&lt;/A&gt; trovate i tool per integrare i principi del SDL con i vari aspetti dell’ ingegneria del software via Visual Studio Team System) e degli sforzi di &lt;STRONG&gt;OWASP &lt;/STRONG&gt;– Open Web Application Security Project - per rendere esplicite le best practices in questo ambito.&lt;/P&gt;
&lt;P&gt;Quindi tornando all’articolo in oggetto non credo che il mondo della sicurezza sia stato alla finestra a guardare il resto dell’ IT che si evolveva restando inerte. Credo invece che l’intriseca fatica nel capire le evoluzioni in ambito sicurezza legate alla complessità dei nuovi scenari architetturali abbia di fatto rallentato se non fermato per anni l’adozione in ambito IT. Da qui il mio essere d’accordo con l’articolo ma per ragioni diverse. &lt;/P&gt;
&lt;P&gt;Mi piacerebbe molto sapere cosa ne pensate :-)&lt;/P&gt;
&lt;P&gt;--Mario&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9751007" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Sicurezza/default.aspx">Sicurezza</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/WS-_2A00_/default.aspx">WS-*</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category></item><item><title>Nuovi Samples con la CTP3 di “Velocity”</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/10/nuovi-samples-con-la-ctp3-di-velocity.aspx</link><pubDate>Wed, 10 Jun 2009 18:37:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9724439</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9724439.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9724439</wfw:commentRss><description>&lt;p&gt;“Velocity” è il codename di un sistema &lt;strong&gt;distribuito di in-memory caching&lt;/strong&gt; molto utilie nel disegno di applicazioni capace di mettere in share qualsiasi tipo di oggetto (CLR, rows, XML, binari, ecc…). L’architettura di Velocity permette quindi di “condividere” la memoria tra macchine fisiche dando al client l’impressione di accedere ad una singola cache. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/NuoviSamplesconlaCTP3diVelocity_F0FD/image_2.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/mariofontana/WindowsLiveWriter/NuoviSamplesconlaCTP3diVelocity_F0FD/image_thumb.png" width="409" height="311" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Per chi vuole una presentazione più completa di Velocity può iniziare &lt;a href="http://blogs.msdn.com/velocity/archive/2008/06/02/introducing-project-codename-velocity.aspx" target="_blank"&gt;da questo post&lt;/a&gt; sul blog di team.&lt;/p&gt;  &lt;p&gt;Detto questo, oggi sono disponibili nuovi samples dedicati alla CTP3 che si possono scaricare da &lt;a href="http://code.msdn.microsoft.com/velocity/Release/ProjectReleases.aspx?ReleaseId=2794 " target="_blank"&gt;codeplex&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9724439" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category></item><item><title>Microsoft Enterprise Service Bus (ESB) Guidance 2.0</title><link>http://blogs.msdn.com/mariofontana/archive/2009/06/10/microsoft-enterprise-service-bus-esb-guidance-2-0.aspx</link><pubDate>Wed, 10 Jun 2009 08:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9718111</guid><dc:creator>mfontana</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mariofontana/comments/9718111.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mariofontana/commentrss.aspx?PostID=9718111</wfw:commentRss><description>&lt;p&gt;Chi sa esattamente e senza ombra di dubbio cosa è un &lt;strong&gt;ESB &lt;/strong&gt;- &lt;strong&gt;Enterpise Service Bus&lt;/strong&gt; - alzi la mano… perchè io non la alzo proprio :-). Non so se vi è mai capitato di leggere le definizioni di ESB proposte da vari vendor. Spesso sono tutte molto, ma molto differenti l’una dall’altra. Questo è dato dal fatto che la maggior parte dei vendor hanno adattato la definizione di ESB alle proprie esigenze e soprattutto agli aspetti e alle architetture dei propri prodotti di &lt;strong&gt;EAI&lt;/strong&gt; (Enterprise Application Integration) per riproporli nell’era delle &lt;strong&gt;SOA (Service Oriented Architecture)&lt;/strong&gt; . &lt;/p&gt;  &lt;p&gt;Detto questo, facendo un minimo comune divisore tra le mille definizione un ESB, in una architettura SOA, rappresenta una infrastruttura (a servizi) dedicato ai &lt;strong&gt;Message Transportation Patterns &lt;/strong&gt;come ad esempio il &lt;strong&gt;Message Broker pattern&lt;/strong&gt;, &lt;strong&gt;Message Filter pattern&lt;/strong&gt;, &lt;strong&gt;Message Translator pattern&lt;/strong&gt;, &lt;strong&gt;Content Enricher pattern &lt;/strong&gt;e &lt;strong&gt;Protocol Adapter pattern&lt;/strong&gt;, ecc… Infatti nelle attuali &lt;strong&gt;SOI (Service Oriented Infrastructure)&lt;/strong&gt; un ESB deve garantire il “message flow” corretto tra servizi eterogenei e interfacce che magari nel tempo possono non essere più facilmente allineate.&lt;/p&gt;  &lt;p&gt;Questo è il motivo per cui Microsoft fino alla comparsa di WCF non ha mai parlato espressamente di ESB.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftEnterpriseServiceBusGuidance2.0_12269/image_6.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/mariofontana/WindowsLiveWriter/MicrosoftEnterpriseServiceBusGuidance2.0_12269/image_thumb_2.png" width="437" height="143" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ma allora perchè Microsoft ha associato la guidance a Biztalk ? &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Perchè Biztalk è grado fin dalle prime versioni di gestire il message routing ma è solo con l’integrazione di WCF che Biztalk (o meglio parte di Biztalk) può essere considerato e gestito come un ESB. &lt;/p&gt;  &lt;p&gt;La guidance 2.0 comprende le seguenti macro funzionalità :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Endpoint run-time discovery and virtualization&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Loosely coupled service composition&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Dynamic message transformation and translation.&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Dynamic routing&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Centralized exception management&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Quality of service&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Protocol transformation&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Extensibility&lt;/b&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Le principali informazioni per architetti e sviluppatori la potete trovare aqui sul &lt;a href="http://go.microsoft.com/fwlink/?LinkId=154069" target="_blank"&gt;BizTalk Developer Center&lt;/a&gt; mentre la guidance può essere scaricata al &lt;a href="http://go.microsoft.com/fwlink/?LinkId=153186" target="_blank"&gt;Download Center&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Comunque io, quando penso all’ ESB, la prima cosa che mi viene in mente è questa …&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftEnterpriseServiceBusGuidance2.0_12269/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftEnterpriseServiceBusGuidance2.0_12269/image_thumb_1.png" width="178" height="330" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftEnterpriseServiceBusGuidance2.0_12269/image_4.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mariofontana/WindowsLiveWriter/MicrosoftEnterpriseServiceBusGuidance2.0_12269/image_4.png"&gt;&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CIN-CIN ALLA VOSTRA … !! :-) :-) :-) &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;--Mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9718111" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mariofontana/archive/tags/Architetture+applicative/default.aspx">Architetture applicative</category><category domain="http://blogs.msdn.com/mariofontana/archive/tags/BizTalk/default.aspx">BizTalk</category></item></channel></rss>