<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Blaine Wastell - patterns &amp; practices client architecture guidance : CAB</title><link>http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx</link><description>Tags: CAB</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>We need your feedback on Web Client Guidance</title><link>http://blogs.msdn.com/blaine/archive/2009/12/07/we-need-your-feedback-on-web-client-guidance.aspx</link><pubDate>Mon, 07 Dec 2009 19:09:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9933632</guid><dc:creator>blaine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/blaine/comments/9933632.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=9933632</wfw:commentRss><description>&lt;p&gt;Last week we posted our &lt;a href="http://webclientguidance.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36634"&gt;2nd public drop&lt;/a&gt; for the &lt;a href="http://blogs.msdn.com/blaine/archive/2009/11/17/first-public-drop-for-web-client-guidance-available-on-codeplex.aspx"&gt;Web Client Guidance project&lt;/a&gt;. We have over 1000 downloads of our first two drops which is great. We now need to your thoughts on how we are addressing the challenges of responsiveness and modularity which is why we created a &lt;a href="http://webclientguidance.codeplex.com/Thread/View.aspx?ThreadId=76893"&gt;discussion topic&lt;/a&gt; on Codeplex to get your feedback.&lt;/p&gt;  &lt;p&gt;We are only as good as the feedback we receive, so let us know how we are doing.&lt;/p&gt;  &lt;h4&gt;Drop 2&lt;/h4&gt;  &lt;p&gt;As background, this last drop made the following changes from the first drop.&lt;/p&gt;  &lt;h4&gt;Reference Implementation&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Upgraded to MVC2 Beta.      &lt;ul&gt;       &lt;li&gt;Consistentely using RenderAction to render views (No longer using ActionFilters+RenderPartial). See SongDetails, EditProfile and Home pages. &lt;/li&gt;        &lt;li&gt;Removed jQuery validations and replaced them with new custom validator attributes. Attributes are used in ViewModels and by JavaScript validation methods. See Register and EditProfile pages, validators are located in the /ViewModels/Validation folder and JavaScripts are in the CustomFormValidation.debug.js file.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Added modularity infrastructure.      &lt;ul&gt;       &lt;li&gt;Different supplier interfaces (IServiceSupplier, IRouteSupplier, IInitializable, and so on) are used to provide new Routes, Services, Initialization, and Endpoints to the main application. Registrars (ServiceRegistrar, EndpointRegistrar, RouteRegistrar, etc) are used for registering those items during the application startup (See global.asax). These allows to develop each feature in a decoupled way. &lt;/li&gt;        &lt;li&gt;An agnostic DI approach was used by using the CommonServiceLocator project in all infrastucture classes and interfaces. Particular implementations (such as the UnityControllerFactory and Service suppliers) are usign a UnityContainer. &lt;/li&gt;        &lt;li&gt;The modularity feature is not complete yet, and will be more stable in the next drop.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;A new MyLibrary module was Introduced.      &lt;ul&gt;       &lt;li&gt;The module provides a controller. See the LibraryController.cs for reference. &lt;/li&gt;        &lt;li&gt;Views for the Library controller are shared using MVC Areas. See /Areas/MyLibrary folder for reference. &lt;/li&gt;        &lt;li&gt;The module exposes a contextual rendering endpoint when the song search results are displayed. The “Add to Library” link is displayed only when this module is loaded. &lt;/li&gt;        &lt;li&gt;The module registers a shared service. See the MyLibrarySongDetailsProvider.cs. The Shell provides the SimpleLogger service.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;QuickStarts&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Enhanced the WebForms RI QuickStart. Song reviews can be added and deleted (Authorization). A preview is shown in the song results. This QuickStart is still in progress. &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Documentation&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Added the Script Loading document that leverages Webforms ScriptManager and MVC ScriptLoader information and considerations. &lt;/li&gt;    &lt;li&gt;Added the UX Patterns document. &lt;/li&gt;    &lt;li&gt;Added Webforms: Top Ten Tasks for improving responsiveness (very early draft).&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9933632" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Web+Client/default.aspx">Web Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Listen to Elegant Code’s recent Webcast on Prism 2.0 with Bob Brumfield and Blaine Wastell</title><link>http://blogs.msdn.com/blaine/archive/2009/04/23/list-to-elegant-code-s-recent-podcast-on-prism-2-0-with-bob-brumfield-and-blaine-wastell.aspx</link><pubDate>Thu, 23 Apr 2009 18:50:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9564974</guid><dc:creator>blaine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/blaine/comments/9564974.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=9564974</wfw:commentRss><description>&lt;p&gt;David Starr and Scott Nichols of &lt;a href="http://elegantcode.com/2009/04/22/code-cast-26-prism-20/"&gt;Elegant Code&lt;/a&gt; recently interviewed &lt;a href="http://blogs.msdn.com/bobbrum/"&gt;Bob&lt;/a&gt; and I regarding Prism 2.0 (aka Composite Application Guidance for WPF and Silverlight). Check it out for a good walk through of Prism, the differences between Prism 1.0 and Prism 2.0, and the differences between CAB and Prism.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9564974" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Prism training is available from Rolling Thunder</title><link>http://blogs.msdn.com/blaine/archive/2009/04/01/prism-training-is-available-from-rolling-thunder.aspx</link><pubDate>Thu, 02 Apr 2009 00:20:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9527882</guid><dc:creator>blaine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/blaine/comments/9527882.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=9527882</wfw:commentRss><description>&lt;p&gt;David Platt from Rolling Thunder is offering a &lt;a href="http://www.rollthunder.com/prism/prismpublicclass.htm"&gt;training course&lt;/a&gt; on Composite Application Guidance for WPF and Silverlight on May 18 – 20. David provides training for both Prism and CAB/Smart Client Software Factory. Check it out if you are looking for training.&lt;/p&gt;  &lt;p&gt;As I mentioned in a previous &lt;a href="http://blogs.msdn.com/blaine/archive/2009/02/28/learn-prism.aspx"&gt;blog post&lt;/a&gt; we also have videos that walk through Prism concepts.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9527882" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Update on SCSF, WCSF, and Software Factories</title><link>http://blogs.msdn.com/blaine/archive/2009/02/26/update-on-scsf-wcsf-and-software-factories.aspx</link><pubDate>Fri, 27 Feb 2009 02:21:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9447627</guid><dc:creator>blaine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/blaine/comments/9447627.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=9447627</wfw:commentRss><description>&lt;p&gt;A number of customers have asked about our plans for the Web Client Software Factory and the Smart Client Software Factory (SCSF). In a previous &lt;a href="http://blogs.msdn.com/blaine/archive/2008/12/03/roadmap-for-wcsf.aspx"&gt;post&lt;/a&gt; I announced that we are planning on updating the Web Client Software Factor for Visual Studio 2010. We also plan to update SCSF to run on Visual Studio 2010.&lt;/p&gt;  &lt;p&gt;Don Smith posted a blog with our high level plans for the software factories and GAT/GAX for Visual Studio 2010. Check it out &lt;a href="http://blogs.msdn.com/donsmith/archive/2009/02/25/on-the-subject-of-software-factories.aspx"&gt;here&lt;/a&gt;. The key message here is that we at patterns and practices are committed to refreshing the software factories and GAT/GAX for Visual Studio 2010. As Don says in his post, help us understand the most important scenarios for you. Post a comment to this blog.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9447627" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Web+Client/default.aspx">Web Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category></item><item><title>Announcing 6 new patterns and practices releases</title><link>http://blogs.msdn.com/blaine/archive/2008/11/07/announcing-6-new-patterns-and-practices-releases.aspx</link><pubDate>Fri, 07 Nov 2008 21:28:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9052761</guid><dc:creator>blaine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/blaine/comments/9052761.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=9052761</wfw:commentRss><description>&lt;p&gt;The patterns &amp;amp; practices team just published 6 new releases in the last two weeks. Ajoy discusses the releases on his &lt;a href="http://blogs.msdn.com/ajoyk/archive/2008/11/04/p-p-goes-on-a-release-spree.aspx"&gt;blog&lt;/a&gt;. The new releases include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enterprise Library v4.1&lt;/li&gt;    &lt;li&gt;Unity Application Block v1.2&lt;/li&gt;    &lt;li&gt;Distributed Agile Development white paper and Agile showcase&lt;/li&gt;    &lt;li&gt;Application Architecture Guide v2.0 (Beta 1)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/blaine/archive/2008/11/05/sharepoint-guidance-is-live.aspx"&gt;SharePoint Development Guidance v1.0&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Acceptance Testing Guidance&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Check out the new guidance as there is truly lots of new and useful guidance.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9052761" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/p_2600_amp_3B00_p+Agile+Process/default.aspx">p&amp;amp;p Agile Process</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Web+Client/default.aspx">Web Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Productivity/default.aspx">Productivity</category><category domain="http://blogs.msdn.com/blaine/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/blaine/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>CAB to Prism Comparison Available on Codeplex</title><link>http://blogs.msdn.com/blaine/archive/2008/09/30/cab-to-prism-comparison-available-on-codeplex.aspx</link><pubDate>Tue, 30 Sep 2008 19:17:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8970442</guid><dc:creator>blaine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/blaine/comments/8970442.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=8970442</wfw:commentRss><description>&lt;p&gt;Our Composite UI Application Block (CAB) customers have been asking for comparison documentation between CAB to Composite Application Guidance for WPF (Prism). You can download the guidance from &lt;a href="http://www.codeplex.com/CompositeWPF/Release/ProjectReleases.aspx?ReleaseId=16941"&gt;here&lt;/a&gt;. This documentation helps you understand the difference between the libraries to help you plan your migration to Prism.&lt;/p&gt;  &lt;p&gt;This figure provides a comparison of CAB and Prism. One of the big items to understand is what happened to work items. The documentation provides a lot of content on this issue.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/blaine/WindowsLiveWriter/CABtoPrismComparisonAvailableonCodeplex_13281/CABtoCALOverview_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="612" alt="CABtoCALOverview" src="http://blogs.msdn.com/blogfiles/blaine/WindowsLiveWriter/CABtoPrismComparisonAvailableonCodeplex_13281/CABtoCALOverview_thumb.png" width="777" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Table of Contents of the Guidance&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Introduction    &lt;br /&gt;Intended Audience     &lt;br /&gt;Why Migrate from the Composite UI Application Block to the Composite Application Library?     &lt;br /&gt;Moving from the Composite UI Application Block to the Composite Application Guidance     &lt;br /&gt;- Application Structure     &lt;br /&gt;- Application Startup     &lt;br /&gt;- Loading Modules     &lt;br /&gt;- Where did the WorkItems go?     &lt;br /&gt;- Workspaces and Regions     &lt;br /&gt;- Providing Metadata to a View     &lt;br /&gt;- Presentation Patterns     &lt;br /&gt;- Registering Services     &lt;br /&gt;- Wiring Views and Services Using Dependency Injection     &lt;br /&gt;- Event Broker     &lt;br /&gt;- Commands     &lt;br /&gt;More Information     &lt;br /&gt;Appendix     &lt;br /&gt;- Emulating WorkItems Using Controllers with Scoped Containers&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Check out the guidance and let us know your thoughts. We will take your feedback into account before we publish the guidance on MSDN. Thank you in advanced to your feedback.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8970442" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Scope for Prism 2.0</title><link>http://blogs.msdn.com/blaine/archive/2008/09/02/scope-for-prism-2-0.aspx</link><pubDate>Tue, 02 Sep 2008 21:58:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8920476</guid><dc:creator>blaine</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/blaine/comments/8920476.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=8920476</wfw:commentRss><description>&lt;p&gt;In my previous &lt;a href="http://blogs.msdn.com/blaine/archive/2008/08/28/composite-for-silverlight-survey.aspx"&gt;post&lt;/a&gt;, I mentioned that we planned on creating guidance for Composite Silverlight applications. David Hill just &lt;a href="http://blogs.msdn.com/dphill/archive/2008/08/31/hello-prism-2-0.aspx"&gt;blogged&lt;/a&gt; on our plans for Prism 2.0. From this survey we heard you wanted guidance on:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Multi-targeting controller, presenters, services, and models for both Silverlight and WPF&lt;/li&gt; &lt;li&gt;UI Composition for Silverlight&lt;/li&gt; &lt;li&gt;Modular Development for Silverlight &lt;/li&gt; &lt;li&gt;Data access&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Based upon this feedback we decided to create guidance that will help you create Multi-targeted Silverlight and WPF applications and Composite Silverlight applications. We plan to use the existing Prism...I mean Composite Application Guidance for WPF as the starting point.&lt;/p&gt; &lt;p&gt;Based upon your feedback, we decided to guidance on SharePoint Intranet Development. This includes help with solution architecture, solution development, and packaging and deployment.  &lt;h5&gt;Elevator Pitch:&lt;/h5&gt; &lt;p&gt;&lt;strong&gt;Target Customer: &lt;/strong&gt; Primary: Silverlight Professional Developers (Includes Architects); Secondary: Human Designer &lt;p&gt;&lt;strong&gt;Statement of Need: &lt;/strong&gt;Build new multi-targeted Silverlight and WPF client applications maintained by multiple teams (composite application).  &lt;p&gt;&lt;strong&gt;Product Name and Capability: &lt;/strong&gt; &lt;ul&gt; &lt;li&gt;Prism...Composite Application Guidance for Silverlight&amp;nbsp; &lt;li&gt;Reusable components, guidance, automation and samples for developing composite WPF and Silverlight applications &lt;li&gt;Enable cross-targeting of applications for WPF and Silverlight easier.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Key Benefit:&lt;/strong&gt; &lt;ul&gt; &lt;li&gt;Provides infrastructure for developing and maintaining WPF and Silverlight composite applications&lt;/li&gt; &lt;li&gt;User Interface components are dynamically composed&lt;/li&gt; &lt;li&gt;Application modules are developed, tested and deployed by separate teams&lt;/li&gt; &lt;li&gt;Allows reusable components across WPF and Silverlight applications &lt;/li&gt;&lt;/ul&gt; &lt;h5&gt;Focus Areas of the Guidance:&lt;/h5&gt; &lt;p&gt;&lt;strong&gt;Multi-targeting:&lt;/strong&gt; &lt;ul&gt; &lt;li&gt;Developer needs to reuse controllers, presenters, services, and models across Silverlight and WPF: Must Have&lt;/li&gt; &lt;li&gt;Developer needs reuse unit tests across Silverlight and WPF: Delighter&lt;/li&gt; &lt;li&gt;Developer needs to reuse validation across Silverlight and WPF: Delighter&lt;/li&gt; &lt;li&gt;Developer needs reuse UI elements across Silverlight and WPF (styling to views): Delighter&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Composite Application Guidance for Silverlight&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Developer needs guidance on creating a Composite User Interface for Silverlight: Must Have&lt;/li&gt; &lt;li&gt;Developer needs guidance on creating modular application for Silverlight: Must Have&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Line of Business Guidance for Silverlight&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Developer needs guidance on how to query data and send updates to the server: Delighter&lt;/li&gt; &lt;li&gt;Developer needs guidance on how to create validation rules: Delighter&lt;/li&gt; &lt;li&gt;Developer needs guidance on how to authenticate and authorize users: Delighter&lt;/li&gt; &lt;li&gt;Developer needs guidance on how to cache data on the client: Delighter&lt;/li&gt; &lt;li&gt;Developer needs guidance on logging and exception handling: Delighter&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Note that the Must Have's we plan on addressing. The Delighter's we will complete as many as we have time which of course could be none. Give us your feedback on the scope. Are we tackling the right set of challenges?&lt;/p&gt; &lt;p&gt;As an fyi, David Hill recently &lt;a href="http://blogs.msdn.com/dphill/archive/2008/07/20/new-role-new-challenges.aspx"&gt;joined the p&amp;amp;p team&lt;/a&gt; and we are really happy to have him on board. I have had the opportunity to work with David in many different roles over the last 5 years. David played an advisor for some of our early Smart Client work which included the Offline Application Block and CAB. He also helped us write the Smart Client Architecture and Design Guide. More recently David was an advisor from the product team for Prism 1.0 and played a big role in helping us simplify the experience of adopting Prism. We are glad that he will be "pig" on Prism 2.0 for those that understand the pig and chicken analogy from SCRUM.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8920476" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Web+Client/default.aspx">Web Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Loosely coupled communication</title><link>http://blogs.msdn.com/blaine/archive/2008/06/08/loosely-couple-communication.aspx</link><pubDate>Sun, 08 Jun 2008 02:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8580360</guid><dc:creator>blaine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/blaine/comments/8580360.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=8580360</wfw:commentRss><description>&lt;P&gt;Check our &lt;A href="http://blogs.msdn.com/francischeung/" mce_href="http://blogs.msdn.com/francischeung/"&gt;Francis Cheung's blog posts&lt;/A&gt; on loosely couple communication for composite WPF applications. Francis discusses three mechanisms for loosely coupled communication:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Shared Services&lt;/LI&gt;
&lt;LI&gt;Commanding&lt;/LI&gt;
&lt;LI&gt;Event Aggregation&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Francis (did most of the work) and I identified some guidelines on when to use each of these mechanisms. Let us know your thoughts on the guidance as this is input to our Prism documentation.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guidelines for loosely coupled communication&lt;/STRONG&gt; 
&lt;P&gt;When communicating between modules you can use Shared Services, Commanding, or Event Aggregation. Use the following to help decide which approach to use: 
&lt;UL&gt;
&lt;LI&gt;If you need to respond to a user gesture, such as clicking on a command invoker (button, menu item.), and you want the invoker to be enabled based on business logic, use &lt;B&gt;Commanding&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;If you need to fire an event and do not need a response, use an &lt;B&gt;Event Aggregator&lt;/B&gt;&lt;/LI&gt;
&lt;LI&gt;Otherwise consider using a service locator to register and resolve &lt;B&gt;Shared Services&lt;/B&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8580360" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Track Prism project</title><link>http://blogs.msdn.com/blaine/archive/2008/05/15/track-prim-project.aspx</link><pubDate>Thu, 15 May 2008 02:21:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8505328</guid><dc:creator>blaine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/blaine/comments/8505328.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=8505328</wfw:commentRss><description>&lt;p&gt;The Prism project is making good progress toward our first release at the end of June..ish. If you want to track our progress for the past iterations, check out the &lt;a href="http://www.codeplex.com/prism/Wiki/View.aspx?title=Releases&amp;amp;referringTitle=Home"&gt;Releases&lt;/a&gt; page on Codeplex. In the current drop, we created:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/prism/Wiki/View.aspx?title=05142008%20Iteration%20Drop&amp;amp;referringTitle=Releases"&gt;New Event Aggregation QuickStart&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/prism/Wiki/View.aspx?title=05142008%20Iteration%20Drop&amp;amp;referringTitle=Releases"&gt;New Elements added to Prism to support Event Aggregation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/prism/Wiki/View.aspx?title=05142008%20Iteration%20Drop&amp;amp;referringTitle=Releases"&gt;Updated the Regions implementation&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Below is a screen shot of the Event Aggregation QuickStart. You will notice that our excellent UI design skills are displayed with this QuickStart. &lt;/p&gt; &lt;p&gt;&lt;img height="383" alt="shell.png" src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=prism&amp;amp;DownloadId=34488" width="361"&gt;&lt;/p&gt; &lt;p&gt;We updated the RI's look and feel. Check it out. &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/blaine/WindowsLiveWriter/TrackPrimproject_E5F7/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="448" alt="image" src="http://blogs.msdn.com/blogfiles/blaine/WindowsLiveWriter/TrackPrimproject_E5F7/image_thumb.png" width="537" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8505328" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Prism/default.aspx">Prism</category></item><item><title>Smart Client Software Factory - April 2008 Release for Visual Studio 2008 is now available on MSDN</title><link>http://blogs.msdn.com/blaine/archive/2008/04/26/smart-client-software-factory-april-2008-release-for-visual-studio-2008-is-now-available-on-msdn.aspx</link><pubDate>Sat, 26 Apr 2008 17:33:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8427555</guid><dc:creator>blaine</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/blaine/comments/8427555.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=8427555</wfw:commentRss><description>&lt;p&gt;As &lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/04/25/smart-client-software-factory-april-2008-release-is-available-on-msdn.aspx"&gt;Mike&lt;/a&gt; announced in his blog yesterday, we released an updated version of the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480482.aspx"&gt;Smart Client Software Factory for Visual Studio 2008&lt;/a&gt;. As previously discussed in &lt;a href="http://blogs.msdn.com/blaine/archive/2008/04/10/scsf-april-2008-alpha-for-visual-studio-2008-published-to-codeplex.aspx"&gt;my blog&lt;/a&gt;, this release provides:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Support for Visual Studio 2008.&amp;nbsp; &lt;/li&gt; &lt;li&gt;Fixes for bugs identified by the community on C&lt;a href="www.codeplex.com/smartclient"&gt;odePlex&lt;/a&gt;.  &lt;li&gt;Side-by-side usage of the April 2008 Guidance Package with the May 2007 Guidance Package. &lt;li&gt;Support for Enterprise Library 3.1 &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc540671.aspx"&gt;Documentation in HTML format on MSDN&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The release does require &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718949.aspx"&gt;Guidance Automation Extensions - February 2008 Release&lt;/a&gt; (GAX). When you upgrade to the Guidance Automate Extensions - February 2008 release you can install it on top of your existing version of GAX and you no longer need to uninstall your Guidance Automate Toolkit Packages.&lt;/p&gt; &lt;p&gt;Once Enterprise Library 4.0 is released, we will provide guidance in the &lt;a href="http://www.codeplex.com/smartclient/Wiki/View.aspx?title=SCSF%20Knowledge%20Base&amp;amp;referringTitle=Home"&gt;Smart Client knowledge base&lt;/a&gt; on how to upgrade to this version of Enterprise Library. If you need to run on Visual Studio 2005, you should download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=2b6a10f9-8410-4f13-ad53-05a202fbdb63&amp;amp;displaylang=en"&gt;Smart Client Software Factory - May 2007 release&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Here is a snapshot of how you can access the documentation in HTML format on MSDN from the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480482.aspx"&gt;SCSF Home Page&lt;/a&gt;:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/blaine/WindowsLiveWriter/SmartClientSoftwareFactoryApril2008Relea_6A39/MSDNDocumentation.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="758" alt="MSDNDocumentation" src="http://blogs.msdn.com/blogfiles/blaine/WindowsLiveWriter/SmartClientSoftwareFactoryApril2008Relea_6A39/MSDNDocumentation_thumb.jpg" width="997" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;You can access the following topics in HTML format here:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc540671.aspx"&gt;Introducing the Smart Client Software Factory&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc540679.aspx"&gt;Inspecting the Software Factory Assets&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc540827.aspx"&gt;Development Activities&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc558871.aspx"&gt;Deploying Smart Client Application with ClickOnce&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc558913.aspx"&gt;Customizing the Smart Client Software Factory&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The downloads for this release can be found:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3BE112CC-B2C1-4215-9330-9C8CF9BCC6FA&amp;amp;displaylang=en"&gt;Smart Client Software Factory - April 2008&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5C42C35D-DA1C-40B9-892E-11AB13AAFD9E&amp;amp;displaylang=en"&gt;Smart Client Software Factory Source Code - April 2008&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=5027"&gt;Documentation&lt;/a&gt; in CHM format&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Please note that the source code and documentation is the duplicated in the factory and in the separated downloads. This provides you the opportunity to view them without having to install the entire factory.&lt;/p&gt; &lt;p&gt;As always, provide feedback on CodePlex community site which is &lt;a href="http://www.codeplex.com/smartclient"&gt;www.codeplex.com/smartclient&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8427555" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/Web+Client/default.aspx">Web Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category></item><item><title>SCSF April 2008 Alpha for Visual Studio 2008 Published to CodePlex</title><link>http://blogs.msdn.com/blaine/archive/2008/04/10/scsf-april-2008-alpha-for-visual-studio-2008-published-to-codeplex.aspx</link><pubDate>Fri, 11 Apr 2008 01:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8376856</guid><dc:creator>blaine</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/blaine/comments/8376856.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=8376856</wfw:commentRss><description>&lt;P&gt;In response to customer requests, we just published the &lt;A href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=smartclient&amp;amp;ReleaseId=12468" mce_href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=smartclient&amp;amp;ReleaseId=12468"&gt;Smart Client Software Factory April 2008 Alpha release&lt;/A&gt; to CodePlex. As I mentioned in a previous &lt;A href="http://blogs.msdn.com/blaine/archive/2008/03/27/smart-client-software-factory-for-visual-studio-2008-close-to-shipping.aspx" mce_href="http://blogs.msdn.com/blaine/archive/2008/03/27/smart-client-software-factory-for-visual-studio-2008-close-to-shipping.aspx"&gt;blog&lt;/A&gt; we are close to finishing this release. The current plan is to go out with EntLib 3.1 support as we are not taking advantage of new EntLib 4.0 features such as Unity. If you have a compelling reason for us to delay the release for EntLib 4.0 we want to hear from you soon so we have time to consider the change.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;New in this release:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The April 2008 release of the Smart Client Software Factory includes support for Visual Studio 2008. This release does not support Visual Studio 2005. &lt;/LI&gt;
&lt;LI&gt;We fixed a few bugs that were identified by the community.&lt;/LI&gt;
&lt;LI&gt;Requires &lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/aa718949.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/aa718949.aspx"&gt;Guidance Automation Extensions 1.4&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;April 2008 Guidance Package can run side-by-side with the May 2007 Guidance Package.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Known issues&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If the SCSF source is installed on the default path, compiling Quickstarts.WPFIntegration.sln will fail with path too long error. &lt;/LI&gt;
&lt;LI&gt;If the SCSF source is installed on the default path, compiling GuidancePackage.sln will fail with path too long error. &lt;/LI&gt;
&lt;LI&gt;Unit tests of CompositeUI.WPF.Tests project (in CompositeUI-WPFExtensions.sln) will fail when executed under debug mode.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Note: This is an alpha release and still has known bugs. We have not completed testing the factory. &lt;B&gt;Use at your own risk&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;Go try it out and give us your feedback on the &lt;A class="" href="http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=25736" mce_href="http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=25736"&gt;discussion board&lt;/A&gt; especially regarding EntLib 3.1 and 4.0 support. You should also read &lt;A href="http://blogs.msdn.com/mpuleio/archive/2008/04/10/smart-client-software-factory-april-2008-alpha-available.aspx" mce_href="http://blogs.msdn.com/mpuleio/archive/2008/04/10/smart-client-software-factory-april-2008-alpha-available.aspx"&gt;Mike's blog&lt;/A&gt; on the release.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8376856" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category><category domain="http://blogs.msdn.com/blaine/archive/tags/EntLib/default.aspx">EntLib</category></item><item><title>WPF Composite Client</title><link>http://blogs.msdn.com/blaine/archive/2007/10/29/wpf-composite-client.aspx</link><pubDate>Mon, 29 Oct 2007 22:21:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5769800</guid><dc:creator>blaine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/blaine/comments/5769800.aspx</comments><wfw:commentRss>http://blogs.msdn.com/blaine/commentrss.aspx?PostID=5769800</wfw:commentRss><description>&lt;p&gt;The Acropolis team&amp;nbsp;just &lt;a href="http://blogs.msdn.com/acropolis/archive/2007/10/29/An-Acropolis-Update.aspx"&gt;announced&lt;/a&gt; that&amp;nbsp; the core Acropolis concepts&amp;nbsp;will be rolled into future .NET Framework releases.&amp;nbsp;As &lt;a href="http://blogs.msdn.com/gblock/archive/2007/10/26/wpf-composite-client-guidance-it-s-coming.aspx"&gt;Glenn&lt;/a&gt; just announced, the patterns &amp;amp; practices team will develop WPF Composite Client guidance. This is not a&amp;nbsp; new version of CAB . It is an entirely new&amp;nbsp;set of&amp;nbsp; libraries and guidance, built from the ground&amp;nbsp;up, targeting development of new WPF Composite applications.&amp;nbsp; We'll be working with both the UIFX and WPF teams, the same people who build the platform.&lt;/p&gt; &lt;p&gt;For more details on our plans check out &lt;a href="http://blogs.msdn.com/gblock/archive/2007/10/26/wpf-composite-client-guidance-it-s-coming.aspx"&gt;Glenn's&lt;/a&gt; blog post.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5769800" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/blaine/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/blaine/archive/tags/CAB/default.aspx">CAB</category></item></channel></rss>