<?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/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>MSDN Blogs</title><link>http://blogs.msdn.com/b/</link><description>from ideas to solutions</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Conor vs. SQL Azure Optimizer Hotfix Traceflag 4199</title><link>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2013/05/25/conor-vs-sql-azure-optimizer-hotfix-traceflag-4199.aspx</link><pubDate>Sat, 25 May 2013 21:15:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421354</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>0</slash:comments><description>Another question:&amp;#160; Does Windows Azure SQL Database (aka SQL Azure) run with or without the optimizer hotfix traceflag (4199) from normal SQL Server? Answer:&amp;#160; It currently does NOT run with 4199 enabled.&amp;#160; In the future, we may be able to expose something more specific and advanced here.&amp;#160; Customers needing to have this level of control can use SQL Server 2012 in a Virtual Machine instead on Windows Azure.&amp;#160; FWIW, we have not seen this to be a significant issue on SQL Azure so...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2013/05/25/conor-vs-sql-azure-optimizer-hotfix-traceflag-4199.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421354" width="1" height="1"&gt;</description></item><item><title>.NET Clients encountering Port Exhaustion after installing KB2750149</title><link>http://blogs.msdn.com/b/windowsazurestorage/archive/2013/05/25/net-clients-encountering-port-exhaustion-after-installing-kb2750149.aspx</link><pubDate>Sat, 25 May 2013 20:57:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421352</guid><dc:creator>Windows Azure Storage</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A recent update for .Net 4.5 introduced a regression to &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx"&gt;HttpWebRequest&lt;/a&gt; that may affect high scale applications. This blog post will cover the details of this change, how it impacts clients, and mitigations clients may take to avoid this issue altogether.&lt;/p&gt;  &lt;h4&gt;What is the affect?&lt;/h4&gt;  &lt;p&gt;Client would observe long latencies for their storage requests and may find either that that their requests to storage are dispatched after a delay or it is not dispatching requests to storage and instead see System.Net.WebException being thrown from their application when trying to access storage. The details about the exception is explained below. Running a netstat as described in the next section would show that the process has consumed many ports causing port exhaustion.&lt;/p&gt;  &lt;h4&gt;Who is affected?&lt;/h4&gt;  &lt;p&gt;Any client that is accessing Windows Azure Storage from a .NET platform with &lt;a href="http://support.microsoft.com/kb/2750149"&gt;KB2750149&lt;/a&gt; installed that does not consume the entire response stream will be affected. This includes clients that are accessing the REST API directly via &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx"&gt;HttpWebRequest&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.http.httpclient.aspx"&gt;HttpClient&lt;/a&gt;, the &lt;a href="http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/05/windows-azure-storage-client-library-for-windows-runtime.aspx"&gt;Storage Client for Windows RT&lt;/a&gt;, as well as the .NET Storage Client Library (2.0.5.0 and below provided via &lt;a href="http://www.nuget.org/packages/WindowsAzure.Storage"&gt;nuget&lt;/a&gt;, &lt;a href="https://github.com/WindowsAzure/azure-sdk-for-net"&gt;github&lt;/a&gt;, and the &lt;a href="http://www.windowsazure.com/en-us/develop/net/"&gt;sdk&lt;/a&gt;). You can read more about the specifics of this update &lt;a href="http://support.microsoft.com/kb/2750149"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;In many cases the Storage Client Libraries do not expect a body to be returned from the server based on the &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/dd179355.aspx"&gt;REST API&lt;/a&gt; and subsequently do not attempt to read the response stream. Under previous behavior this “empty” response consisting of a single 0 length chunk would have been automatically consumed by the .NET networking layer allowing the socket to be reused. To address this change proactively we have added a fix to the .Net Client library in version &lt;a href="http://www.nuget.org/packages/WindowsAzure.Storage"&gt;2.0.5.1&lt;/a&gt; to explicitly drain the response stream. &lt;/p&gt;  &lt;p&gt;A client can use the &lt;b&gt;netstat&lt;/b&gt; utility to check for processes that are holding many ports open in the TIME_WAIT or ESTABLISHED states by issuing a &lt;b&gt;nestat –a –o&lt;/b&gt; ( The –a will show all connections, and the -o option will display the owner process ID).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-55-metablogapi/8015.netstat_5F00_1BA42FE2.jpg"&gt;&lt;img title="netstat" style="display: inline; background-image: none;" border="0" alt="netstat" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-55-metablogapi/7532.netstat_5F00_thumb_5F00_26618737.jpg" width="818" height="126" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Running this command on an affected machine shows the following:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-55-metablogapi/4130.netstat_2D00_result_5F00_662B6DBC.jpg"&gt;&lt;img title="netstat-result" style="display: inline; background-image: none;" border="0" alt="netstat-result" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-36-55-metablogapi/3162.netstat_2D00_result_5F00_thumb_5F00_33C79A3D.jpg" width="821" height="487" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can see above that a single process with ID 3024 is holding numerous connections open to the server.&lt;/p&gt;  &lt;h4&gt;Description&lt;/h4&gt;  &lt;p&gt;Users installing the recent update (&lt;a href="http://support.microsoft.com/kb/2750149"&gt;KB2750149&lt;/a&gt;) will observe slightly different behavior when leveraging the HttpWebRequest to communicate with a server that returns a chunked encoded response. (For more on Chunked encoded data see &lt;a href="http://en.wikipedia.org/wiki/Chunked_transfer_encoding"&gt;here&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;When a server responds to an HTTP request with a chunked encoded response the client may be unaware of the entire length of the body, and therefore will read the body in a series of chunks from the response stream. The response stream is terminated when the server sends a zero length “chunk” followed by a CRLF sequence (see the article above for more details). When the server responds with an empty body this entire payload will consists of a single zero-length chunk to terminate the stream. &lt;/p&gt;  &lt;p&gt;Prior to this update the default behavior of the HttpWebRequest was to attempt to “drain” the response stream whenever the users closes the HttpWebResponse. If the request can successfully read the rest of the response then the socket may be reused by another request in the application and is subsequently returned back to the shared pool. However, if a request still contains unread data then the underlying socket will remain open for some period of time before being explicitly disposed. This behavior will not allow the socket to be reused by the shared pool causing additional performance degradation as each request will be required to establish a new socket connection with the service. &lt;/p&gt;  &lt;h4&gt;Client Observed Behavior&lt;/h4&gt;  &lt;p&gt;In some cases the Storage Client libraries provided will not retrieve the response stream from the HttpWebRequest (i.e. PUT operations), and therefore will not drain it, even though data is not sent by the server. Clients with &lt;a href="http://support.microsoft.com/kb/2750149"&gt;KB2750149&lt;/a&gt; installed that leverage these libraries may begin to encounter TCP/IP port exhaustion. When TCP/IP port exhaustion does occur a client will encounter the following Web and Socket Exceptions: &lt;/p&gt;  &lt;pre&gt;&lt;a name="CodeSnippetCopyLink"&gt;System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send.&lt;/a&gt;&lt;/pre&gt;

&lt;p&gt;- or -&lt;/p&gt;

&lt;pre&gt;System.Net.WebException: Unable to connect to the remote server&lt;br /&gt;System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted.&lt;/pre&gt;

&lt;p&gt;Note, if you are accessing storage via the Storage Client library these exceptions will be wrapped in a StorageException:&lt;/p&gt;

&lt;p&gt;Microsoft.WindowsAzure.Storage.StorageException: Unable to connect to the remote server &lt;/p&gt;

&lt;pre&gt;System.Net.WebException: Unable to connect to the remote server &lt;br /&gt;System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted &lt;/pre&gt;

&lt;pre&gt;&amp;#160;&lt;/pre&gt;

&lt;h4&gt;Mitigations&lt;/h4&gt;

&lt;p&gt;We have been working with the .NET team to address this issue. A permanent fix will be made available in the coming months which will reinstate this read ahead semantic in a time bounded manner. Until then clients can take the following actions to mitigate this issue in their applications:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Upgrade to latest version of the Storage Client (2.0.5.1)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;An update was made for the 2.0.5.1 (&lt;a href="http://www.nuget.org/packages/WindowsAzure.Storage"&gt;nuget&lt;/a&gt;, &lt;a href="https://github.com/WindowsAzure/azure-sdk-for-net"&gt;github&lt;/a&gt;) version of the Storage Client library to address this issue, if possible please upgrade your application to use the latest assembly. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Uninstall KB2750149&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We also recognize that some clients may be running applications that still utilize the 1.7 version of the storage client and may not be able to easily upgrade to the latest version without additional effort. For such users, consider uninstalling the update until the .NET team releases a permanent fix for this issue. We will update this blog, once such fix is available. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update applications that leverage the REST API directly to explicitly drain the response stream&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Any client application that directly references the Windows Azure REST API can be updated to explicitly retrieve the response stream from the HttpWebRequest via [Begin/End]GetResponseStream() and drain it manually i.e. by calling the Read or BeginRead methods until end of stream&lt;/p&gt;

&lt;h4&gt;Summary&lt;/h4&gt;

&lt;p&gt;We apologize for any inconvenience this may have caused. We are actively working with the .NET team to provide a permanent resolution to this issue that will not require any modification of client source code. Please feel free to leave questions or comments below,&lt;/p&gt;

&lt;p&gt;Joe Giardino, Serdar Ozler, and Jean Ghanem&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Resources&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Windows Azure Storage Client library 2.0.5.1 (&lt;a href="http://www.nuget.org/packages/WindowsAzure.Storage"&gt;nuget&lt;/a&gt;, &lt;a href="https://github.com/WindowsAzure/azure-sdk-for-net"&gt;github&lt;/a&gt;)&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Original KB article: &lt;a href="http://support.microsoft.com/kb/2750149"&gt;http://support.microsoft.com/kb/2750149&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421352" width="1" height="1"&gt;</description></item><item><title>30 Nuggets on Software Development from Shaping Software</title><link>http://blogs.msdn.com/b/jmeier/archive/2013/05/25/30-nuggets-on-software-development-from-shaping-software.aspx</link><pubDate>Sat, 25 May 2013 20:53:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421351</guid><dc:creator>JD Meier</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A while back, I started a site called &lt;a href="http://shapingsoftware.com/" target="_blank"&gt;Shaping Software&lt;/a&gt;.&amp;#160;&amp;#160; The purpose was to create a collection of little nuggets on lessons learned from designing, building, and shipping software.&lt;/p&gt;  &lt;p&gt;I ended up writing more than &lt;a href="http://shapingsoftware.com/archives/" target="_blank"&gt;100 articles on software development&lt;/a&gt; (browse the archives for a quick view).&lt;/p&gt;  &lt;p&gt;The didn’t maintain the site.&amp;#160;&amp;#160; For one reason, I wanted a timeless depot, and I wasn’t sure how timeless it could be.&amp;#160; Another reason is the site didn’t take off the way I expected.&amp;#160;&amp;#160; For example, if my MSDN blog generates 1000’s of visits a day, Shaping Software was in the 10’s per day.&lt;/p&gt;  &lt;p&gt;Looking back, I think I learned important reasons why it didn’t take off.&amp;#160;&amp;#160; I didn’t name titles very well.&amp;#160; It’s not always obvious what’s inside.&amp;#160; Also, I didn’t always elaborate on topics that needed more elaboration to &lt;strong&gt;better understand and appreciate the nugget of knowledge&lt;/strong&gt;.&amp;#160; On a very practical, SEO side, I didn’t apply any SEO knowledge and I didn’t build any backlinks.&amp;#160;&amp;#160; Given what I know now, I probably should have continued to groom and to grow it.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;There will always be a need for learning how to shape software with skill and there is an “evergreen” body o timeless principles, patterns, and practices … that is not well known.&amp;#160;&amp;#160; It’s an art and science and there is &lt;strong&gt;always a gap between the state of the art and the state of the practice&lt;/strong&gt;.&amp;#160; Principles, patterns, and practices at our fingertips help us reduce that gap.&lt;/p&gt;  &lt;p&gt;Anyway, here are 30 nuggets from Shaping Software that you might find useful:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/10/05/4-1-view-model-of-software-architecture/" target="_blank"&gt;4+1 View Model of Software Architecture&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/04/28/5-ways-to-manage-complexity-in-software-architectures/" target="_blank"&gt;5 Ways to Manage Complexity in Software Architecture&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/01/app-scenarios-frame/" target="_blank"&gt;Application Scenarios Model&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/01/app-types-verticals-and-scenarios/" target="_blank"&gt;App Types, Verticals, and Scenarios&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2009/11/30/patterns-practices-best-practices/" target="_blank"&gt;Best Practices at Microsoft patterns &amp;amp; practices&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/22/constructive-criticism-of-the-waterfall-model/" target="_blank"&gt;Constructive Criticism of the Waterfall Model&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/16/engineering-practices-frame/" target="_blank"&gt;Engineering Practices Frame&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/23/evolutionary-incremental-and-high-risk/" target="_blank"&gt;Evolutionary, Incremental, and High-Risk&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/11/27/how-to-bring-experienced-engineers-on-board/" target="_blank"&gt;How To Bring Experienced Engineers on Board&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/09/how-to-cure-optimitis/" target="_blank"&gt;How To Cure Optimitis&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/08/18/insourcing/" target="_blank"&gt;Insourcing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2009/05/31/key-project-practices/" target="_blank"&gt;Key Project Practices&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/11/27/knowledge-areas-capability-levels-and-ladder-levels/" target="_blank"&gt;Knowledge Areas, Capability Levels, and Ladder Levels&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/22/macro-and-micro-software-process/" target="_blank"&gt;Macro and Micro Software Processes&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/28/make-a-list-of-the-jobs-to-be-done/" target="_blank"&gt;Make a List of the Jobs to Be Done&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/15/patterns-practices-solution-engineering/" target="_blank"&gt;Microsoft patterns &amp;amp; practices Solution Engineering&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/23/mission-impossible/" target="_blank"&gt;Mission Impossible&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/08/18/msf-agile-at-a-glance/" target="_blank"&gt;MSF Agile at a Glance&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/21/organizational-structures-to-support-product-lines/" target="_blank"&gt;Organizational Structures to Support Product Lines&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/23/periodic-design-refactoring/" target="_blank"&gt;Periodic Design Refactoring&lt;/a&gt; (How To Avoid Big Design Up Front)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2009/02/02/personas-at-patterns-practices/" target="_blank"&gt;Personas at Microsoft patterns &amp;amp; practices&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/01/requirements-types/" target="_blank"&gt;Requirements Types&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/10/11/scenario-and-feature-frame/" target="_blank"&gt;Scenario and Features Frame&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/01/shifts-of-power/" target="_blank"&gt;Shifts of Power&lt;/a&gt; (Ward Cunningham's way of describing what drives the requirements)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/21/software-product-lines/" target="_blank"&gt;Software Product Lines&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/21/source-code-reuse/" target="_blank"&gt;Source Code Reuse&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/06/22/waterfall-in-the-large-and-in-the-small/" target="_blank"&gt;Waterfall in the Large and in the Small&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/10/05/what-is-systems-architecture/" target="_blank"&gt;What is Systems Architecture&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/04/28/why-do-we-need-software-architects/" target="_blank"&gt;Why Do We Need Software Architects&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2008/09/25/you-cant-evaluate-architecture-in-a-vacuum/" target="_blank"&gt;You Can’t Evaluate Architecture in a Vacuum&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Probably, the most important article to read (and re-read) is:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://shapingsoftware.com/2008/12/09/lessons-learned-in-patterns-practices/" target="_blank"&gt;Lessons Learned in Microsoft patterns &amp;amp; practices&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I find myself still using and referring to many of the ideas on a regular basis, whether it’s explaining to somebody why &lt;a href="http://shapingsoftware.com/2008/09/25/you-cant-evaluate-architecture-in-a-vacuum/" target="_blank"&gt;you can’t evaluate an architecture in a vacuum&lt;/a&gt;, or what &lt;a href="http://shapingsoftware.com/2008/06/01/shifts-of-power/" target="_blank"&gt;shifts of power mean&lt;/a&gt; to software, or &lt;a href="http://shapingsoftware.com/2008/06/23/periodic-design-refactoring/" target="_blank"&gt;how to avoid Big Design Up Front&lt;/a&gt;, or what the different &lt;a href="http://shapingsoftware.com/2008/06/01/requirements-types/" target="_blank"&gt;types of requirements&lt;/a&gt; are, etc.&lt;/p&gt;  &lt;p&gt;I have to wonder whether it’s worth reinvesting in it, as a true repository of timeless insight and action for the art and science of building software.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jmeier/archive/tags/Software+Engineering/">Software Engineering</category></item><item><title>Bob’s Blog Has Moved</title><link>http://blogs.msdn.com/b/bobfamiliar/archive/2013/05/25/bob-s-blog-has-moved.aspx</link><pubDate>Sat, 25 May 2013 20:47:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421350</guid><dc:creator>bob.familiar</dc:creator><slash:comments>0</slash:comments><description>Bob’s blog has moved to this site: http://www.theundocumentedapi.com Please update your bookmarks. Thanks! –bob...(&lt;a href="http://blogs.msdn.com/b/bobfamiliar/archive/2013/05/25/bob-s-blog-has-moved.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421350" width="1" height="1"&gt;</description></item><item><title>IIS - site offline but handshake phase done properly</title><link>http://blogs.msdn.com/b/carmelop/archive/2013/05/25/iis-site-offline-but-handshake-phase-done-properly.aspx</link><pubDate>Sat, 25 May 2013 16:55:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421333</guid><dc:creator>pulvirenti.carmelo</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Today I want to share with you an interesting scenario introduced by one of my customers. Let me give you a picture about where we are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We have a Web Server with two ip addresses configured on top of it.&lt;/li&gt;    &lt;li&gt;Two web sites are hosted on mentioned Web Server. Let’s call them site1 and site2. Both sites are available over HTTPs to final users and each site uses is own ip address. To be clear:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Site1 – ip1:443&lt;/li&gt;      &lt;li&gt;Site2 – ip2:443&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;In case that you configure one of your web sites offline (basically you stop it), IIS participates to SSL handshake phase &lt;a href="http://support.microsoft.com/kb/257591/en-gb"&gt;http://support.microsoft.com/kb/257591/en-gb&lt;/a&gt; even if associated site is off line.&lt;/p&gt;  &lt;p&gt;As results, IIS sends out the SSL certificate to final user and after that an HTTP 404. How is it possible? Let’s try to answer about this question:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/175952/en-gb"&gt;http://support.microsoft.com/kb/175952/en-gb&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;“The Winsock application that is listening on the designated port &lt;b&gt;was written so that it binds to any local IP address by using INADDR_ANY&lt;/b&gt;. This means that the application will listen to all local interfaces and you can connect to the port of any of them. This is why netstat -an shows IP address 0.0.0.0 listening on the port.”&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/i&gt;&lt;/p&gt;  &lt;p&gt;What previous KB reports is clear: each time that an application defines a socket for a specific ip/port, Winsock takes care to listen for incoming requests to the specified port &lt;b&gt;without restricting&lt;/b&gt; this operation on a specified ip. This is the default behavior.&lt;/p&gt;  &lt;p&gt;Coming back to our scenario! Even if one site is stopped, the second one is working on port 443. What does it mean? Winsock listens on port 443. We can check this by running following command:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;netstat -ano |findstr :443&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt; TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 4&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As soon as an incoming connection comes-in for off line site, it finds-out a process who is listening on this port on server side: Winsock. This one completes the handshake phase sending out the configured SSL certificate to client. After handshake phase is completed, the request is moved to IIS so it answers with 404.&lt;/p&gt;  &lt;p&gt;Is it possible to avoid this? Yes of course, by instructing WinSock to listen only the specified ip instead of all available IPs on the machine: &lt;a href="http://support.microsoft.com/kb/954874/en-gb"&gt;http://support.microsoft.com/kb/954874/en-gb&lt;/a&gt;. In our case:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;netsh http add iplisten ip1&lt;/p&gt;    &lt;p&gt;netsh http add iplisten ip2&lt;/p&gt;    &lt;p&gt;properly restart the services.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Of course after stopping web site, we have to instruct Winsock to not listen incoming connections on the web site ip:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;netsh http del iplisten xxx.xxx.x.x&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Enjoy your IIS administration! &lt;img class="wlEmoticon wlEmoticon-hotsmile" style="style" alt="Hot smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-25-98-metablogapi/6675.wlEmoticon_2D00_hotsmile_5F00_1B9149F4.png" /&gt;&lt;/p&gt;  &lt;p&gt;Carmelo&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421333" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/carmelop/archive/tags/IIS/">IIS</category></item><item><title>Markdown in the Source Browser</title><link>http://blogs.msdn.com/b/codeplex/archive/2013/05/25/markdown-in-the-source-browser.aspx</link><pubDate>Sat, 25 May 2013 15:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421329</guid><dc:creator>Rick Marron</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;CodePlex now supports markdown in the source browser! All files with a .md extension will be formatted as markdown. For more information on the markdown syntax that we support, check out our&lt;a title="documentation." href="https://codeplex.codeplex.com/wikipage?title=Markdown&amp;amp;referringTitle=Documentation"&gt; documentation.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the source browser, relative links are also supported. To reference another file in your repository, you are able to use the following syntax:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To link to a file in the current folder: [link title](another_file.md)&lt;/li&gt;
&lt;li&gt;To link to a file in a sub-folder: [link title](sub_folder/another_file.md)&lt;/li&gt;
&lt;li&gt;To link to a file in a parent folder: [link title](../another_file.md)&lt;/li&gt;
&lt;li&gt;To link to a file in the root folder: [link title](/file_in_root.md)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The relative links allow your documentation to make sense outside of the context of CodePlex.&lt;/p&gt;
&lt;p&gt;In addition, we now support both &lt;a title="Koka" href="https://koka.codeplex.com/"&gt;Koka &lt;/a&gt;and &lt;a title="Haskell" href="http://www.haskell.org/haskellwiki/Haskell"&gt;Haskell &lt;/a&gt;syntax highlighting. Huge thanks to &lt;a href="https://www.codeplex.com/site/users/view/daan"&gt;Daan&lt;/a&gt; for these contributions.&lt;/p&gt;
&lt;p&gt;Have ideas on how to improve CodePlex? Please visit our&amp;nbsp;&lt;a href="http://codeplex.codeplex.com/workitem/list/basic"&gt;suggestions page&lt;/a&gt;! Vote for existing ideas or submit a new one.&lt;/p&gt;
&lt;p&gt;As always you can reach out to the CodePlex team on Twitter&amp;nbsp;&lt;a href="http://twitter.com/codeplex"&gt;@codeplex&lt;/a&gt;&amp;nbsp;or reach me directly&amp;nbsp;&lt;a href="https://twitter.com/Rick_Marron"&gt;@Rick_Marron&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421329" width="1" height="1"&gt;</description></item><item><title>Inspiration for test-driven design?</title><link>http://blogs.msdn.com/b/marcod/archive/2013/05/25/inspirationfortdd.aspx</link><pubDate>Sat, 25 May 2013 14:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421325</guid><dc:creator>Marco Dorantes</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="nflat justif idea"&gt;What could possibly inspire someone to take test-driven design (TDD) more seriously? I can only tell about what kind of experience has inspired me: (1) the act of watching someone doing TDD with dexterity. (2) Observing the quality of the outcome in relation with its requirements and specifications. (3) Checking out the pace of work in the professional life of the person in (1) &amp;mdash;mainly, that she has a full life after work hours.&lt;/p&gt;
&lt;p class="ident justif idea"&gt;I usually tell a story from my first encounter with a TDD-like mindset, that day I knew that software design and computer programming was much larger and distinct &amp;mdash;orders of magnitude distinct&amp;mdash; than I had understood at the moment (and I was already a software engineering practitioner, with a computer science degree). I leave the full story for other time, shortly: it was about 1998, when many of us were talking about how bright the software design world would be with the &amp;ldquo;Unified Method&amp;rdquo; and drawing UML &amp;mdash;not named so at the time&amp;mdash; in large screens, and full applications automatically generated out of those drawings. Then came that guy, Kent Beck, talking about what I thought was a kind of &amp;ldquo;heresy&amp;rdquo;: test-first programming. The point is that he was not just talking about it, I saw him doing it, with a pair-programming partner, in a presentation in front of many. They wrote the code, test-first, and ran a demo of a small application using Smalltalk, in minutes. And the application design had very relevant quality properties of coupling, cohesion, separation of concerns, layering, that we know are important.&lt;/p&gt;
&lt;p class="ident justif idea"&gt;Moreover, TDD is just one among a set of interrelated values, principles and practices. There are enough to unlearn, re-learn, and learn that re-launch my professional career, from time to time, is a justified idea. For me, there are inspiration in the idea that transforming my professional life is in my very own hands; that is, in particular, in the possibility of changing my very own professional mindset. Fortunately, there is ample room if someone choose to do that, because software design and computer programming is much larger and deeper than usually thought. If our current fraction of theory and practice about software design and computer programming enable us to be part of this connected systems revolution of today, how much more we will able to do if we regularly reassess our current mindset?&lt;/p&gt;
&lt;p class="ident justif idea"&gt;I have seen programmers looking for case studies to convince their management partners about the goodness of TDD. They might need acquisition approval for books, tools, maybe external coaching assistance, so they certainly could benefit from case studies that show how TDD is good for the business. But the more compelling business cases I have seen is not just for a single practice like TDD but for the pattern language of interrelated practices under the adaptive way of life. If they are looking to convince management about something, perhaps they should strive for a more compelling business case; for example: &lt;a href="http://www.amazon.com/Economics-Iterative-Software-Development-Steering/dp/0321509358" target="_blank"&gt;The Economics of Iterative Software Development: Steering Toward Better Business Results&lt;/a&gt;.&lt;/p&gt;
&lt;p class="ident justif idea"&gt;Fortunately, free aspects of TDD can be practiced without any approval because those aspects are part of doing their job, a job that management already expects they fulfill well. Therefore, there are effects of TDD that can be shown as business benefits, not in the somewhat abstract language of a case study about what others have done in a foreign context, but as tangible business benefits in their own context. With this concrete supporting evidence, they could be in a much better position to convince anyone to provide more management support.&lt;/p&gt;
&lt;p class="ident justif idea"&gt;&amp;laquo;&lt;em&gt;How do I sell my executive team on doing this stuff? Don't. Just do it. They don't know what you're doing anyway&lt;/em&gt;&amp;raquo; &amp;mdash;Jim Highsmith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421325" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/marcod/archive/tags/design/">design</category><category domain="http://blogs.msdn.com/b/marcod/archive/tags/agile/">agile</category><category domain="http://blogs.msdn.com/b/marcod/archive/tags/life+and+character/">life and character</category><category domain="http://blogs.msdn.com/b/marcod/archive/tags/detailed+design/">detailed design</category></item><item><title>A Quick Discussion of Active and Passive FTP Connections</title><link>http://blogs.msdn.com/b/robert_mcmurray/archive/2013/05/24/a-quick-discussion-of-active-and-passive-ftp-connections.aspx</link><pubDate>Sat, 25 May 2013 06:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421299</guid><dc:creator>robmcm</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I get a lot of questions about &lt;em style="font-style: italic;"&gt;Active&lt;/em&gt; versus &lt;em style="font-style: italic;"&gt;Passive&lt;/em&gt; FTP Connections, specifically when people are configuring their FTP firewall settings as described in my articles like &lt;em style="font-style: italic;"&gt;&lt;a href="http://www.iis.net/learn/publish/using-the-ftp-service/configuring-ftp-firewall-settings-in-iis-7" target="_blank"&gt;Configuring FTP Firewall Settings in IIS&lt;/a&gt;&lt;/em&gt; and &lt;a href="http://www.iis.net/configreference/system.applicationhost/sites/site/ftpserver/firewallsupport" target="_blank"&gt;&lt;em style="font-style: italic;"&gt;FTP Firewall Support&lt;/em&gt;&lt;/a&gt;, and I get related questions when people are trying to figure out why they can't use the command-line FTP.EXE utility that ships with Windows over the Internet. With all of this in mind, I thought that I would put together a quick blog that explains Active and Passive FTP connections and why those matter when you are connecting to an FTP server over the Internet.&lt;/p&gt;
&lt;p&gt;Here is the briefest description that I can think of to describe the different between Active and Passive FTP:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you are using &lt;em style="font-style: italic;"&gt;Active FTP&lt;/em&gt;, your FTP client determines how your data connections will work.&lt;/li&gt;
&lt;li&gt;When you are using &lt;em style="font-style: italic;"&gt;Passive FTP&lt;/em&gt;, your FTP server determines how your data connections will work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That sums up the whole concept into two bullet points. Unfortunately, neither of those bullet points are the least bit significant to you if you don't understand what they actually mean, so I will describe them in detail below.&lt;/p&gt;
&lt;h3&gt;How &lt;em style="font-style: italic;"&gt;Active&lt;/em&gt; FTP Works&lt;/h3&gt;
&lt;p&gt;The following output shows the communication between an FTP client and FTP server using Active FTP to retrieve a simple directory listing, and I manually color-coded the output so that the client and server's responses would be a little easier to see:&lt;/p&gt;
&lt;pre style="margin-left: 20px; padding: 5px; background-color: #000; color: #fff; font-weight: bold;"&gt;&lt;span style="color: #ff3;"&gt;OPEN ftp.contoso.com&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Resolving ftp.contoso.com...&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Connect socket #1920 to 169.254.10.1, port 21...&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;220 Microsoft FTP Service&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;HOST ftp.contoso.com&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;220 Host accepted.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;USER robert&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;331 Password required for robert.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;PASS **********&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;230 User logged in.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;PWD&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;257 "/" is current directory.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;PORT 169,254,10,2,72,50&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;200 PORT command successful.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;LIST&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;125 Data connection already open; Transfer starting.&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;drwxrwxrwx 1 owner group 0 Feb 15 19:26 aspnet_client&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;-rwxrwxrwx 1 owner group 689 Jan 31 22:27 default.htm&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;226 Transfer complete.&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Transferred 106 bytes in 0.008 seconds&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;QUIT&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;221 Goodbye.&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;In the beginning of this exchange, the client connects to the server from one of its ephemeral data ports to the server's port for the FTP command channel. After negotiating the FTP host, username, and password, the client retrieves the name of the current directory. So far all of the client/server communication has taken place over the FTP command channel, and up to now the conversation is identical to Passive FTP, but that is about to change.&lt;/p&gt;
&lt;p&gt;The client's next task is to request a directory listing, which is denoted by the &lt;code&gt;LIST&lt;/code&gt; command. The server will return its response to the client over the data channel, so before FTP client can send the &lt;code&gt;LIST&lt;/code&gt; command, the client has to specify whether to use Active or Passive. In this example, the client has specified Active FTP by sending a &lt;code&gt;PORT&lt;/code&gt; command. The syntax for this command is &lt;code&gt;PORT A1,A2,A3,A4,P1,P2&lt;/code&gt;, where &lt;code&gt;A1&lt;/code&gt; through &lt;code&gt;A4&lt;/code&gt; are octets of the client's IPv4 address, and &lt;code&gt;P1&lt;/code&gt;/&lt;code&gt;P2&lt;/code&gt; are two bytes that make up a 16-bit (0-65535) port address on the client. (Note: if you are using IPv6, there is a similar &lt;code&gt;EPRT&lt;/code&gt; command that works with IPv6 addresses.)&lt;/p&gt;
&lt;p&gt;Here's what the information in the &lt;code&gt;PORT&lt;/code&gt; command means: the FTP client is essentially telling the FTP server, "For the upcoming data transfer, you need to talk to me at this IP address on this port." This means that the FTP client is &lt;em style="font-style: italic;"&gt;actively&lt;/em&gt; in control of how the subsequent data communication is going to take place.&lt;/p&gt;
&lt;p&gt;If we analyze this information, you can easily see why Active FTP will often fail to work over the Internet. As a relevant example, if you were to use the FTP.EXE client that ships with Windows, it can only use Active FTP. So when a client computer requests something from the server that needs to use the data channel, the client computer sends its IP address via a &lt;code&gt;PORT&lt;/code&gt; command. If the FTP client is behind a firewall or NAT server, then the client is going to send its internal, LAN-based address, to which the FTP server will more than likely fail to connect. For example, if you are on a LAN that uses a NAT server and you have a 192.168.0.nnn IPv4 address, that IP address is invalid over the Internet, so the server will never be able to establish a data connection to your client to send the data.&lt;/p&gt;
&lt;h3&gt;How &lt;em style="font-style: italic;"&gt;Passive&lt;/em&gt; FTP Works&lt;/h3&gt;
&lt;p&gt;The following output shows the communication between an FTP client and FTP server using Passive FTP to retrieve the same directory listing as my previous example, and once again I manually color-coded the output so that the client and server's responses would be a little easier to see:&lt;/p&gt;
&lt;pre style="margin-left: 20px; padding: 5px; background-color: #000; color: #fff; font-weight: bold;"&gt;&lt;span style="color: #ff3;"&gt;OPEN ftp.contoso.com&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Resolving ftp.contoso.com...&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Connect socket #2076 to 169.254.10.1, port 21...&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;220 Microsoft FTP Service&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;HOST ftp.contoso.com&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;220 Host accepted.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;USER robert&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;331 Password required for robert.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;PASS **********&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;230 User logged in.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;PWD&lt;/span&gt; 
&lt;span style="color: #3c3;"&gt;257 "/" is current directory.&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;PASV&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;227 Entering Passive Mode (169,254,10,1,197,19).&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;LIST&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Connect socket #2104 to 169.254.10.1, port 50451...&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;150 Opening ASCII mode data connection.&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;drwxrwxrwx 1 owner group 0 Feb 15 19:26 aspnet_client&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;-rwxrwxrwx 1 owner group 689 Jan 31 22:27 default.htm&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;226 Transfer complete.&lt;/span&gt;
&lt;span style="color: #ccc;"&gt;Transferred 106 bytes in 0.008 seconds&lt;/span&gt;
&lt;span style="color: #ff3;"&gt;QUIT&lt;/span&gt;
&lt;span style="color: #3c3;"&gt;221 Goodbye.&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As I mentioned in my earlier example, the beginning of this conversation is identical to Active FTP: the client connects from one of its ephemeral data ports to the server's port for the FTP command channel. After negotiating the FTP host, username, and password, the client retrieves the name of the current directory as in my earlier example - and here's where the difference begins.&lt;/p&gt;
&lt;p&gt;Once again the client's next task is to request the directory listing, which is still denoted by the &lt;code&gt;LIST&lt;/code&gt; command. But in this second example, the client has specified Passive FTP by sending a &lt;code&gt;PASV&lt;/code&gt; command. The server responds to this command with a reply that is in the format of &lt;code&gt;227 Entering Passive Mode (A1,A2,A3,A4,P1,P2)&lt;/code&gt;, where &lt;code&gt;A1&lt;/code&gt; through &lt;code&gt;A4&lt;/code&gt; are octets of the server's IPv4 address, and &lt;code&gt;P1&lt;/code&gt;/&lt;code&gt;P2&lt;/code&gt; are two bytes that make up a 16-bit (0-65535) port address on the server. (Note: if you are using IPv6, there is a similar &lt;code&gt;EPSV&lt;/code&gt; command that works with IPv6 addresses.)&lt;/p&gt;
&lt;p&gt;Here's what the information in the response to the &lt;code&gt;PASV&lt;/code&gt; command means: the FTP client is essentially telling the FTP server, "For the upcoming data transfer, you need to tell me which IP address and port I should use to talk to you." This means that the FTP client is &lt;em style="font-style: italic;"&gt;passively&lt;/em&gt; allowing the server to control how the subsequent data communication is going to take place.&lt;/p&gt;
&lt;p&gt;If we analyze this information, you can easily see why Passive FTP often works over the Internet; when the FTP server is in control of the communication parameters, it doesn't matter whether the FTP client is behind a NAT server, because the server is telling the client how it should communicate with the server.&lt;/p&gt;
&lt;p&gt;All of this leads to an obvious question: what happens when both the server and the client are behind NAT servers or firewalls? This is where a little bit of configuration comes into play. If you read my &lt;em style="font-style: italic;"&gt;&lt;a href="http://www.iis.net/learn/publish/using-the-ftp-service/configuring-ftp-firewall-settings-in-iis-7" target="_blank"&gt;Configuring FTP Firewall Settings in IIS&lt;/a&gt;&lt;/em&gt; and &lt;a href="http://www.iis.net/configreference/system.applicationhost/sites/site/ftpserver/firewallsupport" target="_blank"&gt;&lt;em style="font-style: italic;"&gt;FTP Firewall Support&lt;/em&gt;&lt;/a&gt; articles, you would notice that you can configure the IIS FTP service to tell the FTP client which IP address to use; when your FTP server is located behind a firewall, you would configure your FTP server to send the external IP address of your firewall, and then you would configure your firewall to route FTP requests on that IP address to your FTP server. Since the FTP server is sending the external IP address of your firewall, the client knows how to communicate to the FTP server even though it is behind a firewall, even if your server is using a LAN-based internal IP address.&lt;/p&gt;
&lt;h3&gt;In Closing...&lt;/h3&gt;
&lt;p&gt;Having explained everything in my preceding examples, you should now understand what I meant earlier when I described the difference between Active and Passive FTP with these two simple points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you are using Active FTP, your FTP client determines how your data connections will work.&lt;/li&gt;
&lt;li&gt;When you are using Passive FTP, your FTP server determines how your data connections will work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope this clears up some questions you might have about Active versus Passive FTP, why you sometimes need to configure your firewall settings for your FTP service, and why the built-in FTP client for Windows seldom works over the Internet.&lt;/p&gt;
&lt;p&gt;That wraps it up for today's blog post. &lt;span style="white-space: nowrap;"&gt;;-]&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421299" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/robert_mcmurray/archive/tags/IIS/">IIS</category><category domain="http://blogs.msdn.com/b/robert_mcmurray/archive/tags/FTP/">FTP</category></item><item><title>[Sample Of May 24th] WPF MVVM practice demo </title><link>http://blogs.msdn.com/b/codefx/archive/2013/05/25/sample-of-may-24th-wpf-mvvm-practice-demo.aspx</link><pubDate>Sat, 25 May 2013 03:28:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421293</guid><dc:creator>philip fu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 400px;" border="0" cellspacing="0" cellpadding="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="2" valign="top" width="10"&gt;&lt;a title="Homepage" href="http://1code.codeplex.com/wikipage?title=SampleOfTheDay"&gt;&lt;img style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="Homepage" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/7762.image_5F00_0428D9A8.png" alt="Homepage" width="261" height="126" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td rowspan="2" valign="top" width="378"&gt;&lt;a title="Microsoft All-In-One Code Framework" href="http://aka.ms/onecode"&gt;&lt;img style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="Microsoft All-In-One Code Framework" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/3531.image_5F00_04D18FD2.png" alt="image" width="250" height="263" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09/8625.24.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/126x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09/8625.24.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="10"&gt;&lt;a title="RSS" href="http://blogs.msdn.com/b/codefx/rss.aspx?tags=SampleOfTheDay"&gt;&lt;img style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="RSS Feed" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/0486.image_5F00_5CDE6AA5.png" alt="RSS Feed" width="126" height="126" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="background-color: #ffff00;"&gt;Sample Download : &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="background-color: #ffff00;"&gt;CS Version: &lt;a href="http://code.msdn.microsoft.com/CSWPFMVVMPractice-f8ef01da"&gt;http://code.msdn.microsoft.com/CSWPFMVVMPractice-f8ef01da&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="background-color: #ffff00;"&gt;VB Version: &lt;a href="http://code.msdn.microsoft.com/VBWPFMVVMPractice-370fd298"&gt;http://code.msdn.microsoft.com/VBWPFMVVMPractice-370fd298&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The sample demonstrates how to implement the MVVM pattern in a WPF application.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://aka.ms/samplebrowser"&gt;&lt;img title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/3240.image_5F00_693D1803.png" alt="image" width="191" height="144" align="right" border="0" /&gt;&lt;/a&gt;You can find more code samples that demonstrate the most typical programming scenarios by using &lt;a href="http://aka.ms/samplebrowser"&gt;Microsoft All-In-One Code Framework Sample Browser&lt;/a&gt; or &lt;a href="http://aka.ms/samplebrowservsx"&gt;Sample Browser Visual Studio extension&lt;/a&gt;. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please &lt;a href="http://www.microsoft.com/showcase/en/us/details/40015bbc-2ded-4aba-9613-2c5a47ee3084"&gt;watch the introduction video on Microsoft Showcase&lt;/a&gt;, or read the introduction on our homepage &lt;a href="http://1code.codeplex.com/"&gt;http://1code.codeplex.com/&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421293" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/codefx/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/codefx/archive/tags/SampleOfTheDay/">SampleOfTheDay</category><category domain="http://blogs.msdn.com/b/codefx/archive/tags/MVVM/">MVVM</category></item><item><title>Hello Dynamics SI World...</title><link>http://blogs.msdn.com/b/daxsi/archive/2013/05/24/hello-dynamics-si-world.aspx</link><pubDate>Sat, 25 May 2013 00:05:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421281</guid><dc:creator>surekota</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;My name is Suresh Kotapalle and I am an Engineer in Dynamics Ax&amp;nbsp;product team in Redmond working on shaping up the next version of Dynamics Ax.&lt;/p&gt;
&lt;p&gt;It's almost&amp;nbsp;5 years since I joined Microsoft Dynamics family and enjoyed delivering Ax2012 and Ax2012 R2 products. Last week I had an opportunity to deliver the partner training in Redmond campus and met quiet a few partners who are serving the SI space. I learnt a quiet a bit from the partners and realized that there is a great deal of enthusiasm from the partners to communicate with the product team and want to be play a role in shaping up the next version of the Ax product.&lt;/p&gt;
&lt;p&gt;I am opening up this channel to reach out to the partner/customer community in the service industries area to talk about existing SI capabilities in the product and also seek feedback in shaping the next version of the product.&lt;/p&gt;
&lt;p&gt;Happy Memorial Day and Enjoy the long week end..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421281" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/daxsi/archive/tags/Dynamics+SI/">Dynamics SI</category></item><item><title>Microsoft Enterprise Library 6 - Wave 2 Release</title><link>http://blogs.msdn.com/b/agile/archive/2013/05/24/microsoft-enterprise-library-6-wave-2-release.aspx</link><pubDate>Fri, 24 May 2013 22:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421277</guid><dc:creator>Grigori Melnik MSFT</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Last month we &lt;a href="http://aka.ms/el6announce"&gt;shipped&lt;/a&gt; the new versions of Microsoft Enterprise Library and Unity.&amp;nbsp;They've been very well received. Today we are pleased to add the following guidance assets to enhance the set of reusable components:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290917"&gt;Reference Implementation&lt;/a&gt;&lt;/strong&gt; (RI) &amp;ndash; an end-to-end sample application that showcases the use of various application blocks from Enterprise Library.&lt;!--StartFragment--&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Note the RI comes in 2 versions &amp;ndash; for EntLib v5.0 and for EntLib6. This was intentional as we have never produced an RI for v5.0 and by doing so we were also able to guide you through a migration process.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s highly recommended you review the installation guide packaged with the RI first.&lt;!--EndFragment--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=304198"&gt;Enterprise Library 6 binaries &amp;ndash; full set&lt;/a&gt;&lt;/strong&gt; (includes all binaries and doesn&amp;rsquo;t require any ports to be open to pull additional dependencies via NuGet) &amp;ndash; this is in response to the requests of the customers in constrained network environments.&lt;/li&gt;
&lt;li&gt;New &lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290920"&gt;Unity Developer&amp;rsquo;s Guide&lt;/a&gt;&lt;/strong&gt; with &lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=304199"&gt;code samples&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Updated &lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290904"&gt;Enterprise Library Developer&amp;rsquo;s Guide&lt;/a&gt;&lt;/strong&gt; (preview) with &lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=304200"&gt;code samples&lt;/a&gt;.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290918"&gt;Enterprise Library Quickstarts&lt;/a&gt;&lt;/strong&gt;, including:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Semantic Logging: Flush on Error Trigger.&lt;/li&gt;
&lt;li&gt;Semantic Logging: Alarm Flood Throttle.&lt;/li&gt;
&lt;li&gt;Reconfiguring Logging Application Block at runtime (via a verbosity setting in an appSetting in the configuration file).&lt;/li&gt;
&lt;li&gt;Reconfiguring Semantic Logging Application Block at runtime (via a service setting for a Windows Azure role).&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290919"&gt;Unity Quickstarts&lt;/a&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;StopLight showcases basic container usage such as type mapping and resolving with attributes.&lt;/li&gt;
&lt;li&gt;Event Broker showcases the use of a custom extension to wire up events instead of wiring them up through code.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Updated&lt;strong&gt; &lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=304201"&gt;Config tool VSIX package for Visual Studio 2012&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Addresses an issue of side-by-side editing of v5 and v6 solution properties if you have both installed .&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Updated&lt;strong&gt; &lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290901"&gt;Unity reference documentation&lt;/a&gt;&lt;/strong&gt; (preview).&lt;/li&gt;
&lt;li&gt;Updated&lt;strong&gt; &lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290901"&gt;Enterprise Library reference documentation&lt;/a&gt;&lt;/strong&gt; (preview).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As a reminder, we also have a &lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=290906"&gt;Migration Guide&lt;/a&gt;, which we shipped earlier, to help you move your app from using EntLib v5 to v6.&lt;/p&gt;
&lt;p&gt;We hope these additional materials will help you learn EntLib and Unity and get quickly up to speed in using them.&lt;/p&gt;
&lt;p&gt;In p&amp;amp;p we consider the written &lt;strong&gt;guidance that complements our code to be as important as the code itself&lt;/strong&gt;. We spend a lot of time and effort making sure that it&amp;rsquo;s technically accurate, as well as engaging to read. We appreciate your patience while we work on polishing and finalizing the developer&amp;rsquo;s guides and making them available as books (both printed and eBooks). We&amp;rsquo;ll gratefully accept your feedback on any of the above. We are also seeking EntLib and Unity users willing to share their stories as case studies to be included in the guides. If you are interested in contributing a short story, please contact me for details.&lt;/p&gt;
&lt;p&gt;Happy learning, happy experimenting, happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421277" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/agile/archive/tags/p_2600_amp_3B00_p/">p&amp;amp;p</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/EntLib/">EntLib</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/guide/">guide</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/Enterprise+Library/">Enterprise Library</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/Unity/">Unity</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/new+release/">new release</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/learnability/">learnability</category><category domain="http://blogs.msdn.com/b/agile/archive/tags/patterns+_2600_amp_3B00_+practices/">patterns &amp;amp; practices</category></item><item><title>Maintenance on Tuesday 5/28/13 13:00 - 24:00 UTC - Scheduled</title><link>http://blogs.msdn.com/b/tfservice/archive/2013/05/24/maintenance-on-tuesday-5-28-13-13-00-24-00-utc-scheduled.aspx</link><pubDate>Fri, 24 May 2013 21:57:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421274</guid><dc:creator>Team Foundation Service Team</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;We’ll be shipping another update to our Team Foundation Service on Tuesday 5/28/13 13:00 –&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;24:00 UTC.&amp;#160; We will disable new account creation in the early stages.&amp;#160;&amp;#160; There is the potential that some builds could take a bit longer to get through the queue to complete.&lt;/p&gt;  &lt;p&gt;Keep checking back for updates.&lt;/p&gt;  &lt;p&gt;Thank you, &lt;/p&gt;  &lt;p&gt;Erin Dormier&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421274" width="1" height="1"&gt;</description></item><item><title>Side by Side Versioning with a Web-Hosted Xamlx Workflow Service video and download on Code Gallery</title><link>http://blogs.msdn.com/b/workflowteam/archive/2013/05/24/side-by-side-versioning-with-a-web-hosted-xamlx-workflow-service-video-and-download-on-code-gallery.aspx</link><pubDate>Fri, 24 May 2013 21:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421272</guid><dc:creator>Steve Danielson</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I have created a video walkthrough of implementing side-by-side versioning with a web-hosted xamlx workflow service here:&lt;/p&gt;
&lt;p&gt;&lt;a title="Side by Side Versioning with a Web-Hosted Xamlx Workflow Service" href="http://aka.ms/WFSH_Xamlx_SxS"&gt;Side by Side Versioning with a Web-Hosted Xamlx Workflow Service&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This project provides a demo of implementing side-by-side versioning with a web-hosted xamlx workflow service, as described in the accompanying MSDN topic &lt;a title="Side by Side Versioning in WorkflowServiceHost" href="http://msdn.microsoft.com/en-us/library/hh314045.aspx"&gt; Side by Side Versioning in WorkflowServiceHost&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.activities.workflowservicehost.aspx"&gt;WorkflowServiceHost&lt;/a&gt; side-by-side versioning introduced in .NET Framework 4.5 provides the capability to host multiple versions of a workflow service on a single endpoint. The side-by-side functionality provided allows a workflow service to be configured so that new instances of the workflow service are created using the new workflow definition, while running instances complete using the existing definition. It is very easy to configure and implement, and this code gallery project provides a running sample and a video walkthrough that demonstrates how to do it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421272" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/workflowteam/archive/tags/WF+4-5/">WF 4.5</category><category domain="http://blogs.msdn.com/b/workflowteam/archive/tags/Workflow+4-5/">Workflow 4.5</category><category domain="http://blogs.msdn.com/b/workflowteam/archive/tags/WorkflowServiceHost/">WorkflowServiceHost</category></item><item><title>Proof of Concept to test scalability of stream data processing in Azure.</title><link>http://blogs.msdn.com/b/neerajjoshi/archive/2013/05/24/proof-of-concept-to-test-scalability-of-stream-data-processing-in-azure.aspx</link><pubDate>Fri, 24 May 2013 21:14:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421267</guid><dc:creator>Neeraj A Joshi</dc:creator><slash:comments>0</slash:comments><description>&lt;h5&gt;Co-authors: Neeraj Joshi, Jason Short, Ercenk Keresteci&lt;/h5&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Toc357155313"&gt;Introduction&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;The Developer Platform Evangelism team has been engaged with partners that have solutions on instrumentation requiring a very high rate of data ingestion. This Proof of Concept (PoC) is designed with proving the scalability of Windows Azure for processing the data. &lt;/p&gt;  &lt;h3&gt;&lt;a name="_Toc357155314"&gt;Background&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Currently all of the instrumentation solution providers typically have a solution like this:&lt;/p&gt;  &lt;p&gt;· Each sensor capable recording data at specified time interval.&lt;/p&gt;  &lt;p&gt;· Each unit (Secondary Instance) capable of capturing different sensor data streams&lt;/p&gt;  &lt;p&gt;· Each central instance (Primary instance) capable of receiving data from 100s of Tier2 with over 1000 sensors with data streams&lt;/p&gt;  &lt;p&gt;· Each tenant (or company) may have multiple Secondary tiers depending on factors like Geo locations, business partitioning etc.&lt;/p&gt;  &lt;p&gt;Finally each Tier1 or Tenant needs to process the data streams and then do some business logic on top of those and store them in an accessible fashion for reporting. The output is most certainly grouped by the sensor tags. Reporting on that data will take place after that.&lt;/p&gt;  &lt;p&gt;We have been asked whether Windows Azure is really capable of the current scale of on premise solutions. The next order is whether we can even support a multi-tenant solution with each tenant doing such operations.&lt;/p&gt;  &lt;p&gt;We were able to deconstruct the PoC into three projects:&lt;/p&gt;  &lt;p&gt;1. Ingestion: To test scalability to copy the data streams to Azure &lt;/p&gt;  &lt;p&gt;2. Data Processing: Assume that data is there in input blobs and process in worker role and then index the data.&lt;/p&gt;  &lt;p&gt;3. Reporting&lt;/p&gt;  &lt;p&gt;An earlier PoC was completed to demonstrate the first part i.e. ingestion of data. This PoC is targeted specifically to demonstrate the rate of Data Processing. &lt;/p&gt;  &lt;h3&gt;&lt;a name="_Toc357155315"&gt;PoC Setup &amp;amp; Architecture&lt;/a&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;a name="_Toc357155316"&gt;Diagram&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/2744.image002_5F00_03A3F2CC.png"&gt;&lt;img title="image002" style="border: 0px currentcolor; display: inline;" border="0" alt="image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/7043.image002_5F00_thumb_5F00_6388E60E.png" width="456" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;&lt;a name="_Toc357155317"&gt;Input&lt;/a&gt;&lt;/h4&gt;  &lt;h6&gt;Storage Accounts&lt;/h6&gt;  &lt;p&gt;For the purposes of this PoC we will assume that the data is pre-generated in one storage account. We will have functionality to pull the data from multiple storage accounts should the need arise for more performance. &lt;/p&gt;  &lt;p&gt;Conceptually this could also be used as an isolation boundary especially in cases of very large tenants who might want to own their own data in their own cloud subscription. &lt;/p&gt;  &lt;h6&gt;Datasets&lt;/h6&gt;  &lt;p&gt;Each dataset is a set of data potentially belonging to a tenant. In the current PoC the dataset is implemented as a container containing individual files.&lt;/p&gt;  &lt;h6&gt;Files&lt;/h6&gt;  &lt;p&gt;The input file contains the actual data. Each line will contain one data point namely the GUID representing the tagID, Timestamp and Value. Currently our input generator randomly generates an input file from 1MB to 4MB containing the specified amount of distinct tags. &lt;/p&gt;  &lt;h4&gt;&lt;a name="_Toc357155318"&gt;Output&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;Output is stored in files on a per tag basis. To avoid contention we implemented a series of optimizations namely - For every tag, each thread on every instance will write a separate file. Total number of threads is optimally determined by the Task Parallel Library. Every line in the file will contain a timestamp and a value of that tag. &lt;/p&gt;  &lt;p&gt;Note this is the most basic form of storing output data. There are many other ways of compressing the tag values especially for those that change infrequently.&lt;/p&gt;  &lt;p&gt;Currently the files are stored in the same dataset they are being processed.&lt;/p&gt;  &lt;p&gt;e.g. 05052013055816/302fbaac-0107-438a-84d9-252ea87ec34f-088d6f8e29084ac78464db1419c29044-DataMorph.Processing.Worker_IN_1-0.bin&lt;/p&gt;  &lt;h4&gt;&lt;a name="_Toc357155319"&gt;Data Processing&lt;/a&gt;&lt;/h4&gt;  &lt;h6&gt;Queues&lt;/h6&gt;  &lt;p&gt;Currently we have two queues datamorphworkqueue and datamorphprogressqueue.&lt;/p&gt;  &lt;p&gt;The first queue indicates the total amount of work to be done and gets populated as soon as we start the run. The second queue is not necessary for processing logic. The web role we display the UI listens on this queue to post updates back to the browser using SignalR.&lt;/p&gt;  &lt;h6&gt;Worker Roles&lt;/h6&gt;  &lt;p&gt;1-n number of worker roles are spun up to process in the inbound data from the queue. The number of threads within each worker role is optimally determined by the Task Parallel Library (TPL). &lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a name="_Toc357155320"&gt;Results&lt;/a&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;a name="_Toc357155321"&gt;Metrics:&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;Before we talk about the numbers, here is our data collection mechanism.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/8623.image003_5F00_2E7C56DE.png"&gt;&lt;img title="image003" style="border: 0px currentcolor; display: inline;" border="0" alt="image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/6560.image003_5F00_thumb_5F00_3C4E9CD9.png" width="396" height="271" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0" width="275" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="154"&gt;         &lt;p&gt;&lt;b&gt;Metric &lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p&gt;&lt;b&gt;Calculation&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;         &lt;p&gt;&lt;b&gt;Total Processing Time&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p&gt;T8 – T1&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;         &lt;p&gt;&lt;b&gt;Read Time&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p&gt;T3 – T2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;         &lt;p&gt;&lt;b&gt;Parse Time&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p&gt;T5 – T4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="154"&gt;         &lt;p&gt;&lt;b&gt;Write Time&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="119"&gt;         &lt;p&gt;T7 – T6&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;&lt;a name="_Toc357155322"&gt;Increasing Instances (Constant Total Cores)&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;In this set of experiment, we kept the total number of cores constant at 64 and controlled for the number of instances.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/1602.image005_5F00_6E463D63.png"&gt;&lt;img title="image005" style="display: inline;" border="0" alt="image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/1373.image005_5F00_thumb_5F00_7C18835E.png" width="455" height="275" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;Summary:&lt;/h6&gt;  &lt;p&gt;Performance goes up we increase the number of instances even though total cores remain the same. &lt;/p&gt;  &lt;p&gt;Conversely, on an individual basis the average read and write times degrade as the instances increase. This could be because for the 8-core systems we are multiplexing the IO whereas for the single instance cases we have to setup/teardown the IO path more often. However, this time gets masked because of the asynchronous scale-out aspect of the workload and the fact that the &lt;i&gt;Parse time has decreased significantly. &lt;/i&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="_Toc357155323"&gt;Increasing Roles &amp;amp; Total cores (Constant cores per Role)&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;In this experiment we kept 1 core per instance and controlled for the total number of instances. Thus we increased the total number of cores to observe the performance.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/5415.image007_5F00_2E1023E9.png"&gt;&lt;img title="image007" style="display: inline;" border="0" alt="image007" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-59-66-metablogapi/3362.image007_5F00_thumb_5F00_0DF5172C.png" width="463" height="279" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h6&gt;Summary&lt;/h6&gt;  &lt;p&gt;The performance increases as we increase the total number of cores. However, the tags per sec do not increase linearly as the cores increase with total instances. The scale factor is significantly less than 2 (1.55) for 32 instances and 1.47 for 64 instances.&lt;/p&gt;  &lt;p&gt;This can be attributed to the workload and the fact that we are doing very little work. So just adding roles and cores is increasing our Read &amp;amp; Write times &lt;i&gt;while keeping the Parse Time constant&lt;/i&gt;. &lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a name="_Toc357155324"&gt;Conclusion&lt;/a&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;a name="_Toc357155325"&gt;Scale-out pattern works on Azure&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;Since the highest system on Azure is an 8-core box, the scale-up performance will hit a bottleneck very fast. The only way to achieve greater performance is through a scale-out architecture. The items below should be considered when designing an architectural pattern to process streaming data on Azure:&lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155326"&gt;Avoid contention as much as possible&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;A key design factor into achieving scale out is avoiding contention. In our setup there is contention in three different places: reading the input, parsing the data and writing the output. &lt;/p&gt;  &lt;p&gt;Input consists of read-only files and there is no contention in their processing by the Worker role.&lt;/p&gt;  &lt;p&gt;Parsing the data is a specific business logic function which may or may not have contention. In our case, we assumed that the tag data read can be processed by the same thread without any other resource constraint. &lt;/p&gt;  &lt;p&gt;Finally the key optimization is in writing the output. We specifically implemented some key assumptions which will avoid contention while writing the data:&lt;/p&gt;  &lt;p&gt;· We create a file per tag per thread per instance of the worker role. So once the thread picks up the data from the input file, it will own the files related to the tags it processes. There is literally no contention.&lt;/p&gt;  &lt;p&gt;· We also index the data in Azure Table so that we know which file contains which data point. Azure Table will only contain the file and the tag along with the timestamp.&lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155327"&gt;Use Queues to optimize processing&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;Queues are used in this pattern to list the work that remains to be done. The worker roles will poll the queue and then process the input files based on the messages in the queue. The messages will be deleted by the worker role only after it has written to the output file. &lt;/p&gt;  &lt;p&gt;In general, use one queue and multiple processors to achieve highest throughput is an efficient way to process multiple requests.&lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155328"&gt;Asynchronous Processing&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;This loosely-coupled pattern helps with both contention and scale-out of resources. In our case the reading and writing are done by worker roles who are not dependent on each other as well as on the order of processing. They will process the work from the queue and update the queue &lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155329"&gt;Resiliency&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;All of the data in Azure gets stored in at least 3 copies (For local redundant storage) and 6 copies across two datacenters (for Geo-Redundant storage). This assures that we will not lose either the input or output in event of a disaster.&lt;/p&gt;  &lt;p&gt;If any role goes down, the message in the queue doesn’t get deleted and it will be picked up by the other instances as a part of the next batch of messages. &lt;/p&gt;  &lt;h4&gt;&lt;a name="_Toc357155330"&gt;Further customization for optimizing a specific workload&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;Our current project was a Proof of Concept. For real applications there are multiple customizations which would need to be done to fit their specific requirements. &lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155331"&gt;Batch Size&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;In our implementation we processed messages in batches of 10. This has a direct impact on memory as well as processing time for an instance. Too few batch sizes would increase the impact of the time to retrieve &amp;amp; process a message, and too large batch size would potentially starve other role instances. &lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155332"&gt;Memory used&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;If the actual business logic in the worker role is dependent on memory, then the code will need to change to accommodate that. This could be implemented by reducing batch size, processing tags in a different way.&lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155333"&gt;Tag compression and decompression&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;Our input data as well as the output data is the simplest implementation of streaming sensor data. Almost all of the available sensor data collection systems utilize some compression. The compression can be significant if the data doesn’t change that often. This can be leveraged to project an even higher number of tags per second. &lt;/p&gt;  &lt;h5&gt;&lt;a name="_Toc357155334"&gt;Tenant prioritization&lt;/a&gt;&lt;/h5&gt;  &lt;p&gt;Currently we treat all tenants (represented as Datasets) equally. This could be easily modified to prioritize tenants or a set of tenants.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421267" width="1" height="1"&gt;</description></item><item><title>Friday Five – May 24, 2013</title><link>http://blogs.msdn.com/b/mvpawardprogram/archive/2013/05/24/friday-five-may-24-2013.aspx</link><pubDate>Fri, 24 May 2013 20:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10420746</guid><dc:creator>MVP Award Program</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;1. &lt;a href="http://www.aidanfinn.com/?p=14547"&gt;A Converged Networks Design For Hyper-V On SMB 3.0 Storage With RDMA (SMB Direct)&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;By Virtual Machine MVP Aidan Finn – &lt;a href="https://twitter.com/joe_elway"&gt;@joe_elway&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2. &lt;a href="http://www.atlaspm.com/toms-tutorials-for-excel/toms-tutorials-for-excel-using-data-validation-to-disallow-entry-of-item-in-a-list/"&gt;Tom’s Tutorials For Excel: Using Data Validation to Disallow Entry of Item in a List&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;By Excel MVP Tom Urtis – &lt;a href="https://twitter.com/TomUrtis"&gt;@TomUrtis&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;3. &lt;a href="http://www.slipstick.com/outlook-developer/create-task-outlookcom-local-tasks-folder/"&gt;Create tasks for outlook.com and a second Tasks folder&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;By Outlook MVP Diane Poremsky – &lt;a href="http://www.twitter.com/outlooktips"&gt;@outlooktips&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;4. &lt;a href="http://www.benhblog.com/2013/05/c-developers-anonymous-defending-c-in.html"&gt;C# Developer’s Anonymous (Defending C# in a JavaScript World)&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;By Visual C# MVP Ben Hoelting – &lt;a href="http://www.twitter.com/benhnet"&gt;@benhnet&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;5. &lt;a href="http://garvis.ca/2013/05/22/step-by-step-configuring-the-microsoft-iscsi-software-target-as-a-storage-device-for-system-center-vmm/"&gt;Step-by-Step: Configuring the Microsoft iSCSI Software Target as a Storage Device for System Center VMM&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;By Virtual Machine MVP Mitch Garvis – &lt;a href="http://www.twitter.com/MGarvis"&gt;@MGarvis&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10420746" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/C_2300_/">C#</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Excel/">Excel</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Visual+C_2300_/">Visual C#</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/MVP+Award+Program/">MVP Award Program</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Outlook/">Outlook</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Mitch+Garvis/">Mitch Garvis</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Diane+Poremsky/">Diane Poremsky</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/MVP+Award/">MVP Award</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Virtual+Machine/">Virtual Machine</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/MVP+Friday+Five/">MVP Friday Five</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Friday+Five/">Friday Five</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Tom+Urtis/">Tom Urtis</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/aidan+finn/">aidan finn</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Outlook-com/">Outlook.com</category><category domain="http://blogs.msdn.com/b/mvpawardprogram/archive/tags/Ben+Hoelting/">Ben Hoelting</category></item><item><title>Top 10 Microsoft Developer Links for Friday, May 24th</title><link>http://blogs.msdn.com/b/robcaron/archive/2013/05/24/top-10-microsoft-developer-links-for-friday-may-24th.aspx</link><pubDate>Fri, 24 May 2013 20:30:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421259</guid><dc:creator>RobCaron</dc:creator><slash:comments>0</slash:comments><description>&lt;ol&gt;
&lt;li&gt;Mark DeFalco: &lt;a href="http://bit.ly/16ejp6i"&gt;Stay Connected with the Ch9 Events App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Scott Hanselman: &lt;a href="http://bit.ly/13QC7tp"&gt;JavaScript is Assembler and that's OK.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rohan Thakkar: &lt;a href="http://bit.ly/16T5wd6"&gt;Windows Phone 8 XAML LongListSelector&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Willy-P. Schaub: &lt;a href="http://bit.ly/1334Oo6"&gt;Let us talk about &amp;ldquo;Quality Bars&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Practical .NET: &lt;a href="http://bit.ly/10RjOma"&gt;Use Predicate Methods to Stop Writing For...Each Loops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bruno Terkaly: &lt;a href="http://bit.ly/1334Uw1"&gt;Fundamentals of Good Gaming &amp;ndash; Some general guidelines &amp;ndash; Windows 8 App Factor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Matt Sampson: &lt;a href="http://bit.ly/13POeXL"&gt;OData Apps in Update 2 - Querying Data from Stack Overflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kris NVS: &lt;a href="http://bit.ly/10pod4f"&gt;The Tale of writing Good Code&amp;hellip;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LightSwitch Help Website: &lt;a href="http://bit.ly/10sYDYL"&gt;Understanding The LightSwitch HTML Client Visual Collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Eric Lippert: &lt;a href="http://bit.ly/18bPjjy"&gt;The mystery of the inserted method&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="PostCounter"&gt;1809&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421259" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/ALM/">ALM</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/Agile/">Agile</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/Channel+9/">Channel 9</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/JavaScript/">JavaScript</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/HTML5/">HTML5</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/XAML/">XAML</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/Coding/">Coding</category><category domain="http://blogs.msdn.com/b/robcaron/archive/tags/Game+Development/">Game Development</category></item><item><title>Visualisation des données en 3D avec « GeoFlow » pour Microsoft Excel 2013</title><link>http://blogs.msdn.com/b/ogdifrance/archive/2013/05/24/visualisation-des-donn-233-es-en-3d-avec-171-geoflow-187-pour-microsoft-excel-2013.aspx</link><pubDate>Fri, 24 May 2013 20:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421256</guid><dc:creator>Philippe Beraud - MSFT</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;La visualisation de donn&amp;eacute;es &lt;a href="https://twitter.com/search?q=%23dataviz"&gt;#datawiz&lt;/a&gt; est une constituante importante de l&amp;rsquo;Open Data pour &amp;laquo; faire jaillir &amp;raquo; l&amp;rsquo;information. Un &lt;a href="http://blogs.msdn.com/b/ogdifrance/archive/2013/04/24/ogdi-datalab-et-l-extension-data-explorer-pour-microsoft-excel-2013.aspx"&gt;pr&amp;eacute;c&amp;eacute;dent billet&lt;/a&gt; s&amp;rsquo;int&amp;eacute;ressait &amp;agrave; ce propos &amp;agrave; l&amp;rsquo;extension DataExplorer pour Microsoft Excel 2013. Histoire d&amp;rsquo;aller encore un peu plus loin, nous abordons dans ce billet une autre extension de Microsoft Excel 2013, &amp;agrave; savoir &amp;laquo; GeoFlow &amp;raquo;.&lt;/p&gt;
&lt;p align="justify"&gt;&amp;laquo; GeoFlow &amp;raquo; (nom de code du projet) est une nouvelle extension de visualisation de donn&amp;eacute;es en 3D et de narration qui fournit une m&amp;eacute;thode puissante simple d&amp;rsquo;appr&amp;eacute;hension pour afficher, explorer et interagir avec des donn&amp;eacute;es g&amp;eacute;ographiques et le cas &amp;eacute;ch&amp;eacute;ant &amp;eacute;galement chronologiques (temporelles), permettant des d&amp;eacute;couvertes dans les donn&amp;eacute;es qui pourraient &amp;ecirc;tre difficiles &amp;agrave; identifier dans les tableaux 2D traditionnels et les graphiques. Avec &amp;laquo; Geoflow &amp;raquo;, vous pouvez tracer jusqu'&amp;agrave; un million de lignes de donn&amp;eacute;es en 3D sur une carte Bing Maps, voir comment les donn&amp;eacute;es &amp;eacute;voluent dans le temps et partager avec d&amp;rsquo;autres vos d&amp;eacute;couvertes &amp;agrave; travers de belles captures d'&amp;eacute;cran et des visites guid&amp;eacute;es cin&amp;eacute;matographiques.&lt;/p&gt;
&lt;p align="justify"&gt;Pour de plus amples informations sur &amp;laquo; GeoFlow &amp;raquo;, nous vous invitons &amp;agrave; consulter la page Facebook d&amp;eacute;di&amp;eacute; : &lt;a title="https://www.facebook.com/GeoFlowForExcel" href="https://www.facebook.com/GeoFlowForExcel"&gt;https://www.facebook.com/GeoFlowForExcel&lt;/a&gt;.&lt;/p&gt;
&lt;p align="justify"&gt;Vous pouvez t&amp;eacute;l&amp;eacute;charger l&amp;rsquo;extension &amp;laquo; GeoFlow &amp;raquo; depuis le Centre de t&amp;eacute;l&amp;eacute;chargement Microsoft &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38395"&gt;ici&lt;/a&gt;. T&amp;eacute;l&amp;eacute;chargez le fichier &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38395"&gt;GeoFlow Preview For Excel 2013.exe&lt;/a&gt; et ex&amp;eacute;cutez ce dernier. Il ne vous reste plus qu&amp;rsquo;&amp;agrave; suivre les instructions de l&amp;rsquo;assistant d&amp;rsquo;installation.&lt;/p&gt;
&lt;p align="justify"&gt;Une fois l&amp;rsquo;extension install&amp;eacute;e, vous acc&amp;eacute;dez aux fonctionnalit&amp;eacute;s de &amp;laquo; GeoFlow &amp;raquo; au sein de Microsoft Excel 2013 depuis l&amp;rsquo;onglet &lt;strong&gt;INSERT&lt;/strong&gt; du Ruban Office via le bouton&lt;strong&gt; Maps &lt;/strong&gt;du groupe de commande &lt;strong&gt;GeoFlow&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/3173.image_5F00_51B89BDF.png"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/4527.image_5F00_thumb_5F00_0F65839C.png" alt="image" width="550" height="74" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Les &amp;laquo; pr&amp;eacute;sentations &amp;raquo; &amp;eacute;tant ainsi faites, ce billet se propose de repartir l&amp;agrave; o&amp;ugrave; le &lt;a href="http://blogs.msdn.com/b/ogdifrance/archive/2013/04/24/ogdi-datalab-et-l-extension-data-explorer-pour-microsoft-excel-2013.aspx"&gt;pr&amp;eacute;c&amp;eacute;dent billet&lt;/a&gt; vous a &amp;laquo; laiss&amp;eacute; &amp;raquo;. Ce billet constitue en quelques sortes une seconde partie.&lt;/p&gt;
&lt;p align="justify"&gt;Ainsi, vous avez agr&amp;eacute;g&amp;eacute; par le biais de l&amp;rsquo;extension Data Explorer, sur le th&amp;egrave;me &amp;laquo; les communes fran&amp;ccedil;aises &amp;raquo;, diff&amp;eacute;rentes sources de donn&amp;eacute;es, &amp;agrave; savoir des donn&amp;eacute;es provenant d&amp;rsquo;un flux OData (via la plateforme de publication de donn&amp;eacute;es ouvertes OGDI DataLab) et des donn&amp;eacute;es compl&amp;eacute;mentaires provenant directement d&amp;rsquo;Internet. PowerView vous a ensuite permis de visualiser les donn&amp;eacute;es r&amp;eacute;sultantes sous forme de diagrammes 2D affich&amp;eacute;s sur un tableau de bord.&lt;/p&gt;
&lt;p align="justify"&gt;Nous allons nous int&amp;eacute;resser ici &amp;agrave; la visualisation en 3D de ces donn&amp;eacute;es sur une carte g&amp;eacute;ographique. Pour cela, notre jeu de donn&amp;eacute;es doit poss&amp;eacute;der des donn&amp;eacute;es localis&amp;eacute;es (avec des coordonn&amp;eacute;es g&amp;eacute;ographiques, une adresse, un nom de ville). &amp;Ccedil;a tombe bien : notre analyse pr&amp;eacute;c&amp;eacute;dente portait sur le nombre d&amp;rsquo;habitants de chaque d&amp;eacute;partement fran&amp;ccedil;ais. Qui dit d&amp;eacute;partement, dit aussi coordonn&amp;eacute;es spatiales.&lt;/p&gt;
&lt;p align="justify"&gt;C&amp;rsquo;est parti !!&lt;/p&gt;
&lt;h1&gt;Etape 1 : Prise en main de &amp;laquo; GeoFlow &amp;raquo;&lt;/h1&gt;
&lt;p align="justify"&gt;Commencez par t&amp;eacute;l&amp;eacute;charger le fichier Data_Explorer.xlsx issu du tutoriel pr&amp;eacute;c&amp;eacute;dent propos&amp;eacute; (&amp;eacute;galement) en pi&amp;egrave;ce jointe de ce billet. (Allez pour cela tout en bas du billet), ou si vous pr&amp;eacute;f&amp;eacute;rez, suivez les &amp;eacute;tapes de celui-ci jusqu&amp;rsquo;&amp;agrave; l&amp;rsquo;&amp;eacute;tape 3 au minimum.&lt;/p&gt;
&lt;p align="justify"&gt;Ouvrez le fichier Data_Explorer.xlsx dans Microsoft Excel 2013, puis s&amp;eacute;lectionnez la feuille de calcul nomm&amp;eacute;e &lt;strong&gt;Final&lt;/strong&gt;. Pour ce faire, cliquez sur l&amp;rsquo;onglet nomm&amp;eacute; &lt;strong&gt;Final&lt;/strong&gt; en bas de l&amp;rsquo;interface d&amp;rsquo;Excel.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/4530.clip_5F00_image002_5F00_66E6A187.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/0247.clip_5F00_image002_5F00_thumb_5F00_21CDD451.jpg" alt="clip_image002" width="371" height="31" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Cette feuille repr&amp;eacute;sente le tableau r&amp;eacute;sultant de la commande &lt;strong&gt;Merge&lt;/strong&gt; de DataExplorer. Comme mentionn&amp;eacute; ci-avant, cette commande a &amp;eacute;t&amp;eacute; appliqu&amp;eacute;e &amp;agrave; deux sources de donn&amp;eacute;es, la premi&amp;egrave;re venant de l&amp;rsquo;instance de test OGDI DataLab mise &amp;agrave; disposition par Microsoft France &lt;a href="http://ogdifrance.cloudapp.net:8080/v1/frOpenData/Communes"&gt;ici&lt;/a&gt;, avec des informations sur les 36 000 communes de France, et la seconde en provenance de &lt;a href="http://fr.wikipedia.org/wiki/Liste_des_d%C3%A9partements_fran%C3%A7ais"&gt;Wikip&amp;eacute;dia&lt;/a&gt; proposant la liste des d&amp;eacute;partements fran&amp;ccedil;ais avec leur nom, la r&amp;eacute;gion associ&amp;eacute;e, et le num&amp;eacute;ro.&lt;/p&gt;
&lt;p align="justify"&gt;S&amp;eacute;lectionnez l&amp;rsquo;onglet &lt;strong&gt;INSERT&lt;/strong&gt; du Ruban Office et cliquez sur le bouton &lt;strong&gt;Map&lt;/strong&gt; du groupe de commande &lt;strong&gt;GeoFlow&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/2656.clip_5F00_image004_5F00_20F56E67.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/1526.clip_5F00_image004_5F00_thumb_5F00_71C382CF.jpg" alt="clip_image004" width="549" height="74" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Un menu s&amp;rsquo;affiche.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/3704.clip_5F00_image006_5F00_174D0031.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image006" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/0083.clip_5F00_image006_5F00_thumb_5F00_0F555DCF.jpg" alt="clip_image006" width="137" height="78" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Cliquez sur &lt;strong&gt;Launch GeoFlow&lt;/strong&gt;. Une bo&amp;icirc;te de dialogue s&amp;rsquo;ouvre, cliquez sur &lt;strong&gt;+&lt;/strong&gt; &lt;strong&gt;New Tour&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/4152.clip_5F00_image008_5F00_3C6A4A9D.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/8054.clip_5F00_image008_5F00_thumb_5F00_26A06240.jpg" alt="clip_image008" width="194" height="265" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Une nouvelle fen&amp;ecirc;tre s&amp;rsquo;ouvre alors, chargeant automatiquement les donn&amp;eacute;es en provenance de la feuille Excel courante dans le moteur de requ&amp;ecirc;te &amp;laquo; GeoFlow &amp;raquo;. Vous devez obtenir le r&amp;eacute;sultat suivant :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/5102.clip_5F00_image010_5F00_6CB11F53.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image010" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/1854.clip_5F00_image010_5F00_thumb_5F00_2ACA3A05.jpg" alt="clip_image010" width="571" height="398" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Comme vous pouvez le constater, l'interface est relativement &amp;eacute;pur&amp;eacute;e avec un Ruban Office, un globe au centre sur lequel seront affich&amp;eacute;s nos diagrammes plus tard et deux panneaux &lt;strong&gt;Tour Editor&lt;/strong&gt; et &lt;strong&gt;Task Panel&lt;/strong&gt; de part et d&amp;rsquo;autre de la carte.&lt;/p&gt;
&lt;p align="justify"&gt;Pour continuer votre &amp;laquo; petit tour du propri&amp;eacute;taire &amp;raquo;, le Ruban Office propose les commandes suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Themes&lt;/strong&gt; : Changement du th&amp;egrave;me de la carte (en mode fonc&amp;eacute;, en mode photographie spatiale, etc.).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Map Labels&lt;/strong&gt; : Activation de l&amp;rsquo;affichage des noms des villes sur la carte.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Data Shape&lt;/strong&gt; : Ajout de formes (rond, carr&amp;eacute;, etc.) personnalis&amp;eacute;es.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Add Scene &lt;/strong&gt;: Ajout d&amp;rsquo;une nouvelle s&amp;eacute;quence anim&amp;eacute;e (visible dans le panneau &lt;strong&gt;Tour Editor&lt;/strong&gt; &amp;agrave; gauche).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Play Tour &lt;/strong&gt;: D&amp;eacute;roulement de l&amp;rsquo;enchainement de toutes les s&amp;eacute;quences anim&amp;eacute;es, avec les transitions entre chacune d&amp;rsquo;elles.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Chart&lt;/strong&gt; : Ajout par-dessus la carte d&amp;rsquo;un diagramme Excel, utilisant les donn&amp;eacute;es de la colonne s&amp;eacute;lectionn&amp;eacute;e dans le panneau de droite.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Show All Legends&lt;/strong&gt; : (R&amp;eacute;)affiche des l&amp;eacute;gendes supprim&amp;eacute;es de la carte.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;TextBox &lt;/strong&gt;: Ajout par-dessus le diagramme d&amp;rsquo;une &amp;eacute;tiquette &amp;agrave; l&amp;rsquo;endroit voulu.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Tour Editor&lt;/strong&gt; : Affiche le panneau &amp;eacute;ponyme &amp;agrave; gauche.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Task Panel &lt;/strong&gt;: Affiche le panneau &amp;eacute;ponyme &amp;agrave; droite.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Add Layer&lt;/strong&gt; : Ajout d&amp;rsquo;un calque graphique (visible et param&amp;eacute;trable dans le panneau &lt;strong&gt;Task Panel&lt;/strong&gt;) avec laquelle nous allons pouvoir afficher nos donn&amp;eacute;es de la fa&amp;ccedil;on souhait&amp;eacute;e.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Find Location &lt;/strong&gt;: Recherche sur la carte d&amp;rsquo;une adresse en utilisant l&amp;rsquo;API Bing Map.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;strong&gt;Copy Screen &lt;/strong&gt;: Prise d&amp;rsquo;une capture d&amp;rsquo;&amp;eacute;cran de la partie centrale qui sera mise dans le presse-papiers.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;Pour les besoins du tutoriel, nous nous positionnons sur la France &amp;agrave; l&amp;rsquo;aide des boutons de navigation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/6562.clip_5F00_image012_5F00_21FA31B9.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/7242.clip_5F00_image012_5F00_thumb_5F00_2121CBCF.jpg" alt="clip_image012" width="80" height="100" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Etape 2 : Filtrage des donn&amp;eacute;es&lt;/h1&gt;
&lt;p align="justify"&gt;Commen&amp;ccedil;ons maintenant par choisir ce que nous voulons afficher sur la carte comme information.&lt;/p&gt;
&lt;p align="justify"&gt;Nous vous proposons de mettre en &amp;eacute;vidence pour les besoins de ce tutoriel le nombre d&amp;rsquo;habitant que poss&amp;egrave;de chaque d&amp;eacute;partement fran&amp;ccedil;ais. Pourquoi avoir choisi l&amp;rsquo;&amp;eacute;chelle du d&amp;eacute;partement ? Elle n&amp;rsquo;est dans la pratique ni trop grande et ni trop petite, un juste milieu pour afficher la carte de France avec un seuil acceptable en terme de nombre de donn&amp;eacute;es affich&amp;eacute;es et suffisamment synth&amp;eacute;tiques.&lt;/p&gt;
&lt;p align="justify"&gt;Les colonnes de notre tableau Excel qui vont vous int&amp;eacute;resser sont donc le d&amp;eacute;partement (colonne&lt;em&gt; NewColumn.Departement&lt;/em&gt;) et la population (colonne &lt;em&gt;popu&lt;/em&gt;) qui est exprim&amp;eacute;e par unit&amp;eacute; de cent.&lt;/p&gt;
&lt;p align="justify"&gt;Dans le panneau &lt;strong&gt;Task Panel&lt;/strong&gt; &amp;agrave; droite, vous devez voir une liste d&amp;eacute;filante plac&amp;eacute;e sur le seul &amp;eacute;l&amp;eacute;ment pr&amp;eacute;sent &lt;strong&gt;Layer 1&lt;/strong&gt;.&lt;/p&gt;
&lt;p align="justify"&gt;En dessous, sont list&amp;eacute;s les colonnes existantes dans le tableau nomm&amp;eacute; &lt;strong&gt;Table21&lt;/strong&gt; (qui provient de la feuille Excel). Au sein de cette liste, choisissez &lt;strong&gt;NewColumn.Departement&lt;/strong&gt;, puis dessous dans la zone &lt;strong&gt;GEOGRAPHY&lt;/strong&gt;, d&amp;eacute;roulez la liste en lien avec la colonne et s&amp;eacute;lectionnez &lt;strong&gt;State/Province&lt;/strong&gt;.&lt;/p&gt;
&lt;p align="justify"&gt;Cliquez sur &lt;strong&gt;Map It&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/1321.clip_5F00_image014_5F00_353AE858.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image014" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/5086.clip_5F00_image014_5F00_thumb_5F00_7EE9C048.jpg" alt="clip_image014" width="189" height="464" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;laquo; GeoFlow &amp;raquo; se charge alors de g&amp;eacute;o-localiser les informations de notre jeu de donn&amp;eacute;es en utilisant le service Bing Map. Ce dernier agr&amp;egrave;ge les informations par d&amp;eacute;partements (c&amp;rsquo;est &amp;agrave; dire les regroupe ensemble). Tout ceci est transparent. Apparaissent alors des carr&amp;eacute;s rouges sur la carte de France &amp;agrave; chaque emplacement de d&amp;eacute;partement. Vous pouvez parcourir la documentation de notre jeu de donn&amp;eacute;es qui est fourni par le R&amp;eacute;pertoire G&amp;eacute;ographique des Communes (RGC) &lt;a href="http://professionnels.ign.fr/sites/default/files/DC_DL_RGC_2.pdf"&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/0068.clip_5F00_image016_5F00_2B927A22.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image016" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/6886.clip_5F00_image016_5F00_thumb_5F00_37B3F449.jpg" alt="clip_image016" width="541" height="324" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Vous en avez presque fini :) Il ne reste plus qu&amp;rsquo;&amp;agrave; sp&amp;eacute;cifier ce que nous voulons comme donn&amp;eacute;e(s) &amp;agrave; afficher par d&amp;eacute;partement. S&amp;eacute;lectionnez pour cela dans la liste l&amp;rsquo;&amp;eacute;l&amp;eacute;ment &lt;strong&gt;popu&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/2022.clip_5F00_image018_5F00_75CD0EFA.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image018" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/2821.clip_5F00_image018_5F00_thumb_5F00_774E2B0E.jpg" alt="clip_image018" width="541" height="324" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;En dessous, dans la section &lt;strong&gt;Char Type&lt;/strong&gt;, vous pouvez choisir quel type de diagramme utiliser. Le type par d&amp;eacute;faut est histogramme (Column). Choisissez pour cette cat&amp;eacute;gorie de donn&amp;eacute;e &lt;strong&gt;HeatMap&lt;/strong&gt;. Vous obtenez le r&amp;eacute;sultat suivant.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/4035.clip_5F00_image020_5F00_55161F88.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image020" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/7127.clip_5F00_image020_5F00_thumb_5F00_59AC2A42.jpg" alt="clip_image020" width="522" height="407" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Rendez-vous dans la fen&amp;ecirc;tre de param&amp;eacute;trage du calque (Layer). Cliquez sur l&amp;rsquo;ic&amp;ocirc;ne&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/2604.clip_5F00_image022_5F00_3054E244.jpg"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="clip_image022" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/3771.clip_5F00_image022_5F00_thumb_5F00_6BA84802.jpg" alt="clip_image022" width="24" height="23" border="0" /&gt;&lt;/a&gt; (dans le panneau &lt;strong&gt;Task Panel&lt;/strong&gt; &amp;agrave; droite).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/7433.clip_5F00_image024_5F00_641CD895.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image024" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/7357.clip_5F00_image024_5F00_thumb_5F00_69F77C2E.jpg" alt="clip_image024" width="179" height="266" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Dans &lt;strong&gt;Layer Name&lt;/strong&gt;, remplacez la valeur par d&amp;eacute;faut par &amp;laquo; Habitants par d&amp;eacute;partement &amp;raquo;. Ce texte s&amp;rsquo;affiche alors dans la l&amp;eacute;gende de la carte.&lt;/p&gt;
&lt;p align="justify"&gt;R&amp;eacute;glez la valeur de &lt;strong&gt;Color Scale&lt;/strong&gt; dans &lt;strong&gt;Size&lt;/strong&gt; &amp;agrave; 160%. R&amp;eacute;glez la valeur de &lt;strong&gt;Radius of Influence&lt;/strong&gt; &amp;agrave; 250%.&lt;/p&gt;
&lt;p align="justify"&gt;Le r&amp;eacute;sultat final est le suivant :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/8306.clip_5F00_image026_5F00_08CDF00D.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image026" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/3630.clip_5F00_image026_5F00_thumb_5F00_52109508.jpg" alt="clip_image026" width="541" height="324" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Aller plus loin&lt;/h1&gt;
&lt;p align="justify"&gt;Il est possible de d&amp;eacute;finir une nouvelle colonne dans notre tableau Excel repr&amp;eacute;sentant la densit&amp;eacute; de population. Celle-ci est facile &amp;agrave; calculer avec Excel car elle est le simple r&amp;eacute;sultat de la division entre nombre d&amp;rsquo;habitants et la surface :&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;popu&lt;/strong&gt; / &lt;strong&gt;surface&lt;/strong&gt; * 10^4&lt;/p&gt;
&lt;p align="justify"&gt;Notez au passage que la multiplication par dix puissance quatre est n&amp;eacute;cessaire pour retrouver un r&amp;eacute;sultat en habitants/km&amp;sup2; (La surface est exprim&amp;eacute;e en hectare et la population par centaine d&amp;rsquo;habitants).&lt;/p&gt;
&lt;p align="justify"&gt;Vous pouvez ensuite ajouter un second calque pour repr&amp;eacute;senter cette densit&amp;eacute;. La capture ci-dessous pr&amp;eacute;sente le r&amp;eacute;sultat :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/1856.clip_5F00_image028_5F00_1748EC32.jpg"&gt;&lt;img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="clip_image028" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-75-metablogapi/8750.clip_5F00_image028_5F00_thumb_5F00_673E9AB0.jpg" alt="clip_image028" width="523" height="407" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Les zones de chaleur repr&amp;eacute;sentent la densit&amp;eacute; d&amp;rsquo;habitants tandis que l&amp;rsquo;histogramme repr&amp;eacute;sente la population cumul&amp;eacute;e pour un d&amp;eacute;partement. Cette carte d&amp;eacute;crit avec plus de pr&amp;eacute;cision que la pr&amp;eacute;c&amp;eacute;dente la r&amp;eacute;partition des hommes sur le territoire fran&amp;ccedil;ais. On peut constater par exemple que le d&amp;eacute;partement des Bouches du Rh&amp;ocirc;ne a une densit&amp;eacute; faible malgr&amp;eacute; un grand nombre d&amp;rsquo;habitant cumul&amp;eacute; (principalement gr&amp;acirc;ce &amp;agrave; la ville de Marseille).&lt;/p&gt;
&lt;p align="justify"&gt;Ceci conclut ce billet &amp;agrave; la d&amp;eacute;couverte de &amp;laquo; GeoFlow &amp;raquo;. Nous n&amp;rsquo;avons qu&amp;rsquo;effleur&amp;eacute; le champ des possibles.&lt;/p&gt;
&lt;p align="justify"&gt;Si la visite vous a plu, voici quelques liens compl&amp;eacute;mentaires pour poursuivre votre exploration :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Le &lt;a href="http://office.microsoft.com/en-us/redir/XT104046472.aspx"&gt;guide de d&amp;eacute;marrage&lt;/a&gt; sur la technologie GeoFlow.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;La &lt;a href="http://blogs.technet.com/b/franmer/archive/2013/04/12/excel-2013-et-geoflow-la-vid-233-o.aspx"&gt;vid&amp;eacute;o de pr&amp;eacute;sentation&lt;/a&gt; r&amp;eacute;alis&amp;eacute;e par mon coll&amp;egrave;gue Franck Mercier.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Le billet sur la conf&amp;eacute;rence &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2013/04/11/day-2-pass-business-analytics-conference-new-3d-mapping-analytics-tool-for-excel.aspx"&gt;PASS Business Analytics&lt;/a&gt; sur le blog de l&amp;rsquo;&amp;eacute;quipe SQL Server.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421256" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-42-12-56/Data_5F00_Explorer.xlsx" length="12845056" type="application/octet-stream" /></item><item><title>Exchange Server and Outlook Standards Support Feedback</title><link>http://blogs.msdn.com/b/officeinteroperability/archive/2013/05/24/exchange-server-and-outlook-standards-support-feedback.aspx</link><pubDate>Fri, 24 May 2013 20:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421252</guid><dc:creator>.Michael Bowman. _</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft recognizes that in an increasingly interconnected computing landscape, enabling interoperability between products from different vendors is important.&amp;nbsp; In particular, Microsoft understands that its customers value interoperability with respect to email and calendaring functionality.&amp;nbsp;In addition, in December 2009, Microsoft made a comprehensive commitment to the promotion of interoperability to the European Commission.&amp;nbsp; In connection with that commitment, Microsoft is soliciting community input regarding its support of the core and most commonly adopted email and calendaring standards in the next versions of Exchange Server and Microsoft Outlook.&amp;nbsp;Exchange Server 2013 and Microsoft Outlook 2013 support the following core and most commonly adopted email and calendaring standards:&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IMAP:&amp;nbsp; Internet Message Access Protocol version 4.1 (RFC 3501)&lt;/li&gt;
&lt;li&gt;POP3: Post Office Protocol version 3 (RFC 1939)&lt;/li&gt;
&lt;li&gt;iCalendar:&amp;nbsp; Internet iCalendar Protocol (RFC 2445), the iCalendar Transport-Independent Interoperability Protocol (RFC 2446), and the iCalendar Message-Based Interoperability Protocol (RFC 2447).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Documentation of that support is publicly available at no charge on &lt;a href="http://msdn.microsoft.com/en-us/library/cc973105(EXCHG.80).aspx"&gt;MSDN&lt;/a&gt;.&amp;nbsp; Microsoft will continue to support these standards in the next versions of Exchange Server and Microsoft Outlook.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To provide feedback on additional email or calendaring standards that you would like Microsoft to support in the next versions of Exchange Server and Microsoft Outlook, please click &lt;a href="mailto:emailstand@microsoft.com"&gt;here&lt;/a&gt; or send email to &lt;a href="mailto:emailstand@microsoft.com"&gt;emailstand@microsoft.com&lt;/a&gt;.&amp;nbsp; Please do &lt;span style="text-decoration: underline;"&gt;not&lt;/span&gt; include confidential information in your feedback; feedback will be &lt;span style="text-decoration: underline;"&gt;not&lt;/span&gt; be treated as confidential.&amp;nbsp; After 90-days, Microsoft will consider all of the feedback provided and post a general response in this forum.&amp;nbsp;&amp;nbsp; Thank you, in advance, for your input.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421252" width="1" height="1"&gt;</description></item><item><title>Unit Testing Delay Signed Assemblies on the Hosted TFS Build Service</title><link>http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/05/24/unit-testing-delay-signed-assemblies-on-the-hosted-tfs-build-service.aspx</link><pubDate>Fri, 24 May 2013 18:53:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421248</guid><dc:creator>Willy-P. Schaub</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/06/18/introducing-the-visual-studio-alm-rangers-rob-jarratt.aspx"&gt;Rob Jarratt&lt;/a&gt;, our dev lead on the &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/05/09/unit-test-generator-under-the-bonnet-hood-aka-vsarunittestfx.aspx"&gt;Unit Test Generator&lt;/a&gt; project, has been rolling up his sleeves to get the forthcoming BETA release verified and signed.     &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-18-52-metablogapi/7384.DSCN0311_5F00_66B5D5CE.jpg"&gt;&lt;img title="DSCN0311" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="DSCN0311" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-18-52-metablogapi/4667.DSCN0311_5F00_thumb_5F00_14398643.jpg" width="215" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;He has shared his experience with &lt;a href="http://blogs.msdn.com/b/mcsuksoldev/archive/2013/05/24/unit-testing-delay-signed-assemblies-on-the-hosted-tfs-build-service.aspx"&gt;Unit Testing Delay Signed Assemblies on the Hosted TFS Build Service&lt;/a&gt; … an invaluable and interesting read!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421248" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/willy-peter_schaub/archive/tags/Guidance/">Guidance</category><category domain="http://blogs.msdn.com/b/willy-peter_schaub/archive/tags/Visual+Studio+_2800_Client_2900_/">Visual Studio (Client)</category></item><item><title>Windows Failover Cluster validation warning indicates your disks don't support the persistent reservations for Storage Spaces</title><link>http://blogs.msdn.com/b/clustering/archive/2013/05/24/10421247.aspx</link><pubDate>Fri, 24 May 2013 18:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421247</guid><dc:creator>Rob-MSFT</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;I have seen questions from customers who get a warning in the results of their failover cluster validation that indicates the storage doesn&amp;rsquo;t support persistent reservations for Storage Spaces. &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;They want to know why they got the warning, what it means, and what should they do about it. &lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;First, here is the text you will see in the report from the failover cluster validation.&amp;nbsp; It will be highlighted in Yellow and the test may have a Yellow triangle icon next to it:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: courier new,courier;"&gt;Validate Storage Spaces Persistent Reservation&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: courier new,courier;"&gt;Validate that storage supports the SCSI-3 Persistent Reservation commands needed by Storage Spaces to support clustering.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: courier new,courier;"&gt;Test Disk &amp;lt;number X&amp;gt; does not support SCSI-3 Persistent Reservations commands needed by clustered storage pools that use the Storage Spaces subsystem. Some storage devices require specific firmware versions or settings to function properly with failover clusters. Contact your storage administrator or storage vendor for help with configuring the storage to function properly with failover clusters that use Storage Spaces.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: Calibri;"&gt;Question: Why did I get this warning?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;Failover cluster requires a specific set of SCSI-3 persistent reservation commands to be implemented by the storage so that storage spaces can be properly managed as clustered disks.&amp;nbsp; The commands that are specifically needed for Storage Spaces are tested, and if they are not implemented in the way that the cluster requires, this warning will be given.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: Calibri;"&gt;Question: What does this mean and why is it a warning and not a failure?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt;Failover cluster has multiple tests that check how the storage implements SCSI-3 persistent reservations.&amp;nbsp; This particular test for Storage Spaces is a warning instead of a failure because clustered disks that aren&amp;rsquo;t going to use Storage Spaces will work correctly if the other SCSI-3 persistent reservation tests pass.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: Calibri;"&gt;Question:&amp;nbsp; What should I do when I get this warning?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;Check the disks that are identified in the warning message and verify whether you will ever want to use those disks with Storage Spaces.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;If you want to use the disks with Storage Spaces on the cluster, then you should check your storage configuration and documentation to see if there are settings or firmware/driver versions required to support clustered storage spaces.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;If you aren&amp;rsquo;t going to use Storage Spaces with this cluster and storage, and the other storage validation tests indicate the tests passed, then you can ignore this warning.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;The following note is in the KB article that states the support policy for Windows Server 2012 failover clusters.&amp;nbsp; The yellow yield sign mentioned is referring to a warning in the validation test results. &lt;/span&gt;&lt;a href="http://support.microsoft.com/kb/2775067"&gt;&lt;span style="color: #0563c1; font-family: Calibri;"&gt;http://support.microsoft.com/kb/2775067&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;strong&gt;Note&lt;/strong&gt; The yellow yield sign indicates that the aspect of the proposed failover cluster that is being tested is not in alignment with Microsoft best practices. Investigate this aspect to make sure that the configuration of the cluster is acceptable for the environment of the cluster, for the requirements of the cluster, and for the roles that the cluster hosts.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;Here are some links to more information regarding clustered storage spaces, cluster validation, and the support policies regarding the validation tests:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;Blog: &amp;ldquo;How to Configure a Clustered Storage Space in Windows Server 2012&amp;rdquo; &amp;nbsp;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/clustering/archive/2012/06/02/10314262.aspx"&gt;&lt;span style="font-family: Calibri;"&gt;http://blogs.msdn.com/b/clustering/archive/2012/06/02/10314262.aspx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;TechNet: Deploy Clustered Storage Spaces &amp;nbsp;&lt;/span&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj822937.aspx"&gt;&lt;span style="font-family: Calibri;"&gt;http://technet.microsoft.com/en-us/library/jj822937.aspx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;TechNet: Validate Hardware for a Windows Server 2012 Failover Cluster &amp;nbsp;&lt;/span&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj134244.aspx"&gt;&lt;span style="font-family: Calibri;"&gt;http://technet.microsoft.com/en-us/library/jj134244.aspx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;Microsoft Knowledge Base Article: The Microsoft support policy for Windows Server 2012 failover clusters&amp;nbsp; &lt;/span&gt;&lt;a href="http://support.microsoft.com/kb/2775067"&gt;&lt;span style="font-family: Calibri;"&gt;http://support.microsoft.com/kb/2775067&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Steven Ekren&lt;/p&gt;
&lt;p&gt;Senior Program Manager&lt;/p&gt;
&lt;p&gt;Windows Server Failover Clustering&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421247" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/clustering/archive/tags/Failover+Clustering/">Failover Clustering</category><category domain="http://blogs.msdn.com/b/clustering/archive/tags/storage+spaces+validation+cluster+windows+server+cluster/">storage spaces validation cluster windows server cluster</category></item><item><title>Pie in the Sky (May 24, 2013)</title><link>http://blogs.msdn.com/b/silverlining/archive/2013/05/24/pie-in-the-sky-may-24-2013.aspx</link><pubDate>Fri, 24 May 2013 18:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421244</guid><dc:creator>Larry Franks</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ah, it's the end of another busy week. Luckily it's a long weekend here due to a holiday on Monday. Here's some links for your weekend reading:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Cloud&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blogs.technet.com/b/microsoft_blog/archive/2013/05/22/microsoft-announces-major-expansion-of-windows-azure-services-in-asia.aspx"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Microsoft announces major expansion of Windows Azure Services in Asia&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Public preview in China and future data centers in Japan and Australia .&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/HowToSetupALoadBalancedWebFarmOfVirtualMachinesLinuxOrOtherwiseOnWindowsAzureCommandLine.aspx"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;How to set up a load balanced web farm of virtual machines on Windows Azure&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Creating a farm of Linux (or Windows) VMs on Windows Azure.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.nodejitsu.com/iriscouch-acquisition"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;IrisCouch has joined the Nodejitsu team&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: The title says it all.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2013/05/23/announcing-the-release-of-amqp-support-with-windows-azure-service-bus.aspx"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;AMQP support with Windows Azure Service Bus is GA&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Title says it all. Head on over for a read if you&amp;rsquo;re interested in AMQP 1.0.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="http://vmdepot.msopentech.com/List/Index"&gt;VM Depot&lt;/a&gt;: It's been a while since I linked to this, but it's still very useful. A collection of community submitted VMs for use with Windows Azure Virtual machines.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Node.js&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.nodejs.org/2013/05/17/node-v0-10-7-stable/"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Node v0.10.7 released&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Another week, another Node.js release.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/interoperability/archive/2013/05/22/node-js-library-for-authentication-with-windows-azure-active-directory.aspx"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Node.js library for authentication with Windows Azure Active Directory&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;: Active directory auth for Node.js in the form of &lt;/span&gt;&lt;a href="http://passportjs.org/"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Passport&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt; strategies.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Ruby&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tech.pro/tutorial/1226/basic-rubygem-development"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Basic RubyGem Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Start here if you&amp;rsquo;re new to writing gems.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tech.pro/tutorial/1277/intermediate-rubygem-development"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Intermediate RubyGem Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Continuing from the basic article above.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Misc.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://win.meteor.com/"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;Run meteor on Windows&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: A few ways you can run Meteor on Windows currently.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/JavaScriptIsWebAssemblyLanguageAndThatsOK.aspx"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;JavaScript is web assembly language, and that&amp;rsquo;s OK&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Pretty much.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/tiny_mce/plugins/paste/martinfowler.com/articles/dipInTheWild.html"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;DIP in the wild&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;: Dependency Inversion Principle, and some examples of it.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;Enjoy!&lt;/p&gt;
&lt;p&gt;- Larry&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421244" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/silverlining/archive/tags/Ruby/">Ruby</category><category domain="http://blogs.msdn.com/b/silverlining/archive/tags/Node-js/">Node.js</category></item><item><title>Отправьте свое приложение на конкурс Re-imagining Consumer Health with Windows 8 and HealthVault Challenge</title><link>http://blogs.msdn.com/b/windowsstore_ru/archive/2013/05/24/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge.aspx</link><pubDate>Fri, 24 May 2013 18:35:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421241</guid><dc:creator>Antoine Leblond</dc:creator><slash:comments>0</slash:comments><description>&lt;div class="PostContent"&gt; &lt;p&gt;Здравоохранение быстро развивается, и вместе с этим расширяются возможности разработчиков по созданию приложений, помогающих улучшить жизнь людей во всем мире. 13-14 мая 2013 г. при финансовой поддержке корпорации Майкрософт в Силиконовой долине состоялась конференция &lt;a href="http://www.health2con.com/events/conferences/health-refactored/" target="_blank"&gt;Health: Refactored&lt;/a&gt; для создателей приложений, дизайнеров и технических специалистов, интересующихся здравоохранением. На этой двухдневной конференции они смогли узнать много нового, поделиться информацией и наладить связи. &lt;/p&gt;  &lt;p&gt;На конференции мы объявили о проведении конкурса &lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;Re-imagining Consumer Health with Windows 8 and HealthVault Challenge&lt;/a&gt; (Новый взгляд на здоровье пациентов с использованием Windows 8 и HealthVault). Призовой фонд этого конкурса, проводимого &lt;a href="http://www.health2con.com/" target="_blank"&gt;Health 2.0&lt;/a&gt;, превышает 15000 долл. США. Призы могут выиграть разработчики, создающие приложения Магазина Windows с использованием платформы хранилища данных о здоровье пациентов &lt;a href="https://www.healthvault.com/" target="_blank"&gt;HealthVault&lt;/a&gt;, разработанной в корпорации Майкрософт. Кроме денежного приза победитель получает право на дополнительную поддержку в сфере проектирования, разработки и маркетинга от корпорации Майкрософт. &lt;/p&gt;  &lt;p&gt;Вам нужны вдохновляющие идеи для разработки приложений? В &lt;a href="http://dev.windows.com" target="_blank"&gt;Центре разработки для Windows&lt;/a&gt; вы найдете &lt;a href="http://msdn.microsoft.com/ru-ru/library/windows/apps/bg123952.aspx" target="_blank"&gt;идеи по проектированию приложений для здоровья и фитнеса&lt;/a&gt;. А если вас интересует создание приложений для медицинских организаций, существуют также &lt;a href="http://msdn.microsoft.com/ru-ru/library/windows/apps/dn163533.aspx" target="_blank"&gt;рекомендации и вдохновляющие идеи&lt;/a&gt; для таких приложений. Кроме того, вы можете ознакомиться с &lt;a href="http://blogs.windows.com/windows/b/windowsexperience/archive/2013/05/17/app-roundup-7-apps-for-better-health.aspx" target="_blank"&gt;семью отличными медицинскими приложениям&lt;/a&gt; в блоге, посвященном опыту работы с Windows.&lt;/p&gt;  &lt;p&gt;Прием заявок на конкурс открыт до 30 июня. Ознакомьтесь с правилами конкурса &lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;здесь&lt;/a&gt;. И расскажите нам, над чем вы работаете, в Твиттере, использовав в своем твите хэш-тег &lt;a href="https://twitter.com/search?q=%23Win8Hack" target="_blank"&gt;#Win8Hack&lt;/a&gt;. Удачи на конкурсе!&lt;/p&gt;  &lt;p&gt;&lt;i&gt;-- Бен Томпсон (Ben Thompson), руководитель подразделения маркетинга с партнерами&lt;/i&gt;&lt;/p&gt;  &lt;!-- Title: “Отправьте свое приложение на конкурс Re-imagining Consumer Health with Windows 8 and HealthVault Challenge” Tags: “Магазин Windows, Windows 8, конкурс, здравоохранение, приложения Магазина Windows” --&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421241" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/windowsstore_ru/archive/tags/_3A043E043D043A04430440044104_/">конкурс</category><category domain="http://blogs.msdn.com/b/windowsstore_ru/archive/tags/_3C04300433043004370438043D04_+Windows/">магазин Windows</category><category domain="http://blogs.msdn.com/b/windowsstore_ru/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/windowsstore_ru/archive/tags/_370434044004300432043E043E044504400430043D0435043D0438043504_/">здравоохранение</category><category domain="http://blogs.msdn.com/b/windowsstore_ru/archive/tags/_3F04400438043B043E04360435043D0438044F04_+_1C04300433043004370438043D043004_+Windows/">приложения Магазина Windows</category></item><item><title>Inscreva o seu aplicativo no desafio “Re-imagining Consumer Health with Windows 8 and HealthVault"</title><link>http://blogs.msdn.com/b/windowsstore_br/archive/2013/05/24/inscreva-o-seu-aplicativo-no-desafio-re-imagining-consumer-health-with-windows-8-and-healthvault-quot.aspx</link><pubDate>Fri, 24 May 2013 18:35:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421240</guid><dc:creator>Antoine Leblond</dc:creator><slash:comments>0</slash:comments><description>&lt;div class="PostContent"&gt; &lt;p&gt;A assistência médica está evoluindo rapidamente, e a oportunidade de os desenvolvedores criarem aplicativos que possam ajudar a melhorar a vida de pessoas do mundo todo está maior do que nunca. No dia 14 de maio de 2013, a Microsoft promoveu a &lt;a href="http://www.health2con.com/events/conferences/health-refactored/" target="_blank"&gt;Health: Refactored&lt;/a&gt;, uma conferência de dois dias no Vale do Silício voltada para o aprendizado, compartilhamento e conexão de especialistas técnicos, designers e desenvolvedores de aplicativos interessados em assistência médica. &lt;/p&gt;  &lt;p&gt;Anunciamos na conferência o &lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;Re-imagining Consumer Health with Windows 8 and HealthVault Challenge&lt;/a&gt;. Esse desafio, promovido pela &lt;a href="http://www.health2con.com/" target="_blank"&gt;Health 2.0&lt;/a&gt;, oferece mais de US$ 15.000 em prêmios para os desenvolvedores que criarem um aplicativo da Windows Store aproveitando a plataforma de armazenamento de saúde do consumidor da Microsoft &lt;a href="https://www.healthvault.com/" target="_blank"&gt;HealthVault&lt;/a&gt;. Além do prêmio em dinheiro, o desenvolvedor vencedor terá direito a suporte de marketing, desenvolvimento e design adicional da Microsoft. &lt;/p&gt;  &lt;p&gt;Precisa de ideias para o desenvolvimento do aplicativo? O &lt;a href="http://dev.windows.com" target="_blank"&gt;Centro de Desenvolvimento do Windows&lt;/a&gt; contém &lt;a href="http://msdn.microsoft.com/pt-br/library/windows/apps/bg123952.aspx" target="_blank"&gt;ideias de design específicas para aplicativos da categoria Saúde e Boa forma&lt;/a&gt;. Ou, se você tiver interesse em criar aplicativos para empresas e provedores de assistência médica, há também &lt;a href="http://msdn.microsoft.com/pt-br/library/windows/apps/dn163533.aspx" target="_blank"&gt;orientação e ideias&lt;/a&gt; para esses aplicativos. Confira também os &lt;a href="http://blogs.windows.com/windows/b/windowsexperience/archive/2013/05/17/app-roundup-7-apps-for-better-health.aspx" target="_blank"&gt;sete ótimos aplicativos de assistência médica&lt;/a&gt; no blog Windows Experience.&lt;/p&gt;  &lt;p&gt;O desafio vai até 30 de junho, leia as regras completas &lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;aqui&lt;/a&gt;. E compartilhe o que você está fazendo no Twitter com a hashtag &lt;a href="https://twitter.com/search?q=%23Win8Hack" target="_blank"&gt;#Win8Hack&lt;/a&gt;. Boa sorte com o desafio!&lt;/p&gt;  &lt;p&gt;&lt;i&gt;-- Ben Thompson, gerente de marketing de parceiros&lt;/i&gt;&lt;/p&gt;  &lt;!-- Title: “Inscreva o seu aplicativo no desafio “Re-imagining Consumer Health with Windows 8 and HealthVault"” Tags: “Windows Store, Windows 8, desafio, assistência médica, aplicativos da Windows Store” --&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421240" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/windowsstore_br/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/windowsstore_br/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/windowsstore_br/archive/tags/aplicativos+da+Windows+Store/">aplicativos da Windows Store</category><category domain="http://blogs.msdn.com/b/windowsstore_br/archive/tags/assist_EA00_ncia+m_E900_dica/">assistência médica</category><category domain="http://blogs.msdn.com/b/windowsstore_br/archive/tags/desafio/">desafio</category></item><item><title>여러분의 앱으로 “Windows 8과 HealthVault를 이용한 소비자 건강 관리 앱 겨루기" 행사에 참여하세요!</title><link>http://blogs.msdn.com/b/windowsstore_ko/archive/2013/05/24/windows-8-healthvault-quot.aspx</link><pubDate>Fri, 24 May 2013 18:34:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421239</guid><dc:creator>Antoine Leblond</dc:creator><slash:comments>0</slash:comments><description>&lt;div class="PostContent"&gt; &lt;p&gt;건강 관리 서비스가 놀라운 속도로 발전하고 있습니다. 개발자들에게는 그 어느 때보다도 전 세계 사람들의 삶을 향상시킬 수 있는 앱을 만들 기회가 주어진 것입니다. Microsoft는 2013년 5월 13일부터 14일까지 개최된 &lt;a href="http://www.health2con.com/events/conferences/health-refactored/" target="_blank"&gt;건강: 리팩터링&lt;/a&gt;이라는 행사를 후원했습니다. 이 행사는 건강 관리 분야에 대해 배우고, 공유하고, 소통하기를 원하는 앱 개발자와 디자이너, 기술 전문가들을 위해 실리콘밸리에서 이틀간 진행된 컨퍼런스입니다. &lt;/p&gt;  &lt;p&gt;이 컨퍼런스에서 우리는 &lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;Windows 8과 HealthVault를 이용한 소비자 건강 관리 앱 겨루기&lt;/a&gt; 행사에 대해 발표했습니다. 이 행사는 &lt;a href="http://www.health2con.com/" target="_blank"&gt;Health 2.0&lt;/a&gt;에서 주관하며, Microsoft의 소비자 건강 저장소 플랫폼인 &lt;a href="https://www.healthvault.com/" target="_blank"&gt;HealthVault&lt;/a&gt;를 이용하여 Windows 스토어 앱을 개발하는 개발자들에게 상금으로 총 15,000달러 이상이 지급됩니다. 상금뿐만 아니라 우승한 개발자에게는 Microsoft로부터 설계, 개발, 마케팅 분야에서 추가적인 지원을 받을 수 있는 자격이 주어집니다. &lt;/p&gt;  &lt;p&gt;앱 개발을 위한 영감이 필요하십니까? &lt;a href="http://dev.windows.com" target="_blank"&gt;Windows 개발자 센터&lt;/a&gt;에서 &lt;a href="http://msdn.microsoft.com/ko-kr/library/windows/apps/bg123952.aspx" target="_blank"&gt;건강 및 피트니스 앱 카테고리에 맞는 디자인 아이디어&lt;/a&gt;를 얻을 수 있습니다. 의료인과 관련 사업을 위한 앱 개발에 관심이 있다면 이를 위한 &lt;a href="http://msdn.microsoft.com/ko-kr/library/windows/apps/dn163533.aspx" target="_blank"&gt;의학 앱&lt;/a&gt;도 준비되어 있습니다. 또한 &lt;a href="http://blogs.windows.com/windows/b/windowsexperience/archive/2013/05/17/app-roundup-7-apps-for-better-health.aspx" target="_blank"&gt;건강 관리 앱 베스트 7&lt;/a&gt;도 Windows 체험 블로그에서 확인할 수 있습니다.&lt;/p&gt;  &lt;p&gt;이 행사는 6월 30일까지 진행되며 전체 내용을 보려면 &lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;여기&lt;/a&gt;를 참조하십시오. 현재 어떤 앱을 개발 중인지 해시태그 &lt;a href="https://twitter.com/search?q=%23Win8Hack" target="_blank"&gt;#Win8Hack&lt;/a&gt;를 사용하여 트위터로 알려주십시오. 좋은 결과가 있기를 바랍니다!&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;/i&gt;- 파트너 마케팅 관리자, Ben Thompson&lt;/p&gt;  &lt;!-- Title: “여러분의 앱으로 “Windows 8과 HealthVault를 이용한 소비자 건강 관리 앱 겨루기" 행사에 참여하세요!” Tags: “Windows 스토어, Windows 8, 겨루기, 건강 관리, Windows 스토어 앱” --&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421239" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/windowsstore_ko/archive/tags/Windows+_A4C2A0D1B4C5_/">Windows 스토어</category><category domain="http://blogs.msdn.com/b/windowsstore_ko/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/windowsstore_ko/archive/tags/Windows+_A4C2A0D1B4C5_+_71C5_/">Windows 스토어 앱</category><category domain="http://blogs.msdn.com/b/windowsstore_ko/archive/tags/_74AC15AC_+_00ADACB9_/">건강 관리</category><category domain="http://blogs.msdn.com/b/windowsstore_ko/archive/tags/_A8ACE8B830AE_/">겨루기</category></item><item><title>「Windows 8 と HealthVault が刷新するコンシューマー向けヘルスケア アプリ」コンテストにご参加ください</title><link>http://blogs.msdn.com/b/windowsstore_ja/archive/2013/05/24/windows-8-healthvault.aspx</link><pubDate>Fri, 24 May 2013 18:33:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10421238</guid><dc:creator>Antoine Leblond</dc:creator><slash:comments>0</slash:comments><description>&lt;div class="PostContent"&gt; &lt;p&gt;ヘルスケア産業が目覚ましい進歩を遂げている中、全世界の人々の生活を向上するアプリ開発という面で開発者にはかつてないほど大きなチャンスが広がっています。ヘルスケア分野に関心を持つアプリ開発者、設計者、技術エキスパートが学習し、共有し、つながる機会として、2013 年 5 月 13 日から 14 日の 2 日間、シリコンバレーにて Microsoft 主催のカンファレンス &lt;a href="http://www.health2con.com/events/conferences/health-refactored/" target="_blank"&gt;Health: Refactored&lt;/a&gt; (英語) が行われました。&lt;/p&gt;  &lt;p&gt;カンファレンスで Microsoft は、「&lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;Windows 8 と HealthVault が刷新するコンシューマー向けヘルスケア アプリ&lt;/a&gt;」(英語) と題したコンテストの開催を発表しました。これは、Microsoft のコンシューマー向け健康情報管理プラットフォーム &lt;a href="https://www.healthvault.com/" target="_blank"&gt;HealthVault&lt;/a&gt; (英語) を活用した Windows ストア アプリを開発者の皆様に作成していただく、&lt;a href="http://www.health2con.com/" target="_blank"&gt;Health 2.0&lt;/a&gt; (英語) にて運営されるコンテストで、15,000 ドル超の賞金が用意されています。賞金に加えて、最優秀賞に輝いた開発者のアプリは、設計、開発、マーケティングを Microsoft がバックアップいたします。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dev.windows.com" target="_blank"&gt;Windows デベロッパー センター&lt;/a&gt;の&lt;a href="http://msdn.microsoft.com/ja-jp/library/windows/apps/bg123952.aspx" target="_blank"&gt;健康/フィットネス向けアプリ設計のインスピレーションに関するページ&lt;/a&gt;に開発方法のヒントも用意されていますのでご活用ください。また、ヘルスケア プロバイダーやヘルスケア企業向けのアプリ開発に関心をお持ちの方に向けた&lt;a href="http://msdn.microsoft.com/ja-jp/library/windows/apps/dn163533.aspx" target="_blank"&gt;ガイダンスとインスピレーション コンテンツ&lt;/a&gt;も用意されています。Windows Experience ブログで紹介されている&lt;a href="http://blogs.windows.com/windows/b/windowsexperience/archive/2013/05/17/app-roundup-7-apps-for-better-health.aspx" target="_blank"&gt;優れた 7 つのヘルスケア アプリ&lt;/a&gt; (英語) も合わせてご参考ください。&lt;/p&gt;  &lt;p&gt;コンテストの参加受付は 6 月 30 日が締切です。詳しいルールは&lt;a href="http://www.health2con.com/devchallenge/re-imagining-consumer-health-with-windows-8-and-healthvault-challenge/" target="_blank"&gt;こちら&lt;/a&gt; (英語) でご確認いただけます。開発の進捗は、ハッシュタグ &lt;a href="https://twitter.com/search?q=%23Win8Hack" target="_blank"&gt;#Win8Hack&lt;/a&gt; にてぜひツイートしてください。皆様の参加をお待ちしています!&lt;/p&gt;  &lt;p&gt;-- Ben Thompson、パートナー マーケティング マネージャー&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;!-- Title: “「Windows 8 と HealthVault が刷新するコンシューマー向けヘルスケア アプリ」コンテストにご参加ください” Tags: “Windows ストア, Windows 8, コンテスト, ヘルスケア, Windows ストア アプリ” --&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10421238" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/windowsstore_ja/archive/tags/_B330F330C630B930C830_/">コンテスト</category><category domain="http://blogs.msdn.com/b/windowsstore_ja/archive/tags/Windows+_B930C830A230_/">Windows ストア</category><category domain="http://blogs.msdn.com/b/windowsstore_ja/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/windowsstore_ja/archive/tags/Windows+_B930C830A230_+_A230D730EA30_/">Windows ストア アプリ</category><category domain="http://blogs.msdn.com/b/windowsstore_ja/archive/tags/_D830EB30B930B130A230_/">ヘルスケア</category></item></channel></rss>