<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Nuno Filipe Godinho : Microsoft</title><link>http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx</link><description>Tags: Microsoft</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>PDC09 – Day Three – Building Scalable and Reliable Applications with Windows Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/19/pdc09-day-three-building-scalable-and-reliable-applications-with-windows-azure.aspx</link><pubDate>Thu, 19 Nov 2009 17:22:41 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740803</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740803</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740803</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/19/pdc09-day-three-building-scalable-and-reliable-applications-with-windows-azure.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Brad Calder – Director/Architect&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Data Building Blocks&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Types of Storage in Windows Azure&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Volatile Storage&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Local Storage&lt;/li&gt;        &lt;li&gt;Caches (eg. AppFabricCache and MemCache)&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Persistent Storage&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Windows Azure Storage&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Blobs&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Provide interface for storing name files&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;Tables&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;structured storage.&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;Queues&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;reliable storage and delivery of messages&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;SQL Azure&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Storage Account Performance at commercial Availability&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Capacity&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;100TB&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Throughput&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Up to a few hundred megabytes&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Partitioning of Data Objects&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Load balancing is an internal concept of Windows Azure Storage&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Allows the system to automatically scale out access to your data to meet its peek traffic demands&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;What matters to the application is the partitioning key used for objects&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;All objects with the same partition key are always grouped&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Per Object/Partitioning Performance for Commercial Availability&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Throughput&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Single Queue and single table partition&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Up to 500 transactions per second&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Single Blob&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;small reads/writes up to 30 MB/s&lt;/li&gt;          &lt;li&gt;large reads/writes up to 60 MB/s&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Scaling Computation&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Compute Service Model – What is describes?&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The topology of your service&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Types of roles and their binaries&lt;/li&gt;        &lt;li&gt;How the roles are connected&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Configuration of the service&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;How many instances of each role type&lt;/li&gt;        &lt;li&gt;Application specific configuration settings&lt;/li&gt;        &lt;li&gt;How many update domains you need&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Best Practices&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Due to application failures, upgrades or hardware failure&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Use multiple instances&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Queue Workflow Concepts&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Windows Azure Queue Provides&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Guarantee delivery&lt;/li&gt;        &lt;ol&gt;         &lt;li&gt;Worker dequeues Message and marks it as Invisible&lt;/li&gt;          &lt;li&gt;Worker deletes Message when finished processing&lt;/li&gt;       &lt;/ol&gt;        &lt;ul&gt;         &lt;li&gt;Note: If worker role crashes, message becomes visible for another worker to process&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;A message may be processed more than once&lt;/li&gt;        &lt;li&gt;Assume messages put into same queue can be processed in any order&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Best Practice&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Make work items idempotent&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Scaling Queue Throughput&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Batch Work Items into Blob&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Group together many work items into a blob&lt;/li&gt;        &lt;li&gt;Queue up pointer to the Blob for the message&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Use Multiple Queues&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Job Manager&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Responsible form managing the execution of the Queues&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Work Items&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Continuation for Long Running Work Items&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Want to continue on failover&lt;/li&gt;      &lt;li&gt;High level approach&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Bread work item into smaller and repeatable steps&lt;/li&gt;        &lt;li&gt;Record progress&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Lifecycle Management&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In-place Rolling updates&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Specify the number of upgrade domains in service model&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Breaks your roles evenly over the number of domains&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Rolling upgrade&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Walk each upgrade domain one at a time&lt;/li&gt;        &lt;li&gt;Upgrade just the roles in the current domain&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Benefits&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Minimizes availability loss&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Only one domain of roles are restarted at a time&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Allows local state to be uses across upgrades&lt;/li&gt;        &lt;li&gt;Caches application upgrade issues early&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Detect upgrade issues after first few domains&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Versioning with Rolling Updates&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Always assume you will have old and new running side by side in your service&lt;/li&gt;      &lt;li&gt;Version Everything&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Protocols, Schemas, Messages and everything else&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Windows Azure Tables Schema change&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Have a version property in each entity&lt;/li&gt;      &lt;li&gt;Types of Schema changes&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Adding a non-key property&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Perform similar step update process&lt;/li&gt;          &lt;li&gt;Update “IgnoreMissingProperties”&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Removing a non-key property&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Perform similar upgrade process&lt;/li&gt;          &lt;li&gt;Update “IgnoreMissingProperties”&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Changes in Partition Key or Row Key&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Most uses schema change is adding a non-key property&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740803" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+Services/default.aspx">.NET Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>PDC09 – Day Two – Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-advanced-topics-for-building-large-scale-applications-with-microsoft-silverlight.aspx</link><pubDate>Thu, 19 Nov 2009 01:17:45 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740606</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740606</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740606</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-advanced-topics-for-building-large-scale-applications-with-microsoft-silverlight.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;MVVM – Model-View-ViewModel&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Separation of concerns&lt;/li&gt;    &lt;li&gt;View = handled UI&lt;/li&gt;    &lt;li&gt;Model = contains pure data&lt;/li&gt;    &lt;li&gt;ViewModel = communicates between View and Model through bindings&lt;/li&gt;    &lt;li&gt;Works Great with Silverlight and WPF&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;XAML based data bindings&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Testable&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Represents the Data&lt;/li&gt;      &lt;li&gt;The entity&lt;/li&gt;      &lt;li&gt;Not required to know where it gets the data from&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;WCF service, WCF Ria Services&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;View&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The Screen, the UI&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;ViewModel&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Main source of logic for the MVVM triad&lt;/li&gt;      &lt;li&gt;Connects the Model and the View&lt;/li&gt;      &lt;li&gt;Abstracts the View&lt;/li&gt;      &lt;li&gt;Public Properties that are bound to the View&lt;/li&gt;      &lt;li&gt;INotifyPropertyChanged and INotifyCollectionChanged talk to the view through bindings&lt;/li&gt;      &lt;li&gt;Listens for changes from the View made to the Model&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Variations of the MVVM&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;View First&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;ViewModel is declared as StaticResource in the Views XAML&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Works well in Blend&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Another way is to create the ViewModel in the View’s code-behind&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;ViewModel First&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;View is injected into the ViewModel’s constructor&lt;/li&gt;        &lt;li&gt;Doesn’t allow the possibility to use Blend&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;View and ViewModel Marriage&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;View must be paired with the ViewModel somehow&lt;/li&gt;        &lt;li&gt; Doesn’t allow the possibility to use Blend&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;What don’t we have with MVVM&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Commanding&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Prism 2&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Prism is a set of options&lt;/li&gt;    &lt;li&gt;Use what you want and ignore the rest&lt;/li&gt;    &lt;li&gt;Technical Concepts:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Modules&lt;/li&gt;      &lt;li&gt;Shell&lt;/li&gt;      &lt;li&gt;Commands&lt;/li&gt;      &lt;li&gt;Containers&lt;/li&gt;      &lt;li&gt;Regions&lt;/li&gt;      &lt;li&gt;Bootstrapper&lt;/li&gt;      &lt;li&gt;Event Aggregation&lt;/li&gt;      &lt;li&gt;Unity and Dependency Injection&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740606" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight+Offline/default.aspx">Silverlight Offline</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Prism/default.aspx">Prism</category></item><item><title>PDC09 – Day Two – Windows Workflow Foundation 4.0 from the Inside out</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-windows-workflow-foundation-4-0-from-the-inside-out.aspx</link><pubDate>Thu, 19 Nov 2009 00:15:25 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740594</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740594</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740594</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-windows-workflow-foundation-4-0-from-the-inside-out.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Bob Schmidt – Program Manager&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;For WF4:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Programs are data &lt;/li&gt;    &lt;li&gt;Scheduler-based program execution      &lt;ul&gt;       &lt;li&gt;stackless &amp;amp; serializable &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Runtime-mediated code rendezvous &lt;/li&gt;    &lt;li&gt;Natural Control flow      &lt;ul&gt;       &lt;li&gt;run it the way you think of it &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Authoring&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WF is an activity&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Can author programmatically or using XAML&lt;/li&gt;      &lt;li&gt;Can contain other activities&lt;/li&gt;      &lt;li&gt;Separate base classes for activities that return a value&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;WF program is a definition from which many instances can be created&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Each instance of an activity has a unique environment (visible data values)&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Execution&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WF runtime just sees activities and not sequence or parallel or recurrence&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;WF runtime is a referee that enforces the rules of the work&lt;/li&gt;      &lt;li&gt;CacheMetadata is how an activity describes itself&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;WF runtime knows when an activity is done&lt;/li&gt;    &lt;li&gt;An activity can schedule the execution of a child activity and be notified upon its completion&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;There can be multiple, distinct method invocations per activity&lt;/li&gt;      &lt;li&gt;Can Express all kinds of patterns (control flow)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;There can be multiple paths of invocation …&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Scheduler&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WorkItem represents the invocation of a method&lt;/li&gt;    &lt;li&gt;WorkItems can be created by:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Activity Code&lt;/li&gt;      &lt;li&gt;External Code&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Flow of execution&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;The Activity Code or the External Code Add a WorkflowItem&lt;/li&gt;      &lt;li&gt;Them the elements get Pushed or Enqueued for execution&lt;/li&gt;      &lt;li&gt;Afterwards the Scheduler will Pop it and execute it&lt;/li&gt;   &lt;/ol&gt;    &lt;li&gt;Details&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Scheduler per program instance&lt;/li&gt;      &lt;li&gt;Manages an ordered list of work items&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Threading Model&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;One thread at a time is used to process work items for a program instance&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Simplifies the programming model of activities&lt;/li&gt;      &lt;li&gt;Thread may differ work items in the same instance&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;WF runtime uses host-provided SynchronizationContext&lt;/li&gt;        &lt;li&gt;Standard TLS mechanisms do not apply to WF&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Instead use WF Execution Properties – names properties visible for a part of a workflow&lt;/li&gt;          &lt;li&gt;Attached / detached from the current environment by the WF runtime before / after work item invocation&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Activities should not block this thread&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Bookmarks&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Problems&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;What happens when your programs need to wait for input?&lt;/li&gt;      &lt;li&gt;We want a “Zero footprint” WaitForInput()&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Bookmark&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;A named resumption point in a WF program&lt;/li&gt;      &lt;li&gt;Resumption will schedule an activity’s callback method&lt;/li&gt;      &lt;li&gt;WF runtime mediates resumption – no need for the instance to be in memory&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;WCF Receive activity is built on top of bookmarks in order to give access to this possibility when using Workflow Services&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Persistence&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;lets you pause an instance, save it somewhere &amp;amp; resume it later&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;has no affinity to a WF host instance, CLR instance, thread, process or machine&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;instances of WF are serializable&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;A CLR Stack is not serializable, but in WF program a stack only exists transiently, during work item execution&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Sometimes you want a “no persist zone”&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Automatic during execution of an async activity&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Details of persistence are deliberately separate from the machinery of WF runtime&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Serializable Instances&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Contains&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Work Item list&lt;/li&gt;      &lt;li&gt;Bookmarks&lt;/li&gt;      &lt;li&gt;Data (arg and values)&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Environment for all executing activity instances&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Activity instance info (callbacks, execution props)&lt;/li&gt;      &lt;li&gt;Custom Data from persistence participants&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Doesn’t contain&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Workflow Definition&lt;/li&gt;      &lt;li&gt;Why?&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;several instances can share the same workflow definition&lt;/li&gt;        &lt;li&gt;management of definitions is responsibility of the host&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740594" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WF4/default.aspx">WF4</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>PDC09 – Day Two – Developing Advanced Applications with Windows Azure</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-developing-advanced-applications-with-windows-azure.aspx</link><pubDate>Wed, 18 Nov 2009 22:56:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740583</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740583</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740583</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-developing-advanced-applications-with-windows-azure.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Steve Marx – Technology Strategist&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now we can have the ability to have more than a Web and a Work Role, since we have several different types of Roles. &lt;/p&gt;  &lt;p&gt;Example:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;IIS Role&lt;/li&gt;    &lt;li&gt;SMTP Role&lt;/li&gt;    &lt;li&gt;…&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now the there is the new Storage API that is currently being shipped with the SDK and not only a sample.&lt;/p&gt;  &lt;p&gt;Some new features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Inter-role communication&lt;/li&gt;    &lt;li&gt;Non-Http endpoints&lt;/li&gt;    &lt;li&gt;Role instance lifecycle&lt;/li&gt;    &lt;li&gt;VM Sizes&lt;/li&gt;    &lt;li&gt;Full-trust in the Cloud&lt;/li&gt;    &lt;li&gt;Local Storage&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Upgrading the local storage&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;How to model you application&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Draw the boxes and arrows&lt;/li&gt;    &lt;li&gt;Each box is a role&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Which receive traffic from the internet&lt;/li&gt;      &lt;li&gt;Which need IIS?&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Receive Traffic: Input Endpoints&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Different ports on same domain&lt;/li&gt;    &lt;li&gt;There’s always load balancing&lt;/li&gt;    &lt;li&gt;Declared in ServiceDefinition.csdef&lt;/li&gt;    &lt;li&gt;Handled by IIS&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;InputEndpoint&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Defined the protocol, port and name of the endpoint that will opened in order to listen for the requests&lt;/li&gt;    &lt;li&gt;Protocols supported&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Http&lt;/li&gt;      &lt;li&gt;Https&lt;/li&gt;      &lt;li&gt;Tcp&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;RoleEnvironment &lt;/strong&gt;is the class that allow us to communicate with the Windows Azure fabric, for example in order to know the Configurations&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Aside about Email&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Spammers will use Windows Azure then the IP ranges can get blacklisted&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Best Practices: Use a relay service in order not to have your mails marked as SPAM&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Send mail via a rely mail&lt;/li&gt;    &lt;li&gt;Receive mail is fine&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Searching&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Lucene.NET&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Popular search API&lt;/li&gt;      &lt;li&gt;.NET port of original Java implementation&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Index data&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Bring index up to speed on startup&lt;/li&gt;      &lt;li&gt;Continually update index&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Serve searched (via WCF)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Asynchronous Work without a Queue&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Queues deliver messages to one worker only&lt;/li&gt;    &lt;li&gt;We need every worker to see the message&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Solution&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;use Table instead&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Build your own secondary index&lt;/li&gt;          &lt;li&gt;Order references&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Initialization of Roles&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;&lt;strong&gt;Now we have:&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;OnStart() – “busy” state, initialization&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Run() – do work&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;OnStop() – traffic stops, graceful shutdown&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p align="left"&gt;&lt;strong&gt;Internal Endpoints&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;Declare endpoints in ServiceDefinition.csdef&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;API to find out what port to listen on RoleEnvironment in Order to know if the port or anything change about the endpoint since the last call&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="left"&gt;&lt;strong&gt;How to Get More RAM&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;RAMDiectory pouts everything in memory&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Choose the VM Size:&lt;/div&gt;   &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div align="left"&gt;Small&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Medium&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Large&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div align="left"&gt;Extra-Large&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740583" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+Services/default.aspx">.NET Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>PDC09 – Day Two - Keynote</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-keynote.aspx</link><pubDate>Wed, 18 Nov 2009 19:04:10 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740537</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740537</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740537</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/18/pdc09-day-two-keynote.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Steven Sinofsky&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Developing Windows 7 &lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Learning&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Solving Problems + Innovation&lt;/li&gt;      &lt;li&gt;“Engineering 7” Blog made a very interesting Dialog even without having any code of the product, just about the decisions that were being made&lt;/li&gt;      &lt;li&gt;Ecosystem Readiness&lt;/li&gt;      &lt;li&gt;Developer Pre-Beta, Beta, RC rhythm&lt;/li&gt;      &lt;li&gt;Telemetry&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Telemetry&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Seed Feedback Button&lt;/li&gt;      &lt;li&gt;Hardware and Device Diagnostics&lt;/li&gt;      &lt;li&gt;Reliability Analysis Component (RAC)&lt;/li&gt;      &lt;li&gt;Software Quality Monitor (SQM)&lt;/li&gt;      &lt;li&gt;Windows Error Reporting (WER or “Watson”)&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Developing Internet Explorer&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Learning&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Responsible Engineering&lt;/li&gt;      &lt;li&gt;Trustworthy computing &lt;/li&gt;      &lt;li&gt;Real-world Interoperability&lt;/li&gt;      &lt;li&gt;Innovative Technologies&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Updates&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Standards Progress&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;ACID&lt;/li&gt;        &lt;li&gt;HTML 5&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Performance Improvements&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Javascript&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Ecosystem Innovations&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;IE 9 with 3 weeks of development is looking interesting in terms of performance and interoperability&lt;/li&gt;    &lt;li&gt;Using Direct2D and DirectWrite to provide better graphics rendering and Hardware Acceleration without any change of the current sites&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows 7 Call to Action&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Integrate with Windows 7 Desktop&lt;/li&gt;    &lt;li&gt;Develop 64-bit&lt;/li&gt;    &lt;li&gt;Focus on fundamentals in your code&lt;/li&gt;    &lt;li&gt;Build on new APIs in Windows 7&lt;/li&gt;    &lt;li&gt;Watch more videos today on Channel 9 about Internet Explorer 9&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scott Guthrie – Developer Division&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Silverlight 4&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Focus&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Media&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Web and and Microphones&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;gives you access to the raw access to the input and so you can make the changes you want on that stream, like using PixelShader with it&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Multicast streaming&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;IIS Smooth Streaming&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://smf.codeplex.com/"&gt;Silverlight Media Framework&lt;/a&gt; available today on CodePlex&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Output protection&lt;/li&gt;        &lt;li&gt;Offline DRM support&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Business Applications&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Printing&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Print Preview Dialogs&lt;/li&gt;          &lt;li&gt;Printing Configurations&lt;/li&gt;          &lt;li&gt;This is a Print API that you can change however you want and not only a screenshot of the screen&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Rich Text&lt;/li&gt;        &lt;li&gt;Clipboard access&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Local and Central clipboard support&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Right Click&lt;/li&gt;        &lt;li&gt;Mouse Wheel&lt;/li&gt;        &lt;li&gt;Implicit Styles&lt;/li&gt;        &lt;li&gt;Drag and&amp;#160; Drop&lt;/li&gt;        &lt;li&gt;Drop Targets support&lt;/li&gt;        &lt;li&gt;Bidi &amp;amp; RTL&lt;/li&gt;        &lt;li&gt;HTML&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Hosting HTML inside Silverlight application&lt;/li&gt;          &lt;li&gt;We can interact with the HTML contents as being a brush&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Commanding and MVVM&lt;/li&gt;        &lt;li&gt;Data &amp;amp; Networking&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Sharing Assemblies across SL and .NET 4.0&lt;/li&gt;          &lt;li&gt;Data Binding Improvements&lt;/li&gt;          &lt;li&gt;UDP Multicast support&lt;/li&gt;          &lt;li&gt;REST Enhancements&lt;/li&gt;          &lt;li&gt;WCF Improvements&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Main one is TCP channel support&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;WCF RIA Services&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;All the capabilities of RIA Services and with all the capabilities of WCF&lt;/li&gt;            &lt;li&gt;Works well with OAuth&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Visual Studio 2010&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;WYSIWYG Design Surface&lt;/li&gt;          &lt;li&gt;XAML Intellisense &lt;/li&gt;          &lt;li&gt;WF and POCO Support&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Additional Control&lt;/li&gt;      &lt;li&gt;Beyond the Browser&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Windowing API&lt;/li&gt;        &lt;li&gt;Notification Popups&lt;/li&gt;        &lt;li&gt;HTML support&lt;/li&gt;        &lt;li&gt;Drop Target support&lt;/li&gt;        &lt;li&gt;Opening the Sandbox&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Trusted Application&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Custom Windows Chrome&lt;/li&gt;            &lt;li&gt;Local File System&lt;/li&gt;            &lt;li&gt;Cross-file Network&lt;/li&gt;            &lt;li&gt;Keyboard support in Full Screen Mode&lt;/li&gt;            &lt;li&gt;COM object support in Windows&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;using dynamic keyword of C#&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;Access to Several devices form the client machine&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Silverlight Performance&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Twice as fast&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;uses JIT like the normal .NET Application&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;30% faster startup&lt;/li&gt;          &lt;li&gt;New Profiling support&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Google Chrome will support SL4 also&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Schedule&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Beta&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;All the features seen today&lt;/li&gt;          &lt;li&gt;VS2010 Tools&lt;/li&gt;          &lt;li&gt;Expression Tools&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;RC&lt;/li&gt;        &lt;li&gt;Final Release&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;First half of Next Year (MIX’10 ????)&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Kurt DelBene – Office and Sharepoint 2010&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Business Productivity Infrastructure&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Unified Business Platform&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Unified Communications&lt;/li&gt;      &lt;li&gt;Business Intelligence&lt;/li&gt;      &lt;li&gt;Enterprise Content Management&lt;/li&gt;      &lt;li&gt;Collaboration&lt;/li&gt;      &lt;li&gt;Enterprise Search&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Office and Sharepoint Development Platforms&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;User Experience&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Based in Services and in a Object Model that can be extended in order to create better User Experience&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Application Services&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Expose all the capabilities in the Applications as services to be consumed without loosing any of the features that we have access inside the solution&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Content and Data Management&lt;/li&gt;      &lt;li&gt;Interoperability with LOB integration&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;possibility to more easily integrate the external LOB applications inside the products&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Tools and Deployment Flexibility&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;New Tools for Sharepoint Development&lt;/li&gt;        &lt;li&gt;Debug capabilities are currently in the Tools&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Now Debug really works. &lt;strong&gt;Awesome.&lt;/strong&gt;&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Interesting capability to import a Sharepoint solution to start the project&lt;/li&gt;        &lt;li&gt;Possibility to deploy the solution in a sandboxed solution. Interesting in terms of security&lt;/li&gt;        &lt;li&gt;Deployment&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Simply upload the package generated by Visual Studio 2010 into the sharepoint – &lt;strong&gt;Real All-in-One working for deployment also. Now it looks really good for Sharepoint Development.&lt;/strong&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Announcing the Office and Sharepoint 2010 Public Beta to download &lt;a href="http://www.microsoft.com/2010"&gt;www.microsoft.com/2010&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Office 2010&lt;/li&gt;        &lt;li&gt;Sharepoint Server&lt;/li&gt;        &lt;li&gt;Project Server 2010&lt;/li&gt;        &lt;li&gt;Visio 2010&lt;/li&gt;        &lt;li&gt;Mobile is also available today in the mobile marketplace&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Sharepoint has a Silverlight WebPart out of the Box.&lt;/li&gt;      &lt;li&gt;Sharepoint 2010 now has the Office Ribbon&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Announcing Duet Enterprise for Microsoft Sharepoint and SAP&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Consume and extend SAP from Microsoft Sharepoint 2010&lt;/li&gt;      &lt;li&gt;Available on the Second-half of 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Announcing the Outlook Social Connector&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Windows Live, Sharepoint Server, Linkedin&lt;/li&gt;      &lt;li&gt;Has an Open SDK that can be used to develop new connectors for this connector&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740537" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SketchFlow/default.aspx">SketchFlow</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/UX/default.aspx">UX</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/IE8/default.aspx">IE8</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Silverlight+Offline/default.aspx">Silverlight Offline</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Blend/default.aspx">Blend</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/RIA+Services/default.aspx">RIA Services</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/IE9/default.aspx">IE9</category></item><item><title>PDC09 – Day One – Code Visualization, UML and DSLs</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-code-visualization-uml-and-dsls.aspx</link><pubDate>Wed, 18 Nov 2009 01:31:12 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740380</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740380</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740380</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-code-visualization-uml-and-dsls.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Cameron Skinner&lt;/strong&gt; – Product Manager in Visual Studio, responsible for the Architecture Tools in VS2010&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Complexity remains a serious problem&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Found everywhere&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Code&lt;/li&gt;        &lt;li&gt;Requirements&lt;/li&gt;        &lt;li&gt;Organizational Politics&lt;/li&gt;        &lt;li&gt;and so on…&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;VS2010 attacks these problems by increasing&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Shared understanding between team members&lt;/li&gt;      &lt;li&gt;the understanding of existing systems&lt;/li&gt;      &lt;li&gt;the ability to gain and maintaining the control over it&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Who?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Developers are trying&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;to understand existing code&lt;/li&gt;      &lt;li&gt;focused on the “right fix”&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Architects are trying&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;to understand the Domain and how it relates to implementation&lt;/li&gt;      &lt;li&gt;get the solution for the existing projects&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Product Capabilities&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Understand the Code”&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Architecture Explorer&lt;/li&gt;      &lt;li&gt;Sequence Diagram Generation&lt;/li&gt;      &lt;li&gt;DGML Graphs and “Standard” Graphs&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;“Maintain Control”&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Layer &amp;amp; Diagram &amp;amp; Custom MSBuild Tasks&lt;/li&gt;      &lt;li&gt;Work Item Integration&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;“Understand the Domain”&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;UML 2.x Designers&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;All this capabilities are only in the Ultimate version of VS2010&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;“Understanding the Code”&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;In Visual Studio Options, “Mark the Show Misc Documents in Architecture Explorer”&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Dependency Diagram&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Very interesting Dependency Diagram that represent you application and all the interaction of the solution and you even can search who in your solution is using a specific assembly and what is being made with it.&lt;/li&gt;      &lt;li&gt;If we use MEF, Unity or any other Dynamic connection this won’t be possible to see in the Dependency Diagram, since it currently represents only the static dependencies.&lt;/li&gt;      &lt;li&gt;Think of Dependency Diagram as read-only, since if you make any change on it he won’t change any of the code of the solution associated.&lt;/li&gt;      &lt;li&gt;The Dependency is a DSL that was generated for this version of VS2010.&lt;/li&gt;      &lt;li&gt;We can select just the elements that we want to view in the Dependency Diagram and define which level of information we want to have, like:&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Assemblies&lt;/li&gt;        &lt;li&gt;Namespaces&lt;/li&gt;        &lt;li&gt;Types&lt;/li&gt;        &lt;li&gt;Methods&lt;/li&gt;        &lt;li&gt;We can even filter by access modifiers:&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;public&lt;/li&gt;          &lt;li&gt;private&lt;/li&gt;          &lt;li&gt;protected&lt;/li&gt;          &lt;li&gt;internal&lt;/li&gt;          &lt;li&gt;protected internal&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;We can navigate to the code from the Dependency Diagram.&lt;/li&gt;      &lt;li&gt;Doesn’t work on unmanaged C++, but is currently being done but no date for the release now.&lt;/li&gt;      &lt;li&gt;We can interact with the Diagram and extend the DGML model but in a simple model&lt;/li&gt;      &lt;li&gt;Possibility to define the level and the center of the dependency that you want to see&lt;/li&gt;      &lt;li&gt;Butterfly mode enables the viewing of only the types that are just linking to your central defined element&lt;/li&gt;      &lt;li&gt;We can generate the Dependency Diagram based on a Custom selected elements&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;We can Calculate the Complexity by right-clicking on the Project and selecting the “Calculate Complexity” option of the Context Menu, but this isn’t currently available inside the Dependency Diagram.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Architecture Explorer&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Capabilities to filter information about your solution&lt;/li&gt;      &lt;li&gt;Ability to look at the Logical and Physical View of the Solution Projects and filtering what you want to filter in terms of inbound or outbound navigation, and this way we’ll have more information&amp;#39;s about how our solution is working and how we can maintain it.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Sequence Diagram&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Now you have the ability to define the depth of the diagram in terms of levels and them expand if you want more directly on the diagram&lt;/li&gt;      &lt;li&gt;Designed to be collaborative and to persist the changes made on the Model, and it will identify the changes that were made on the diagram and associate that change to a new Work Item.&lt;/li&gt;      &lt;li&gt;Works on all versions of .NET Framework&lt;/li&gt;      &lt;li&gt;Doesn’t generate the code on by changing the Sequence Diagram, just identifies the changes that need to be done&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;“UML Diagrams”&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;There’s a new Modeling project in VS2010 that will have all the Diagrams&lt;/li&gt;    &lt;li&gt;State Diagrams will be supported as well as all other diagrams from UML&lt;/li&gt;    &lt;li&gt;UML Diagrams supported in this version of VS2010:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Use Cases&lt;/li&gt;      &lt;li&gt;Class Diagram&lt;/li&gt;      &lt;li&gt;Sequence Diagram&lt;/li&gt;      &lt;li&gt;Activity Diagram&lt;/li&gt;      &lt;li&gt;Component Diagram&lt;/li&gt;      &lt;li&gt;Layer Diagram&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Very interesting to define the architecture&lt;/li&gt;        &lt;li&gt;Capability to validate the architecture by doing static code analysis in order to check all the dependencies and references between the several Layers, and defining the architectural problems as errors in the Error List.&lt;/li&gt;        &lt;li&gt;We can get a visual information regarding the layers that are invalid due to the architectural validation&lt;/li&gt;        &lt;li&gt;Just for static elements right now, but can be made by extending the pipeline of the Validation of the models&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Very interesting Session and a great step for getting real architecture tools inside Visual Studio.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740380" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture+Tools/default.aspx">Architecture Tools</category></item><item><title>PDC09 – Day One – SQL Azure Present &amp; Futures</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-sql-azure-present-amp-futures.aspx</link><pubDate>Tue, 17 Nov 2009 23:37:57 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740361</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740361</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740361</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-sql-azure-present-amp-futures.aspx#comments</comments><description>&lt;p&gt;Data Platform as a Service&lt;/p&gt;  &lt;p&gt;In the future will have Reporting, Data Analytics&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Database&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Relational Database service&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SQL Server technology foundation&lt;/li&gt;      &lt;li&gt;Scalable&lt;/li&gt;      &lt;li&gt;Symmetrical&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure Provisioning&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Each account has zero or more servers&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Azure wide provisioned in a common portal&lt;/li&gt;      &lt;li&gt;Billing instrument&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Each server has one or more databases&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;contains metadata about the databases&lt;/li&gt;      &lt;li&gt;Unit of authentication and security&lt;/li&gt;      &lt;li&gt;Unit of Geo-location&lt;/li&gt;      &lt;li&gt;The server is a logical grouping of you DBs&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Each database has standard SQL Object&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Unit of consistency&lt;/li&gt;      &lt;li&gt;Contains users, tables, views, indexes, and so on,&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Global Availability&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;North Europe&lt;/li&gt;    &lt;li&gt;Southeast Asia&lt;/li&gt;    &lt;li&gt;North and South USA&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Futures&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Goal: &lt;/strong&gt;Provide and end-to-end experience for enterprise departmental apps and Saas ISVs scenarios&lt;/li&gt;    &lt;li&gt;Improved Tools&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Today we have&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;VS, SSMS, ADO.NET, ADO.NET Data Service&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Data Backups&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Multiple replicas of all databases with automatic failover. System backups for additional protection&lt;/li&gt;      &lt;li&gt;Use Database Clone to create a clone of the Database with every capabilities of the original one&lt;/li&gt;      &lt;li&gt;During 1H 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Continuous Backups&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Configurable retention and lag period&lt;/li&gt;      &lt;li&gt;Backups available for read operations&lt;/li&gt;      &lt;li&gt;Local and regional options&lt;/li&gt;      &lt;li&gt;During 2H 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Operational Models&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SaaS&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Provisioning APIs for ISVs&lt;/li&gt;        &lt;li&gt;Template database support&lt;/li&gt;        &lt;li&gt;Meta-data tracking&lt;/li&gt;        &lt;li&gt;Additional billing scenarios&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Scale-out support –Today&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Databases and workloads partitioning is a classic&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Better price/performance&lt;/li&gt;          &lt;li&gt;Levels of throughput not possible with a single machine&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;What SQL Azure addresses&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt; Highly available service on top of commodity hardware&lt;/li&gt;          &lt;li&gt;Zero administration&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;There will be available several options and the 10GBs of space is not an issue&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Customer Feedback&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add support for profiler, DMV’s&lt;/li&gt;    &lt;li&gt;SQLCLR&lt;/li&gt;    &lt;li&gt;and much more&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Codename “Vidalia”&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sharing to trustworthy collaboration&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Cloud is a grate place to connect&lt;/li&gt;      &lt;li&gt;Empowers multiple parties&lt;/li&gt;      &lt;li&gt;Businesses need control&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Very interesting demos, need to see more about it.&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740361" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item><item><title>PDC09 – Day One – Application Server Technologies – Present &amp; Future</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-application-server-technologies-present-amp-future.aspx</link><pubDate>Tue, 17 Nov 2009 22:23:09 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740349</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740349</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740349</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-application-server-technologies-present-amp-future.aspx#comments</comments><description>&lt;p&gt;Cloud: Fifth Generation of computing&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Cloud - 2010+&lt;/li&gt;    &lt;li&gt;SOA - 2000s&lt;/li&gt;    &lt;li&gt;Web - 1990s&lt;/li&gt;    &lt;li&gt;Client-Server - 1980s&lt;/li&gt;    &lt;li&gt;MainFrame – 1970s&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Technology Disruptions &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Cheap Processing and Storing&lt;/li&gt;    &lt;li&gt;Virtualization&lt;/li&gt;    &lt;li&gt;Advances in Networking&lt;/li&gt;    &lt;li&gt;Advances in Web Technologies&lt;/li&gt;    &lt;li&gt;Emerge of Service Platforms&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Application Trends&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Service-Oriented&lt;/li&gt;    &lt;li&gt;Composite Applications&lt;/li&gt;    &lt;li&gt;Model Driven&lt;/li&gt;    &lt;li&gt;Scale-out&lt;/li&gt;    &lt;li&gt;Elastic&lt;/li&gt;    &lt;li&gt;Failure Resilient&lt;/li&gt;    &lt;li&gt;Always available&lt;/li&gt;    &lt;li&gt;Multi-tenant&lt;/li&gt;    &lt;li&gt;Staged Production&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;AppFabric&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Server and Windows Azure platform&lt;/li&gt;    &lt;li&gt;Composition&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Bases&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Windows Azure or Windows Server with Microsoft .NET Framework Available&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Main Capabilities&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;High Availability&lt;/li&gt;        &lt;li&gt;Scale Out&lt;/li&gt;        &lt;li&gt;Multi-Tenant&lt;/li&gt;        &lt;li&gt;Management&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;High Level Services&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Service Bus&lt;/li&gt;        &lt;li&gt;Caching&lt;/li&gt;        &lt;li&gt;Workflow Hosting&lt;/li&gt;        &lt;li&gt;Services Hosting&lt;/li&gt;        &lt;li&gt;Monitoring&lt;/li&gt;        &lt;li&gt;Access Control&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;2010 Wave &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;WCF and WF&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Customer Momentum&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Adoption of WCF and WF&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&amp;gt; 27% year over year growth in developer adoption&lt;/li&gt;            &lt;li&gt;Top 5 technologies used by ISV’s&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;.NET 4.0&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;WCF&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Configuration simplification&lt;/li&gt;            &lt;li&gt;Service Discovery with WS-Discovery support&lt;/li&gt;            &lt;li&gt;Routing Services&lt;/li&gt;            &lt;li&gt;REST service improvements&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;WF&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Intuitive flowchart modeling style&lt;/li&gt;            &lt;li&gt;New activity model and runtime&lt;/li&gt;            &lt;li&gt;Fully declarative authoring and composition&lt;/li&gt;            &lt;li&gt;Designer performance and re-hosting&lt;/li&gt;            &lt;li&gt;Change from XOML to XAML&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;Deep integration between WCF and WF&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Workflow Services with Supporting activities&lt;/li&gt;            &lt;li&gt;Integrated hosting and messaging&lt;/li&gt;            &lt;li&gt;Enterprise grade messaging for workflows&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Windows AppFabric&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Manage Services and Workflows&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Infrastructure for enhanced workflow and service hosting, configuration and control&lt;/li&gt;          &lt;li&gt;Integration with IIS Manager and PowerShell&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Monitor services and Workflows&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Infrastructure for storing workflow and service monitoring&lt;/li&gt;          &lt;li&gt;Dashboard for information’s regarding the usage&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Distributed in-memory application cache (Previously known as “Velocity”&lt;/li&gt;        &lt;li&gt;Server/Service symmetry&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Symmetric application development, deployment and management&lt;/li&gt;          &lt;li&gt;Common scale-out and availability fabric&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Server/Services Connectivity&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Service Bus for Connectivity&lt;/li&gt;          &lt;li&gt;Access Control&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Announcing &lt;strong&gt;Microsoft Biztalk Server 2009 R2&lt;/strong&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Customer Momentum &lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Adoption of Biztalk Server&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;10kç customers&lt;/li&gt;            &lt;li&gt;80% global 1000&lt;/li&gt;         &lt;/ul&gt;       &lt;/ul&gt;        &lt;li&gt;Innovations&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Platform alignment&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Windows Server 2008 R2&lt;/li&gt;            &lt;li&gt;SQL Server 2008 R2&lt;/li&gt;            &lt;li&gt;VS2010&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;Productivity Gains&lt;/li&gt;          &lt;li&gt;B2B Scenarios Made Easy&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;.NET 4.0 (WCF/WF)&lt;/li&gt;        &lt;li&gt;Windows Server AppFabric&lt;/li&gt;        &lt;li&gt;Microsoft Biztalk 2009 R2&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Futures&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Server-Service Symmetry&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;CTP of Windows Azure platform AppFabric in CY10&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Common App &amp;amp; Programming Model&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;End-to-End Composite Applications Model&lt;/li&gt;        &lt;li&gt;WCF Service Authoring Simplicity and Scale&lt;/li&gt;        &lt;li&gt;WF Activity and Rule Libraries and Tooling&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;AppFabric&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Loosely coupled Message-oriented Event-Driven&lt;/li&gt;        &lt;li&gt;Multi-Tenancy&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Common End-to-End Management&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;End-To-End deployment, configuration and management&lt;/li&gt;        &lt;li&gt;Dashboard for management&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Biztalk Server&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Enterprise connector to the AppFabric&lt;/li&gt;        &lt;li&gt;Deep platform alignment&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;2010 Wave&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Rich Framework, server and tools for building service-oriented and distributed Applications&lt;/li&gt;      &lt;li&gt;Build upon your existing investments&lt;/li&gt;      &lt;li&gt;Scale &amp;amp; Performance Windows Server AppFabric&lt;/li&gt;      &lt;li&gt;S+S – Symmetric Host, Development and Deployment&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Futures&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Agility – Common Application &amp;amp; Programming Model&lt;/li&gt;      &lt;li&gt;Elastic Scale and Continuous Availability – Rich AppFabric Services&lt;/li&gt;      &lt;li&gt;Enterprise Productivity – Management Model&lt;/li&gt;      &lt;li&gt;Multiple Workloads – Unified Application Server for ASP.NET, Biztalk Server&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Very interesting in terms of leveraging all the capabilities of “Dublin”, WCF, WF, Velocity, Multi-Tenancy, Scaling Out and so on.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740349" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>PDC09 – Day One – Software + Services Identity Roadmap Update</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-software-services-identity-roadmap-update.aspx</link><pubDate>Tue, 17 Nov 2009 20:01:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740314</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740314</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740314</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/17/pdc09-day-one-software-services-identity-roadmap-update.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Announcement: WIF – Windows Identity Foundation RTW&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Extensions to .NET for claim-based identity&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/wif"&gt;http://www.microsoft.com/wif&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Interesting Changes&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Genera” Server is now called “Active Directory Federation Services 2.0” and comes as part of Windows Server 2008 and not separately.&lt;/li&gt;    &lt;li&gt;“Genera” Framework is now called “Windows Identity Foundation” and is an extension for .NET&lt;/li&gt;    &lt;li&gt;Windows CardSpace “Geneva” is now called “Windows CardSpace 2.0” and is the usage of WIF with CardSpace&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Dynamics CRM “5”&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Identity Challenges&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Custom Authentication&lt;/li&gt;      &lt;li&gt;Grant Access to users at partner organizations&lt;/li&gt;      &lt;li&gt;Mash up: single sign on across applications and across companies&lt;/li&gt;      &lt;li&gt;Support browser, rich and mobile clients&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Now using WIF and ADFS 2.0 in order to get the Challenges solved&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Sharepoint 2010&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Identity Challenges&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Identity Flow&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Client&lt;/li&gt;        &lt;li&gt;Web Server&lt;/li&gt;        &lt;li&gt;App Server&lt;/li&gt;        &lt;li&gt;Sharepoint Content&lt;/li&gt;        &lt;li&gt;Back-End Web Services&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Use Customer Identity Provider&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Several Authentication Providers like&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Integrated Authentication&lt;/li&gt;          &lt;li&gt;ASP.NET Membership&lt;/li&gt;          &lt;li&gt;Live ID&lt;/li&gt;          &lt;li&gt;Custom Membership&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Automatic &amp;amp; Secure identity delegation&lt;/li&gt;      &lt;li&gt;Authorization over Application specific roles&lt;/li&gt;      &lt;li&gt;“No-credential” access to WebService&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Directions&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Authorization - .NET ACS CTP&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Claims-based, rules driven authorization for REST Web Services&lt;/li&gt;      &lt;li&gt;Developed with Google and Yahoo&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;OAuth Web Resource Authorization Protocol (WRAP)&lt;/li&gt;        &lt;li&gt;Simple Web Tokens (SWT)&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Integrating with WIF and ADFS 2.0&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/dotnettservices"&gt;http://www.microsoft.com/windowsazure/dotnettservices&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;OpenID&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Key part of the Identity Management System&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;50.000 destination sites&lt;/li&gt;        &lt;li&gt;US Government sites to be OpenID enabled&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Major portals are OpenID providers&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Yahoo, Google&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Challenges&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Usability&lt;/li&gt;        &lt;li&gt;Security&lt;/li&gt;        &lt;li&gt;Client Software&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;‘M’ Model : System Identity&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Allow more interesting queries in terms of security tracking&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Very interesting topics and certainly to keep seeing more information about it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740314" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WIF/default.aspx">WIF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Security/default.aspx">Security</category></item><item><title>PDC09 – Pre-Conference – Windows Bootcamp Part 8 – Multi-Touch</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-8-multi-touch.aspx</link><pubDate>Tue, 17 Nov 2009 01:27:28 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740116</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740116</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740116</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-8-multi-touch.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Handled using a Driver Model that is implemented by the partners&lt;/li&gt;    &lt;li&gt;Based on WM_Messages that are exchanged by the application and the Multi-touch Hardware&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Development Tiers&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Good&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Everything that comes for free&lt;/li&gt;      &lt;li&gt;APIs&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Panning/Zoom gestures&lt;/li&gt;        &lt;li&gt;Right-click Gestures&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Native Win32&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Controls with standard scrollbars&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;WPF4&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Click Events&lt;/li&gt;        &lt;li&gt;ScrollViewer&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;WinForms&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Controls with standard scrollbars&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Better&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Using the API’s to get the application more interesting&lt;/li&gt;      &lt;li&gt;Using the &lt;a href="http://blogs.msdn.com/surface/archive/2009/05/27/microsoft-touch-pack-for-windows-7.aspx"&gt;Microsoft Touch Pack&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Best&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Everything done before and even handle events that the Multi-touch supports&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Coding with MultiTouch&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Gestures&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Native&lt;/li&gt;      &lt;li&gt;.NET 4.0 / WPF&lt;/li&gt;      &lt;li&gt;.NET 3.5&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Raw Touch&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Native&lt;/li&gt;      &lt;li&gt;.NET 4.0 / WPF&lt;/li&gt;      &lt;li&gt;Silverlght&lt;/li&gt;      &lt;li&gt;.NET 3.5&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Manipulation&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Native&lt;/li&gt;      &lt;li&gt;.NET 4.0 / WPF&lt;/li&gt;      &lt;li&gt;.NET 3.5&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Inertia&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Native&lt;/li&gt;      &lt;li&gt;.NET 4.0 / WPF&lt;/li&gt;      &lt;li&gt;.NET 3.5&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Gestures&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;One or two fingers “actions”&lt;/li&gt;    &lt;li&gt;Pre-defined in the platform&lt;/li&gt;    &lt;li&gt;On by default in Windows 7&lt;/li&gt;    &lt;li&gt;Using WM_Gestures&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Touch&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Using WM_Touch&lt;/li&gt;    &lt;li&gt;Similar to WM_Gestures but just a lot more of them&lt;/li&gt;    &lt;li&gt;We need to opt-in to have Touch capabilities&lt;/li&gt;    &lt;li&gt;In case of using Touch we won’t get Gestures any more, just Raw touch&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740116" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Geneva Framework goes WIF – Windows Identity Foundation</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/geneva-framework-goes-wif-windows-identity-foundation.aspx</link><pubDate>Tue, 17 Nov 2009 00:41:31 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740111</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740111</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740111</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/geneva-framework-goes-wif-windows-identity-foundation.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&amp;#160; Geneva Framework has received a name change and now is called WIF – Windows Identity Foundation, since is the technology that will work with all types of Identity in the Microsoft world.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“It provides developers pre-built .NET security logic for building claims-aware applications, enhancing either ASP.NET or WCF applications.&amp;#160; Windows Identity Foundation makes it easeir to build richer, more secure applications (cloud and on-premise) without being a security and identity expert.&amp;#160; It will boost developer productivity, as a result, and enhance app security through a standard approach to federation, strong authentication and identity delegation.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&amp;#160; I’ve made a simple wrap-up of the several interesting articles about WIF, and they are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://bit.ly/1xoYhD"&gt;Listen about WIF on .NET Rocks&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Download the RC of the WIF &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=defd2019-a61f-4327-9332-6a4b6103527a"&gt;here&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Learn more about the &lt;a href="http://blogs.msdn.com/vbertocci/archive/2009/11/06/the-id-element-special-up-close-personal-with-wif-rc.aspx"&gt;Id Element&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/FabrikamShipping"&gt;Cool sample using WIF on FabrikamShipping application&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c3e315fa-94e2-4028-99cb-904369f177c0"&gt;Download the WIF RC Training Kit here&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;See &lt;a title="Claims-Driven Modifier Control" href="http://code.msdn.microsoft.com/ClaimsDrivenControl"&gt;Claims-Driven Modifier Control&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;em&gt;“Simple ASP.NET server control which allows you to use identity for driving the behavior of your frontend UX, without requiring you to see even a single line of code”&lt;/em&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; Have good reading and tests with WIF&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740111" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WIF/default.aspx">WIF</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Security/default.aspx">Security</category></item><item><title>PDC09 – Pre-Conference – Windows Bootcamp Part 7 – Graphics Improvements in Windows 7</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-7-graphics-improvements-in-windows-7.aspx</link><pubDate>Tue, 17 Nov 2009 00:25:28 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740106</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740106</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740106</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-7-graphics-improvements-in-windows-7.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Windows 7 Usage of the GPU&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Continues from Vista      &lt;ul&gt;       &lt;li&gt;Media Center UI &lt;/li&gt;        &lt;li&gt;Video Playback &lt;/li&gt;        &lt;li&gt;Desktop Window Manager (DWM) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Win7 DWM uses DirectX3D10.1 API      &lt;ul&gt;       &lt;li&gt;Scales in Performance all the way from low end integrated graphics cards to the highest level ones &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Windows 7 High Color&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Wider Gamur      &lt;ul&gt;       &lt;li&gt;Bigger then sRGB, eg. xvYCC, AdobeRGB &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Higher precision &lt;/li&gt;    &lt;li&gt;Higher Dynamic Range &lt;/li&gt;    &lt;li&gt;Windows 7 provides      &lt;ul&gt;       &lt;li&gt;Color Calibration Tool &lt;/li&gt;        &lt;li&gt;Gamma LUT Loader &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;High DPI Displays are now Common&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Improvements in Windows UI &amp;amp; IE      &lt;ul&gt;       &lt;li&gt;Automatic Configuration in OOBE (Out-Of-Box-Experience) &lt;/li&gt;        &lt;li&gt;Promotion the Control Panel UI for DPI &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Current Challengues&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;3D      &lt;ul&gt;       &lt;li&gt;Uses DX3..10 &lt;/li&gt;        &lt;li&gt;Challenges          &lt;ul&gt;           &lt;li&gt;Not always available              &lt;ul&gt;               &lt;li&gt;No Hardware &lt;/li&gt;                &lt;li&gt;Server &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;New in Win7          &lt;ul&gt;           &lt;li&gt;usage of DirectX10.1 &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;2D      &lt;ul&gt;       &lt;li&gt;Uses GDI, GDI+ &lt;/li&gt;        &lt;li&gt;Challenges          &lt;ul&gt;           &lt;li&gt;Quality and Performance &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;New in Win7          &lt;ul&gt;           &lt;li&gt;usage of Direct2D &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Text      &lt;ul&gt;       &lt;li&gt;GDI &lt;/li&gt;        &lt;li&gt;Challenges          &lt;ul&gt;           &lt;li&gt;Quality, Not up to date &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;New in Win7          &lt;ul&gt;           &lt;li&gt;usage of DirectWrite &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Imaging      &lt;ul&gt;       &lt;li&gt;GDI, GDI, WIC+ &lt;/li&gt;        &lt;li&gt;Challenges          &lt;ul&gt;           &lt;li&gt;Extensive Format &lt;/li&gt;            &lt;li&gt;Support for Security &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;New in Win7          &lt;ul&gt;           &lt;li&gt;new WIC version &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Device Control      &lt;ul&gt;       &lt;li&gt;GDI &lt;/li&gt;        &lt;li&gt;Challenges          &lt;ul&gt;           &lt;li&gt;Outdated notion of devices &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740106" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Windows Azure TCO and ROI Calculator</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/windows-azure-tco-and-roi-calculator.aspx</link><pubDate>Mon, 16 Nov 2009 23:30:51 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740095</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740095</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740095</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/windows-azure-tco-and-roi-calculator.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&amp;#160; One of the most asked questions about Windows Azure is what is the TCO (Total Cost of Ownership) and the ROI (Return of Investment) that we have in order to decide if we are going or not into the cloud.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; Based on this questions Windows Azure Team putted together a TCO and ROI Calculator that will help you make your decisions better, and also plan how much are you going to spend in Windows Azure and Windows Azure Service Platform in order to maintain your business going. This is very important because even when having things going into the cloud our management still need some predictability on the costs and also some numbers to support the decision of moving to the cloud.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; Start predicting and planning your TCO and ROI using this calculator &lt;a href="http://www.microsoft.com/windowsazure/tco/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740095" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+Azure+Service+Platform/default.aspx">Windows Azure Service Platform</category></item><item><title>PDC09 – Pre-Conference – Windows Bootcamp Part 6/6 – Windows Sensors and Location</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-6-6-windows-sensors-and-location.aspx</link><pubDate>Mon, 16 Nov 2009 23:30:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740094</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740094</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740094</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-6-6-windows-sensors-and-location.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Sensor Platform Overview&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Develop better and more productive user experiences&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Enable environmentally adaptive user interface&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Windows 7 features a unified API for working with sensors&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;No need to target vendor-specific APIs&lt;/li&gt;      &lt;li&gt;Consistent interface for sensors, extensions for location&lt;/li&gt;      &lt;li&gt;Access control and privacy&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Sensor Platform Architecture&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Applications&lt;/li&gt;    &lt;li&gt;Sensor API&lt;/li&gt;    &lt;li&gt;Sensor class extensions&lt;/li&gt;    &lt;li&gt;UMDF Sensor Driver&lt;/li&gt;    &lt;li&gt;Sensor Device&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Sensor class extensions and Sensor API connect to the Location and Other sensors control panel&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Privacy and Access Control&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sensor data is considered personal&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;User consent is required to share data&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;All sensors are disabled by default&lt;/li&gt;    &lt;li&gt;Can be preconfigured per user/services&lt;/li&gt;    &lt;li&gt;Administrator rights required to enabled a sensor&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What is a Sensor?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Category and Type&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Category, represents what is being sensed &lt;/li&gt;      &lt;li&gt;Type, represents how it’s being sensed&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Properties&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Read-only (Model, Serial Number) or read-write (Report Interval)&lt;/li&gt;      &lt;li&gt;Sensors may have custom properties&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Data&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Get sensor-specific data report object synchronously or asynchronously (recommended approach)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Events&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;State change, leave, data updated, other&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;State&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Is sensor working properly? What is the problem?&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Sensor API Architecture&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Native/Win32 API&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;COM Based (includes sensorsapi.h and sensors.h)&lt;/li&gt;      &lt;li&gt;Consist in the following interfaces&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;ISensorManager&lt;/li&gt;        &lt;li&gt;ISensor&lt;/li&gt;        &lt;li&gt;ISensorDataReport&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Windows API CodePack&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Managed class library to ease .NET Framework access to the Sensor and Location APIs&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Location Platform&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A single API call to answer. Where I am?&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Enabled location based services&lt;/li&gt;      &lt;li&gt;Adjust functionality based on location changes&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Built on top of the sensor API&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Automatic transition between providers (most accurate providers have priority)&lt;/li&gt;      &lt;li&gt;Concurrent access for multiple applications&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Managed Wrapper&lt;/li&gt;    &lt;li&gt;In .NET 4 we’ll use the System.Devices namespace where this will be placed&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740094" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>PDC09 – Pre-Conference – Windows Bootcamp Part 5/6 – Windows 7 Libraries Integration</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-5-6-windows-7-libraries-integration.aspx</link><pubDate>Mon, 16 Nov 2009 22:38:11 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740082</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740082</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740082</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-5-6-windows-7-libraries-integration.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In previous versions of windows, users managed files in known folders locations&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Documents, Pictures, Music, Videos&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;People store data “all over the place”&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;54% of digital content lives outside the user profile&lt;/li&gt;      &lt;li&gt;Most uses do both&lt;/li&gt;      &lt;li&gt;Store content on net work shares&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Home Groups&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Allows us to specify which folders make the library&lt;/li&gt;    &lt;li&gt;“Libraries are declarations where users can find and organize data collected from multiple folders”&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;“Under the Hood”&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Library is kept in a file&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Important:&lt;/strong&gt; Don’t work with the file&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Libraries is similar to a folder but only look at the folders&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Integrating with Libraries&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Common File Dialog&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;When we save a file on a Library by default is going to be saved into the default save location defined in the Library configuration&lt;/li&gt;      &lt;li&gt;The new Common file dialog have built-in support for Libraries&lt;/li&gt;      &lt;li&gt;Win32&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Use IFileDialog native APIs&lt;/li&gt;        &lt;li&gt;Do not use GetOpenFileName and SaveFileName&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Library APIs&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Shell APIs are COM Bases&lt;/li&gt;    &lt;li&gt;User the Library objects, interfaces and functions you should&lt;/li&gt;    &lt;li&gt;To Load Library&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;IShellLibrary&lt;/li&gt;      &lt;li&gt;LoadLibraryFromKnownFolder&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Shell Helper Functions (ShHelper.h)&lt;/li&gt;    &lt;li&gt;ShellLibrary Class in the Windows API CodePack for Managed Code&lt;/li&gt;    &lt;li&gt;&lt;a href="http://windowsteamblog.com/blogs/developers/archive/2009/04/06/windows-7-libraries-net-sample-library-an-overview.aspx"&gt;SLUtil.exe&lt;/a&gt; is a command-line tools that enables us to manage libraries&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;More samples &lt;a href="http://code.msdn.microsoft.com/Windows7Taskbar"&gt;here&lt;/a&gt;.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740082" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>PDC09 – Pre-Conference – Windows Bootcamp Part 4/6 – Windows 7 Taskbar</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-4-6-windows-7-taskbar.aspx</link><pubDate>Mon, 16 Nov 2009 21:59:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740077</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740077</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740077</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-4-6-windows-7-taskbar.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Key Goals&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Things you use all the time are at your fingerprints&lt;/li&gt;    &lt;li&gt;Manage your windows with confidence&lt;/li&gt;    &lt;li&gt;You are in control&lt;/li&gt;    &lt;li&gt;Clean and lightweight&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Coding for the Windows Taskbar&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Win32/C++&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;COM&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;iTaskbarList3&lt;/li&gt;        &lt;li&gt;ICustomDestinationList&lt;/li&gt;        &lt;li&gt;IShellItem&lt;/li&gt;        &lt;li&gt;IShellLink&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;.NET&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;Windows API Codepack&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Taskmanager&lt;/li&gt;        &lt;li&gt;JumpList&lt;/li&gt;        &lt;li&gt;JumpListItem&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How are Windows Grouped?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ApplicationID&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;It’s a String, not a GUID&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Limited to 128 characters&lt;/li&gt;        &lt;li&gt;Naming Conventions – Company.Product.SubProduct&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Design Considerations&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Default: Computed by process name&lt;/li&gt;        &lt;li&gt;Can be explicitly declared&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Several executables, same application&lt;/li&gt;          &lt;li&gt;Same executables (host), many applications&lt;/li&gt;          &lt;li&gt;Multiple shortcuts&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Setting the ApplicationID&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Process-wide – affects all windows in the current process&lt;/li&gt;        &lt;li&gt;C++&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;SetCurrentProcessExplicjtAppUserModelId(L”Microsoft.Samples.AppId1”)&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;.NET&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;TaskbarManager.SetCurrentProcessId(“Microsoft.Samples.AppId1”)&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Taskbar Buttons&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Consolidation&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Quick launch&lt;/li&gt;      &lt;li&gt;Notification area icon&lt;/li&gt;      &lt;li&gt;Desktop shortcut&lt;/li&gt;      &lt;li&gt;Running application Windows&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Design Considerations&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Only users can pin applications to taskbar&lt;/li&gt;      &lt;li&gt;The icon’s hot-track color us the icon dominant color&lt;/li&gt;      &lt;li&gt;Test icons with High DPI&lt;/li&gt;      &lt;li&gt;Test with with various themes and glass colors&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Get More from Taskbar Buttons&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Overlay and Progress&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Design considerations&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Notification area is now user controlled&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Leave yourself out if possible&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;Use taskbar buttons for custom progress or status information&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Thumbnail toolbars&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Design Considerations&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;You’ll get up to 7 buttons (hard-coded limit)&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Once added, can’t delete&lt;/li&gt;          &lt;li&gt;Can hide and disable&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Behave as regular buttons&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Listen to Events&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;API&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;C++&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;RegisterWindowMessage&lt;/li&gt;          &lt;li&gt;ThumbBarAddButton&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;.NET&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;AddButtoons(IntPtr windowHandle, params ThumbnailToolbarButton[]) – WindowsForms&lt;/li&gt;          &lt;li&gt;AddButtons(UIElement element, params ThumbnailToolbarButton[]) – WPF&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Live Thumbnails &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Custom Window Switchers&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Use ITaskbarList3::RegisterTab, SetTabOrder&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Taskbar + Windows Shell&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Application Support&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Common file dialogs&lt;/li&gt;      &lt;li&gt;Known folders and libraries&lt;/li&gt;      &lt;li&gt;Property System&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Terminology&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;IShellItem – represents folders and files&lt;/li&gt;      &lt;li&gt;IShellLink – represents shell shortcuts&lt;/li&gt;      &lt;li&gt;IShellFolder – represents folders&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Jump List&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;It’s a mini Start Menu for the application&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;The user is in control of what is part of the Jump List&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Detailed Look&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Destination (nouns) – Items that will be worked&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Pinned Category&lt;/li&gt;          &lt;li&gt;Known Category&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;Only 2 Known category exist and mutually exclusive on the API&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;Recent&lt;/li&gt;              &lt;li&gt;Frequent&lt;/li&gt;           &lt;/ul&gt;         &lt;/ul&gt;          &lt;li&gt;Custom Category&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;Tasks (verbs) - Actions&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;User Tasks&lt;/li&gt;          &lt;li&gt;Taskbar Tasks&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;      &lt;li&gt;Design Considerations&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Surface key destinations and tasks&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;Recent and frequent are free&lt;/li&gt;          &lt;li&gt;Pinned is also free (if the user uses it)&lt;/li&gt;          &lt;li&gt;Respect items the user removes&lt;/li&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740077" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>PDC09 – Pre-Conference – Windows Bootcamp Part 3/6 - Working Set Background</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-3-6.aspx</link><pubDate>Mon, 16 Nov 2009 19:51:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740047</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740047</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740047</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-bootcamp-part-3-6.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Working Set Background&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Optimal usage of system memory – a constant area of investment&lt;/li&gt;    &lt;li&gt;Working set: Comprises all the potentially trimmable virtual addresses for a given process, session or system resource&lt;/li&gt;    &lt;li&gt;Resources like nonpaged pool, kernel stacks, large pages &amp;amp; AWE regions are excluded&lt;/li&gt;    &lt;li&gt;Working sets provide an efficient way for the system to make memory available under pressure … but maintaining them is nor free&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Working Set Aging/Trimming&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Are periodically aged to improve trim decisions&lt;/li&gt;    &lt;li&gt;Which sets and which virtual addresses to trim?&lt;/li&gt;    &lt;li&gt;How much to trim?&lt;/li&gt;    &lt;li&gt;Memory events so applications can trim?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;General Policies of Working Sets&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How is optimal usage achieved?&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Ordered based on their age distribution&lt;/li&gt;      &lt;li&gt;Trim goal is set higher to avoid subsequent additional trimming&lt;/li&gt;      &lt;li&gt;After the goal is meet other sets continue to be trimmed – bus just for their very old pages. This provides fairness so one process doesn’t surrender pages and the others not.&lt;/li&gt;      &lt;li&gt;Up to 4 pages may be performed later passes consider higher percentages of each working set and lower ages (more recently accessed) as well&lt;/li&gt;      &lt;li&gt;When trimming does occur, all sets are also aged so future trims have optimal aging&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Working Set improvements&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Expansion to 8 aging values&lt;/li&gt;    &lt;li&gt;Keep exact age distribution counts instead of estimates&lt;/li&gt;    &lt;li&gt;Force self-aging and trimming during rapid expansion&lt;/li&gt;    &lt;li&gt;Don’t skip processes due to lock contention and ensure fair aging by removing pass limits&lt;/li&gt;    &lt;li&gt;Separation of the system cache working set into 3 distinct working sets (system cache, paged pool and driver images)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Now we can apply minimums to each one making it more manageable and interesting&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Factor in standby list repurposing when making age/trim decisions&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Any pages that are reference by your application are immediately protected by the factor in the standby list&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Improved inpage clustering of system addresses&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;RESULTS: Doubling of performance in memory constrained systems&lt;/strong&gt;&amp;#160;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;PFN Lock Background&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Page Frame Number (PFN) array is virtually continuous (but can be physically sparse)&lt;/li&gt;    &lt;li&gt;The Problem&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The huge majority of virtual memory operations were synchronized via a single system-wide PFN lock. &lt;/li&gt;      &lt;li&gt;Large number of processors and memory sizes identify the lock pressure. Prior to this change SQL Server had an 88% PFN lock contention rate on systems with 128 processors&lt;/li&gt;      &lt;li&gt;Applications and device drivers seeking higher performance faced significance complexity at best&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;The Answer&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;In Windows 7 the system wide PFN lock was replaced with the fine-grained locking on an individual page basis&lt;/li&gt;      &lt;li&gt;This completely eliminated the bottleneck, resulting in much higher scalability. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740047" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>PDC09 – Pre-conference – Windows 7 Bootcamp Part 2/6 – Core Kernel Changes</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-7-bootcamp-part-2-6-core-kernal-changes.aspx</link><pubDate>Mon, 16 Nov 2009 18:51:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740042</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740042</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740042</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-7-bootcamp-part-2-6-core-kernal-changes.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;More Core Platform Support&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Supporting Mode than 64Lps      &lt;ul&gt;       &lt;li&gt;Introduction of the Processor Groups          &lt;ul&gt;           &lt;li&gt;Windows Server 2008 R2 introduces processor Groups              &lt;ul&gt;               &lt;li&gt;Each processor groups can contain up to 64 LPs &lt;/li&gt;                &lt;li&gt;System support up to 4 groups in this release &lt;/li&gt;                &lt;li&gt;Maintains compatibility with legacy systems &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Processes and Threads      &lt;ul&gt;       &lt;li&gt;Processes can&amp;#160; contain threads executing in multiple groups &lt;/li&gt;        &lt;li&gt;Processes are assigned groups in round robin fashion &lt;/li&gt;        &lt;li&gt;Threads are assigned to a group based on:          &lt;ul&gt;           &lt;li&gt;Inheritance from creating thread &lt;/li&gt;            &lt;li&gt;Using new group affinity API &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Task Based Scheduling      &lt;ul&gt;       &lt;li&gt;Runtime support task based concurrency want to control when and where tasks execute &lt;/li&gt;        &lt;li&gt;Why not use kernel threads to represent tasks          &lt;ul&gt;           &lt;li&gt;Context switches between threads involve the kernel scheduler &lt;/li&gt;            &lt;li&gt;Runtime loses control when blocking event occurs &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;UMS – User Mode Scheduling      &lt;ul&gt;       &lt;li&gt;Enables switching between threads in user mode &lt;/li&gt;        &lt;li&gt;Returns control to the runtime when a thread blocks in the kernel &lt;/li&gt;        &lt;li&gt;Architecture          &lt;ul&gt;           &lt;li&gt;Divides threads into a user and kernel portion              &lt;ul&gt;               &lt;li&gt;Together these comprise a UMS Worker Thread &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Creates to views of what is being made &lt;/li&gt;            &lt;li&gt;When a Worker thread enters the kernel              &lt;ul&gt;               &lt;li&gt;porting of the Scheduler thread enters wait state &lt;/li&gt;                &lt;li&gt;Worker thread wakes and executes kernel service                  &lt;ul&gt;                   &lt;li&gt;Ensures correct kernel state for the Worker Thread &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;The Dispatcher Lock      &lt;ul&gt;       &lt;li&gt;Dispatcher database lock originally protected the integrity of all scheduler related data structures &lt;/li&gt;        &lt;li&gt;Over time additional locks introduced to reduce contention          &lt;ul&gt;           &lt;li&gt;Thread locks, timer table locks, PRCB locks &lt;/li&gt;            &lt;li&gt;Still synchronizes &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Replaced in Windows 7 by Coarse-Grained lock          &lt;ul&gt;           &lt;li&gt;Well defined locking hierarchy &lt;/li&gt;            &lt;li&gt;Per-object locking used for object paths &lt;/li&gt;            &lt;li&gt;Many Operations are lock-free &lt;/li&gt;            &lt;li&gt;Uses transactional semantics for waits &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740042" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>PDC09 – Pre-Conference - Windows 7 BootCamp Part 1/6 - Introduction</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-7-bootcamp-part-1-6-introduction.aspx</link><pubDate>Mon, 16 Nov 2009 18:17:53 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740037</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740037</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740037</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/pdc09-pre-conference-windows-7-bootcamp-part-1-6-introduction.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Introduction to the Windows 7 BootCamp&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Key Windows Kernel Changes&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Performance &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Footprint reduction&lt;/li&gt;      &lt;li&gt;Memory optimizations&lt;/li&gt;      &lt;li&gt;Working set management improvements&lt;/li&gt;      &lt;li&gt;Perftrack&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Power efficiency&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Core Parking&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Trying to make cores going to sleep if they are not needed&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Unified Background Process Manager&lt;/li&gt;      &lt;li&gt;Timer Coalescing&lt;/li&gt;      &lt;li&gt;Tick Skipping&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Reliability&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Fault Tolerant Heap&lt;/li&gt;      &lt;li&gt;Process Reflection&lt;/li&gt;      &lt;li&gt;Native VHD&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Ability to mount and manage VHDs&lt;/li&gt;        &lt;li&gt;Boot-from-VHD&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Scalability&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Simultaneous Multithreading Improvements&lt;/li&gt;        &lt;li&gt;User Model Scheduling&lt;/li&gt;        &lt;li&gt;Support for &amp;gt; 64 logical processors&lt;/li&gt;        &lt;li&gt;Lock removal, including PFM, dispatcher locks&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;Security&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;New UAC operating models&lt;/li&gt;      &lt;li&gt;Managed Service accounts&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Allows a service to run isolated form other services&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Bitlocker-to-go&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Extends the&amp;#160; previous versions in order to encrypt USB disks and we can use it in any other OS since it launches the Bitlocker-To-Go plugin in order to get access to the elements of the USB disks&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Windows Biometric Framework&lt;/li&gt;      &lt;li&gt;App Locker&lt;/li&gt;      &lt;li&gt;Auditing improvements&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;New Object global auditing in order to get information about why the user has or doesn’t have access to same information&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740037" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Entity Framework 4.0 News</title><link>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/entity-framework-4-0-news.aspx</link><pubDate>Mon, 16 Nov 2009 18:05:50 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1740036</guid><dc:creator>NunoGodinho</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/rsscomments.aspx?PostID=1740036</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nunogodinho/commentapi.aspx?PostID=1740036</wfw:comment><comments>http://msmvps.com/blogs/nunogodinho/archive/2009/11/16/entity-framework-4-0-news.aspx#comments</comments><description>&lt;p&gt;&amp;#160; In the last few days I’ve been seeing several element of the Entity Framework 4.0 that come with the .NET 4.0 and I there are several interesting news that I thought I could wrap up a little bit in this post, and so lets start with the news.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&amp;#160; &lt;strong&gt;Providers made for version 3.5 will work unmodified&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Great news for all the ones that develop their own custom providers in order to work with Entity Framework, and of course a nice information to know that the provider model is not being changed on this version. &lt;/li&gt;        &lt;li&gt;In order to know more about the several changes &lt;a href="http://blogs.msdn.com/adonet/archive/2009/10/22/new-features-in-entity-framework-impacting-providers.aspx"&gt;read here&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;New CTP for the ADO.NET Entity Framework Features that work with Visual Studio 2010 Beta 2 version&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Interesting news since in some cases we needed this in order to continue working with features like Self-Tracking Entities, and some new stuff is also here, like enhancements in the Code-Only EF model, in terms of:          &lt;ul&gt;           &lt;li&gt;Fine grained control over the model              &lt;ul&gt;               &lt;li&gt;Specify Navigation Properties inversed &lt;/li&gt;                &lt;li&gt;Property Facets &lt;/li&gt;                &lt;li&gt;Complex types &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Customizing Mappings              &lt;ul&gt;               &lt;li&gt;Change Table and Column Names &lt;/li&gt;                &lt;li&gt;Custom inheritance &lt;/li&gt;                &lt;li&gt;Entity Splitting &lt;/li&gt;                &lt;li&gt;Joining Table Mapping &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Read more &lt;a href="http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx"&gt;here&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Model First with Entity Framework&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Now we can develop our EF model first and even extend the Database Generation Workflow and DDL generation Template.          &lt;ul&gt;           &lt;li&gt;This is very important and shows how this EF version is extensible and lets us define what we want to happen, and how it will happen, and this is a great power for the ones that are using EF or using other ORM technologies and need more power into their models. &lt;/li&gt;            &lt;li&gt;Uses WF 4.0 as the way to provide extensibility for the Data Generations. Very interesting indeed. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A very good post of the PM of the Entity Designer of the EF, Noam Ben-Ami &lt;a href="http://blogs.msdn.com/adonet/archive/2009/11/05/model-first-with-the-entity-framework-4.aspx"&gt;here&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Foreign Key Relationships&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;This has always been a challenge with the different ORM technologies that I’ve used, and in the EF 4.0 a lot is being change, from using Implicit Associations to Explicit Associations.          &lt;ul&gt;           &lt;li&gt;&lt;em&gt;“In .NET 4.0 we’ve added support for FK Properties and FK Associations to the Entity Framework. It’s still possible to use Independent Associations and the two can be mixed in models. We’re excited to offer FK Associations because they simplify many common Entity Framework coding tasks. Hopefully this walkthrough has given you a feel for how you can use FK Associations and Properties.”&lt;/em&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Read more about this &lt;a href="http://blogs.msdn.com/adonet/archive/2009/11/06/foreign-key-relationships-in-the-entity-framework.aspx"&gt;here&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Automatic Generation of Stored Procedures Return Types&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Sometimes we need for a stored procedure to return several values, like a table, and in order to make this easier the EF team decided to provide a way to easily return a collection of complex types from Stored Procedures, and so in this new version the designer allows us to define with type of results the Store Procedure will return and then it will generate the need type on the Database. &lt;/li&gt;        &lt;li&gt;Very interesting also, read more &lt;a href="http://blogs.msdn.com/adonet/archive/2009/11/12/automatic-generation-of-stored-procedure-return-types.aspx"&gt;here&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Walkthroughs about &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/11/12/updated-feature-ctp-walkthrough-code-only-for-entity-framework.aspx"&gt;&lt;strong&gt;Code-Only&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/11/15/updated-feature-ctp-walkthrough-self-tracking-entities-for-the-entity-framework.aspx"&gt;&lt;strong&gt;Self-Tracking Entities&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; Hope this helps you knowing a little more about Entity Framework 4.0 and where to find more information’s.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1740036" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://msmvps.com/blogs/nunogodinho/archive/tags/WF4/default.aspx">WF4</category></item></channel></rss>