<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mariano Szklanny &#187; patterns and practices</title>
	<atom:link href="http://blogs.southworks.net/mszklanny/category/patterns-and-practices/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.southworks.net/mszklanny</link>
	<description>A southy sharing thoughts &#38; experiences</description>
	<lastBuildDate>Mon, 11 May 2009 12:32:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Composite Application Guidance for WPF (Prism) documentation in multiple formats</title>
		<link>http://blogs.southworks.net/mszklanny/2008/12/20/composite-application-guidance-for-wpf-prism-documentation-in-japanese/</link>
		<comments>http://blogs.southworks.net/mszklanny/2008/12/20/composite-application-guidance-for-wpf-prism-documentation-in-japanese/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 22:39:23 +0000</pubDate>
		<dc:creator>Mariano Szklanny</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[patterns and practices]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/mszklanny/?p=191</guid>
		<description><![CDATA[... <a href="http://blogs.southworks.net/mszklanny/2008/12/20/composite-application-guidance-for-wpf-prism-documentation-in-japanese/" class="more-link">read more<img src="http://blogs.southworks.net/mszklanny/wp-content/themes/southworks/assets/img/arrow-blue.png" width="12" height="12" alt="" /></a>]]></description>
			<content:encoded><![CDATA[<p>Back in July, I <a href="http://blogs.southworks.net/mszklanny/2008/07/09/composite-guidance-for-wpf-documentation-and-hands-on-lab/">posted</a> about the documentation shipped with the first release of the <a href="http://www.microsoft.com/compositewpf">Composite Application Guidance for WPF</a> (aka Prism). Some months ago, the docs have been presented in book format:</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-192" src="http://blogs.southworks.net/mszklanny/files/2008/12/prismbook.jpg" alt="" width="250" height="305" /><br />
(<a href="http://blogs.southworks.net/dpoza/2008/10/31/composite-application-guidance-for-wpf-prism-v1-book-released/">more details</a> | <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e3e87bdc-fec1-4489-91fa-e1cf69721563">PDF version</a>)</p>
<p>Recently, I have been notified that the <a href="http://msdn.microsoft.com/ja-jp/library/dd365013.aspx" target="_blank">Japanese version</a> is also available:<br />
<img class="aligncenter size-full wp-image-193" src="http://blogs.southworks.net/mszklanny/files/2008/12/prismjapanese.png"><br />
This is great news &#8211; way to go patterns &amp; practices team!</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Composite Guidance for WPF Documentation and Hands On Lab</title>
		<link>http://blogs.southworks.net/mszklanny/2008/07/09/composite-guidance-for-wpf-documentation-and-hands-on-lab/</link>
		<comments>http://blogs.southworks.net/mszklanny/2008/07/09/composite-guidance-for-wpf-documentation-and-hands-on-lab/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 17:15:46 +0000</pubDate>
		<dc:creator>Mariano Szklanny</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[Smart Clients]]></category>
		<category><![CDATA[patterns and practices]]></category>

		<guid isPermaLink="false">http://blogs.southworks.net/mszklanny/?p=180</guid>
		<description><![CDATA[... <a href="http://blogs.southworks.net/mszklanny/2008/07/09/composite-guidance-for-wpf-documentation-and-hands-on-lab/" class="more-link">read more<img src="http://blogs.southworks.net/mszklanny/wp-content/themes/southworks/assets/img/arrow-blue.png" width="12" height="12" alt="" /></a>]]></description>
			<content:encoded><![CDATA[<p>As you may already now, the <a href="http://msdn.microsoft.com/en-us/library/cc707819.aspx" target="_blank">Composite Application Guidance for WPF</a> was released a few days ago. In this project I had the pleasure of working with the <a href="http://msdn.microsoft.com/en-us/practices/default.aspx" target="_blank">patterns &amp; practices</a> team, mainly as a technical writer. (I wrote a few lines of code too, but nothing compared to the huge job done by devs!)</p>
<h3>Hands On Lab for free</h3>
<p>One of the things I want to highlight is that, apart from having 300 printed pages (!), the documentation includes a <a href="http://msdn.microsoft.com/en-us/library/cc707878.aspx" target="_blank">Hands on Lab</a>. What I like about Hands on Labs is that they provide a guided and integrated learning process through practical exercises surrounded by background technical content.</p>
<p>The Lab is quite hidden in the table of contents; you can find it under the node <a href="http://msdn.microsoft.com/en-us/library/cc707878.aspx" target="_blank">Composite Application Guidance for WPF Hands On Lab</a> in the table of contents.<a href="http://blogs.southworks.net/mszklanny/files/2008/07/toc.png"><img src="http://blogs.southworks.net/mszklanny/files/2008/07/toc-thumb.png" border="0" alt="ToC" width="354" height="199" /></a></p>
<h4>Covered Topics</h4>
<p>This lab covers the basic concepts of the Composite Application Guidance for WPF as you build a simple Hello World application. The following is a list of questions we tried to address:</p>
<ul>
<li>What an application based on the Composite Application Library is</li>
<li>What are the Composite Application Library assemblies, what they contain</li>
<li>What is the Shell project and the Shell window</li>
<li>What is the Bootstrapper, and what is the UnityBootstrapper class and how it is used</li>
<li>What is a container and how it relates to the dependency injection pattern</li>
<li>What is a service</li>
<li>What is a region</li>
<li>What type of regions are supported out-of-the-box by the Composite Application Library</li>
<li>What is a module</li>
<li>What is the module initializer class</li>
<li>What folders a module typically contains</li>
<li>What are the different ways of loading modules</li>
<li>What is the StaticModuleEnumerator class and how it is used</li>
<li>What is a view</li>
<li>What is the Region manager and how to use it to add views and named views</li>
</ul>
<h4>Topics not Covered</h4>
<p>To keep the Lab simple (and to ship on time!), we consciously kept some topics out of the Lab. However, you can find information about those topics across the documentation. The following list presents some of the topics not covered in the Lab and links to related resources:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/cc707894.aspx" target="_blank">Commands</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc707894.aspx" target="_blank">Decoupled Events</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc707834.aspx" target="_blank">How to dynamically load modules</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc707863.aspx" target="_blank">Scoped Regions</a>.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc707885.aspx" target="_blank">Presentation Model</a> and <a href="http://msdn.microsoft.com/en-us/library/cc707873.aspx" target="_blank">Supervising Controller</a> patterns</li>
<li>How to unit test an application based on the Composite Application Library. See the source code in the <a href="http://msdn.microsoft.com/en-us/library/cc707869.aspx" target="_blank">Stock Trader Reference Implementation</a> or in the <a href="http://msdn.microsoft.com/en-us/library/cc707865.aspx" target="_blank">QuickStarts</a>.</li>
</ul>
<h3>Feedback Welcome</h3>
<p>We didn&#8217;t include Hands On Labs in previous deliverables like the <a href="http://www.msdn.com/smartclientfactory" target="_blank">Smart Client Software Factory</a> and the <a href="http://www.msdn.com/webclientfactory" target="_blank">Web Client Software Factory</a>, so we are experimenting a new approach here (we did released Hands on Lab as separate downloads some time after the official releases, though). I personally think that including a Hands On Lab within the initial package will help users with the learning process and adoption, but I&#8217;m excited about reading your comments.</p>
<p>Do you like the lab? Is it useful? Would you recommend it to your colleagues and/or customers? It is great to receive feedback like <a href="http://davidhayden.com/blog/dave/archive/2008/07/05/CompositeApplicationGuidanceWPFDocumentationIntroduction.aspx" target="_blank">this</a>, but negative feedback is welcome too!</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Prism Team</title>
		<link>http://blogs.southworks.net/mszklanny/2008/04/28/prism-team/</link>
		<comments>http://blogs.southworks.net/mszklanny/2008/04/28/prism-team/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 02:42:00 +0000</pubDate>
		<dc:creator>Mariano Szklanny</dc:creator>
				<category><![CDATA[Prism]]></category>
		<category><![CDATA[patterns and practices]]></category>

		<guid isPermaLink="false">/blogs/mariano/archive/2008/04/27/Prism-Team.aspx</guid>
		<description><![CDATA[... <a href="http://blogs.southworks.net/mszklanny/2008/04/28/prism-team/" class="more-link">read more<img src="http://blogs.southworks.net/mszklanny/wp-content/themes/southworks/assets/img/arrow-blue.png" width="12" height="12" alt="" /></a>]]></description>
			<content:encoded><![CDATA[<p>Want to see how we work at Prism? Don&#8217;t miss <a href="http://codebetter.com/blogs/glenn.block/archive/2008/04/27/the-prism-team-and-how-we-develop.aspx" target="_blank">this great post</a> from <a href="http://codebetter.com/blogs/glenn.block/default.aspx" target="_blank">Glenn</a>. He describes the team, how we work, what being at the team room feels, and he also shows pictures of the (distributed) team and includes videos that show how we do iteration planning.</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/prismteam1-2.jpg"><img height="139" alt="Prism Team 1_2" src="http://blogs.southworks.net/mszklanny/files/2008/06/prismteam1-2-thumb.jpg" width="184" border="0" /></a>&#160;<a href="http://blogs.southworks.net/mszklanny/files/2008/06/prismteam2-4.jpg"><img height="139" alt="Prism Team 2_4" src="http://blogs.southworks.net/mszklanny/files/2008/06/prismteam2-4-thumb.jpg" width="184" border="0" /></a>     <br /><a href="http://blogs.southworks.net/mszklanny/files/2008/06/prismteam3-4.jpg"><img height="138" alt="Prism Team 3_4" src="http://blogs.southworks.net/mszklanny/files/2008/06/prismteam3-4-thumb.jpg" width="183" border="0" /></a> </p>
<p><strong>The Prism team.</strong>    <br /><em>1st picture: Redmond, WA, USA. 2nd picture: Buenos Aires, Argentina. 3rd picture: India</em></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smart Client Software Factory v2 shipped!</title>
		<link>http://blogs.southworks.net/mszklanny/2007/05/19/smart-client-software-factory-v2-shipped/</link>
		<comments>http://blogs.southworks.net/mszklanny/2007/05/19/smart-client-software-factory-v2-shipped/#comments</comments>
		<pubDate>Sat, 19 May 2007 20:08:20 +0000</pubDate>
		<dc:creator>Mariano Szklanny</dc:creator>
				<category><![CDATA[SCSF]]></category>
		<category><![CDATA[Smart Clients]]></category>
		<category><![CDATA[patterns and practices]]></category>

		<guid isPermaLink="false">/blogs/mariano/archive/2007/05/19/Smart-Client-Software-Factory-v2-shipped_2100_.aspx</guid>
		<description><![CDATA[... <a href="http://blogs.southworks.net/mszklanny/2007/05/19/smart-client-software-factory-v2-shipped/" class="more-link">read more<img src="http://blogs.southworks.net/mszklanny/wp-content/themes/southworks/assets/img/arrow-blue.png" width="12" height="12" alt="" /></a>]]></description>
			<content:encoded><![CDATA[<p>Yes! We finally shipped it! It took us a little more time than what we expected but I&#8217;m very excited about the new features and capabilities we are providing to the community. This release provides (from <a href="http://blogs.msdn.com/blaine/archive/2007/05/19/smart-client-software-factory-may-2007-release-is-live.aspx">Blaine&#8217;s announcement post</a>):</p>
<blockquote><ul>
<li><em>Windows Presentation Foundation interoperability CAB extensions&#160; and View with presenter recipe (</em>don&#8217;t miss <a href="http://staff.southworks.net/blogs/msaez/archive/2007/04/29/WPF-Support-in-SCSF.aspx">this post</a> from <a href="http://staff.southworks.net/msaez">Miguel Saez</a> for more details<em>)</em> </li>
<li><em>Offline application blocks and recipes; the application blocks support asynchronous calls to WCF web services. </em></li>
<li><em>Richer ClickOnce Deployment capabilities </em></li>
<li><em>Enhanced guidance packages which includes code generation Visual Basic .NET 2005 </em>(don&#8217;t miss <a href="http://staff.southworks.net/blogs/jarguello/archive/2007/03/22/Smart-Client-Guidance-development.aspx">this post</a> from <a href="http://staff.southworks.net/blogs/jarguello/default.aspx">Juan Arguello</a> for more details) </li>
<li><em>Improved installation with a new dependency checker</em> </li>
</ul>
</blockquote>
<p>You can get it from the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2B6A10F9-8410-4F13-AD53-05A202FBDB63&amp;displaylang=en">Microsoft Downloads Center</a>.</p>
<p>One of the things we added at the very end of the project, is a QuickStart that demonstrates how to integrate the Disconnected Service Agent (DSA) and the Connection Monitor (CM) Application Blocks with a Composite UI Application Block application. Although we had to postpone a little bit the release date to include this QuickStart, we strongly believe that it will help you better understand how to consume these blocks from your smart client application.</p>
<p><strong>The Offline Application Blocks demonstrated in the QuickStart</strong></p>
<p>In just a few words (see the Help for detailed information), the <strong>Disconnected Service Agent Application Block</strong> allows you to invoke web services asynchronously from occasionally connected smart clients. This means that you can, for example, enqueue a request while the application is offline and have it automatically dispatched by the block when connectivity is detected. When the request is dispatched, a callback will be invoked for your application to process the response.</p>
<p>The <strong>Connection Monitor Application Block</strong> basically monitors connectivity status. As a developer, you can define what set of services you need to reach from your smart client application and the block will notify you whenever changes in the client&#8217;s computer affect the ability to reach those services.</p>
<p><strong>Overview</strong></p>
<p>The QuickStart basically shows a master-details view. The Shell form displays a list of restaurants in the left and their corresponding menu items in the right. To retrieve the data (restaurants and menu items lists), a WCF service is consumed:</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-1.png"><img height="274" alt="DSA_CAB_QS_1" src="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-1-thumb.png" width="450" border="0" /></a> </p>
<p>If you launch the QuickStart without having an Internet connection available, the application will enqueue the request that will retrieve the restaurants list, and will display an Offline status indicator.</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-2.png"><img height="351" alt="DSA_CAB_QS_2" src="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-2-thumb.png" width="450" border="0" /></a> </p>
<p>As soon as you go online, the restaurants list will be loaded and the connectivity status indicator will be updated:</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/compositeuiapplicationblockwithdisconnectedserviceagentquickstart.png"><img height="251" alt="CompositeUI Application Block with Disconnected Service Agent QuickStart" src="http://blogs.southworks.net/mszklanny/files/2008/06/compositeuiapplicationblockwithdisconnectedserviceagentquickstart-thumb.png" width="450" border="0" /></a> </p>
<p>If you click a restaurant, you will see the menu items list loaded in the right. But if the Internet connection was dropped, you will see a message saying that you must be online to retrieve the menu items list:</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-3.png"><img height="352" alt="DSA_CAB_QS_3" src="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-3-thumb.png" width="450" border="0" /></a> </p>
<p>Now suppose you go online again, but the web service now is failing or has been shut down (you can close the WCF host to test this scenario). The application will handle the error and ask the user to try again later:</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-4.png"><img height="351" alt="DSA_CAB_QS_4" src="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-4-thumb.png" width="450" border="0" /></a> </p>
<p>Retrieving data from a remote service is an expensive task and might take a while. Therefore the QuickStart displays a progress bar when a call to a the web service is performed:</p>
<p><a href="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-5.png"><img height="348" alt="DSA_CAB_QS_5" src="http://blogs.southworks.net/mszklanny/files/2008/06/dsa-cab-qs-5-thumb.png" width="449" border="0" /></a> </p>
<p><strong>What can I do next?</strong></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2B6A10F9-8410-4F13-AD53-05A202FBDB63&amp;displaylang=en">Download the factory</a> and start playing with it! <img src='http://blogs.southworks.net/mszklanny/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
