<?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>The Hogg Blog : Design Patterns</title><link>http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx</link><description>Tags: Design Patterns</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SOA Symposium: SOA, Software + Services and Cloud Computing</title><link>http://blogs.msdn.com/thehoggblog/archive/2009/10/23/soa-symposium-soa-software-services-and-cloud-computing.aspx</link><pubDate>Fri, 23 Oct 2009 09:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911966</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9911966.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9911966</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9911966</wfw:comment><description>&lt;P&gt;I am presenting a discussion on SOA, S+S and Cloud computing later today at &lt;A href="http://soasymposium.com/soasymposium2009/profile/profile_jason_hogg.php" mce_href="http://soasymposium.com/soasymposium2009/profile/profile_jason_hogg.php"&gt;SOA Symposium&lt;/A&gt;. I have included the abstract for the talk and the slides that will be used in the presentation for anyone interested.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Organizations evaluating&amp;nbsp;Software + Services and Cloud Computing offerings must first have a well thought-out SOA strategy in order to maximize the return on their investment. They must further understand how the Software + Services platform and the related emerging platforms can be shaped with SOA principles in order to establish a sound and standardized services eco-system that can build up on and extend service-oriented architecture implementations. This presentation will describe the relationship between these various paradigms, including detailed discussions of topics relevant to enterprise architects, software architects and infrastructure architects.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9911966" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/thehoggblog/attachment/9911966.ashx" length="1401040" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Web+Service+Security/default.aspx">Web Service Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Grid/default.aspx">Grid</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>SOA Symposium: Understanding SOA Security Patterns</title><link>http://blogs.msdn.com/thehoggblog/archive/2009/10/23/soa-symposium-understanding-soa-security-patterns.aspx</link><pubDate>Fri, 23 Oct 2009 09:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911963</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9911963.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9911963</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9911963</wfw:comment><description>&lt;P&gt;I presented a discussion on SOA Security Patterns at the &lt;A href="http://soasymposium.com/soasymposium2009/profile/profile_jason_hogg.php" mce_href="http://soasymposium.com/soasymposium2009/profile/profile_jason_hogg.php"&gt;SOA Symposium&lt;/A&gt; today in Rotterdam. The abstract fro the talk is included below and the PPT is attached for anyone interested. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Service-oriented solutions are distributed applications and therefore rely on many of the established security controls, practices, and technologies. However, there are distinct characteristics that make services and service compositions special. For example, designing distributed systems that will with greater frequency span organizational boundaries requires architects to understand threats associated with exposing such functionality on potentially hostile networks. This presentation walks through a number of the SOA design patterns that are specific to services, processes, and SOA security in general. In this talk we will introduce and explain these patterns and discuss how they can be applied to establish a secure foundation to service-oriented systems. &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9911963" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/thehoggblog/attachment/9911963.ashx" length="2363246" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Web+Service+Security/default.aspx">Web Service Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Grid/default.aspx">Grid</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>SOA Patterns</title><link>http://blogs.msdn.com/thehoggblog/archive/2009/09/27/soa-patterns.aspx</link><pubDate>Mon, 28 Sep 2009 00:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9900061</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9900061.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9900061</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9900061</wfw:comment><description>&lt;P&gt;About a 18 months ago Thomas Erl approached a group of us at Microsoft if we could review the SOA Patterns work he was doing. Whilst doing the review I observed that the book was lacking any patterns describing how to think about security within SOA applications. We talked and decided to add two whole chapters on the topic - starting with material that we (&lt;A href="http://blogs.msdn.com/fred_chong/" mce_href="http://blogs.msdn.com/fred_chong/"&gt;Fred Chong&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/tomholl" mce_href="http://blogs.msdn.com/tomholl"&gt;Tom Hollander&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/wojtek/" mce_href="http://blogs.msdn.com/wojtek/"&gt;Wojteck Kozaczynski&lt;/A&gt;, Lonnie Wall, Paul Slater, Dwayne Taylor and Ward Cunningham) had created in patterns &amp;amp; practices about 5 years ago. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 196px; HEIGHT: 261px" src="http://www.soapatterns.com/soa_patterns/cover.jpg" width=196 height=261 mce_src="http://www.soapatterns.com/soa_patterns/cover.jpg"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The book is &lt;A href="http://www.soapatterns.com/" mce_href="http://www.soapatterns.com/"&gt;now available&lt;/A&gt; (has been for about 6 months now - this post is a little dated :-) - but included the following security related patterns:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Direct authentication&lt;/LI&gt;
&lt;LI&gt;Brokered authentication&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Data confidentiality&lt;/LI&gt;
&lt;LI&gt;Data origin authentication&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Exception shielding&lt;/LI&gt;
&lt;LI&gt;Message screening&lt;/LI&gt;
&lt;LI&gt;Trusted subsystem&lt;/LI&gt;
&lt;LI&gt;Service perimeter guard&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The book also includes a bunch more patterns - which when combined with other books like Enterprise Integration Patterns (Hohpe) and Integration Patterns (P&amp;amp;P) makes for an invaluable resource for understanding different approaches for designing distributed systems. I am also really pleased to see there is a &lt;A href="http://soasymposium.com/" mce_href="http://soasymposium.com/"&gt;SOA Symposium&lt;/A&gt; event in the Netherlands at the end of October where we will be presenting a bunch of this material. I will post more about this later this week...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9900061" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category></item><item><title>Service Orientation Today and Tomorrow</title><link>http://blogs.msdn.com/thehoggblog/archive/2009/09/27/service-orientation-today-and-tomorrow.aspx</link><pubDate>Mon, 28 Sep 2009 00:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9900059</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9900059.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9900059</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9900059</wfw:comment><description>&lt;P&gt;Diegon Dagum has just sent out the release note for the latest edition of the Microsoft Architecture Journal. It includes a bunch of really interesting papers including one that myself and a group of my colleagues from Worldwide Services put together summarizing key design considerations for Software + Services and Cloud Computing. Because we believe that the full benefit from S+S cannot be gained by just focusing on implications for application design - our paper tries to capture major design considerations from a number of perspectives including that of: Enterprise Architects, Software Architects (including Integration, Application and Information Design), Infrastructure Architects - whilst also describing cross cutting concerns relating to security, operations and management. Enjoy!!&lt;/P&gt;
&lt;P&gt;Some of the other articles also look really intersting so will try to report back in the coming weeks about key points from the other papers... in the mean time take a look &lt;A href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx" mce_href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx"&gt;here&lt;/A&gt;&amp;nbsp;if you are interested. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 228px; HEIGHT: 118px" src="http://i.msdn.microsoft.com/aa699437.coverBanner(en-us,MSDN.10).png" width=228 height=118 mce_src="http://i.msdn.microsoft.com/aa699437.coverBanner(en-us,MSDN.10).png"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;U&gt;Contents&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Design Considerations for Software plus Services and Cloud Computing &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Model-Driven SOA with "Oslo" &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;An Enterprise Architecture Strategy for SOA &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Enabling Business Capabilities with SOA &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Service Registry: A Key Piece for Enhancing Reuse in SOA &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;How the Cloud Stretches the SOA Scope &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Event-Driven Architecture: SOA Through the Looking Glass &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Is SOA Being Pushed Beyond Its Limits? &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9900059" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>A Graphical DSL for Describing SOA Applications</title><link>http://blogs.msdn.com/thehoggblog/archive/2009/01/27/a-soa-graphical-dsl.aspx</link><pubDate>Wed, 28 Jan 2009 09:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9379930</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9379930.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9379930</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9379930</wfw:comment><description>&lt;P&gt;Last October we ran a SOA workshop in Redmond, with the goal being to have members of the MCS field, global practices and other customer facing organizations discuss scenarios and patterns that they see on a regular basis. Having run several of these workshops in the psat, one challenge that is hard to overcome is ensuring people describe their scenarios and solutions in a standard way. &lt;/P&gt;
&lt;P&gt;Given the lack of a standard vocabulary for many (most?) domains within our industry this is obviously made more difficult. In an attempt to overcome this shortfall myself, Piyush Gupta and Sudarsan Srinivasan&amp;nbsp;spent about a month decomposing a number of customer solutions into their constituent patterns - thus building a catalog of patterns that participants at our workshop could use when describing solutions to their scenarios. Where such patterns were already documented, we normalized on terms from sources such as Hohpe's Integration Patterns, SOA Patterns, Workflow Patterns, Patterns and Practices and IBM's dev center.&lt;/P&gt;
&lt;P&gt;Even armed with a standard vocabulary, the next problem becomes how do you &lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;succinctly &lt;/SPAN&gt;present complex system designs without requiring large numbers of UML objects. Christopher Alexander aluded to the solution to this problem through the use of a visual notation to accompany each pattern. So I searched around and found that Matthew Oskowis had created a nice little Visio template including icons for each of Gregor Hohpe's patterns. This helped us for about 50% of the patterns and so I extended it to include the additional patterns that we had identified. &lt;/P&gt;
&lt;P&gt;When using this visual notation it became too difficult expecting everyone to recognize each of these icons, so I also extended each icon to include the pattern name. It makes the diagrams a little clumsy - but they are still quite readable. As you can see in the diagram below it is also obvious that these icons convey a lot of information in a small amount of space - more so than an equivalent UML model would for example.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The diagram below illustrates one such example, where a service agent is performing requestor side caching allowing configuration information to be retrieved from a central configuration service and cached. The Configuration Notification Service also allows the client (should it subscribe) to be notified of changes to this configuration. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG title="Requestor side caching" style="WIDTH: 288px; HEIGHT: 233px" height=233 alt="Requestor side caching" src="http://blogs.msdn.com/photos/jason_hogg/images/9379934/original.aspx" width=288 mce_src="http://blogs.msdn.com/photos/jason_hogg/images/9379934/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For my presentation for tomorrow's SOA BP conference I will be walking through a number of scenarios using this SOA DSL, so figured I would first post it on the blog for people that are interested in using it. If you use it or extend it let me know how you go, or share your updates. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9379930" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/thehoggblog/attachment/9379930.ashx" length="335360" type="application/vnd.visio" /><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/DSL/default.aspx">DSL</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category></item><item><title>Agent-Design Patterns for Building Distributed Service Bus Applications</title><link>http://blogs.msdn.com/thehoggblog/archive/2009/01/27/agent-design-patterns-for-building-distributed-service-bus-applications.aspx</link><pubDate>Wed, 28 Jan 2009 03:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9379213</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9379213.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9379213</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9379213</wfw:comment><description>&lt;P&gt;Another blog that is several months late, but as usual, better late than never. I am currently preparing my presentation for tomorrow's &lt;A class="" href="http://www.microsoft.com/soa/conference/default.aspx" mce_href="http://www.microsoft.com/soa/conference/default.aspx"&gt;Real World SOA: Microsoft SOA and Business Process Conference&lt;/A&gt; I finally made the time to read Danny Garber's paper on &lt;A class="" href="http://msdn.microsoft.com/en-us/library/dd334420.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd334420.aspx"&gt;Agent-Design Patterns&lt;/A&gt;&amp;nbsp;and it was well worth the read. Danny introduces the notion of a Distributed Service Bus (I think I have also heard him refer to it as an Internet Service Bus) allowing multiple organizations to collaborate on extremely complex business processes.&lt;/P&gt;
&lt;P&gt;As with most business processes, these are subject to service unavailability errors, message translation and enrichment requirements, but because they span multiple organizational boundaries must also worry about routing across perimeter networks and error recovery in remote domains. Danny talks about how he has used a combination of Microsoft's ESB Guidance (predominantly the Itinerary pattern) and the Microsoft Global Practices Managed Service Engine (predominantly for routing across perimeter networks) to provide the DSB capability. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9379213" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Web+Service+Security/default.aspx">Web Service Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/S_2B00_S/default.aspx">S+S</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category></item><item><title>Distributed Computing Patterns</title><link>http://blogs.msdn.com/thehoggblog/archive/2008/12/12/distributed-computing-patterns.aspx</link><pubDate>Sat, 13 Dec 2008 07:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9206038</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9206038.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9206038</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9206038</wfw:comment><description>&lt;P&gt;This one is a little late to press, but for those who haven't already seen it the Architecture Journal recently published an article on Distributed Computing Patterns that myself, Joshy Joseph, Dmitri Ossipov, Massimo Mascaro and Danny Garber wrote. You can find the article &lt;A class="" href="http://www.msarchitecturejournal.com/pdf/Journal17.pdf" mce_href="http://www.msarchitecturejournal.com/pdf/Journal17.pdf"&gt;here&lt;/A&gt;. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9206038" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Software+Factories/default.aspx">Software Factories</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/SOA/default.aspx">SOA</category></item><item><title>patterns &amp; practices Improving Web Services Security: Now Available!</title><link>http://blogs.msdn.com/thehoggblog/archive/2008/06/20/patterns-practices-improving-web-services-security-now-available.aspx</link><pubDate>Fri, 20 Jun 2008 17:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8625462</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/8625462.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=8625462</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=8625462</wfw:comment><description>&lt;P&gt;Over the last 12 months we have had a lot of people who used the &lt;EM&gt;Web Service Security - Scenarios, Patterns and Implementation Guidance&lt;/EM&gt; ask us where the implementation guidance for WCF was. Great news. JD Meier, Jason Taylor, Prashant Bansode and Rob Boucher and the rest of his P&amp;amp;P team have just released their guide which includes Security Fundamentals for Web Services, WCF Security Fundamentals and Scenario specific guidance. Great stuff - and a must read for anyone designing secure distributed systems based on WCF. Available from: &lt;A href="http://www.codeplex.com/WCFSecurityGuide" mce_href="http://www.codeplex.com/WCFSecurityGuide"&gt;http://www.codeplex.com/WCFSecurityGuide&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8625462" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Web+Service+Security/default.aspx">Web Service Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Released: Web Service Software Factory: Modeling Edition</title><link>http://blogs.msdn.com/thehoggblog/archive/2007/11/20/released-web-service-software-factory-modeling-edition.aspx</link><pubDate>Wed, 21 Nov 2007 09:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6451038</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/6451038.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=6451038</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=6451038</wfw:comment><description>&lt;P&gt;I just saw an announcement from &lt;A class="" href="http://blogs.msdn.com/donsmith/" mce_href="http://blogs.msdn.com/donsmith/"&gt;Don&lt;/A&gt; that the P&amp;amp;P folks have just released the third version of the&amp;nbsp;Web Service Software Factory - entitled &lt;EM&gt;The&amp;nbsp;Web Service Software Factory Modeling Edition.&lt;/EM&gt; I know these guys have been working hard on this for along time now so this is really great news... And you know what they say about it taking Microsoft three attempts to get things right...&amp;nbsp;Well, based on how good v2 of the Service Factory was - this thing should really kick ass! More information from &lt;A class="" href="http://msdn2.microsoft.com/en-us/practices/default.aspx" mce_href="http://msdn2.microsoft.com/en-us/practices/default.aspx"&gt;here&lt;/A&gt;. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6451038" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Web+Service+Security/default.aspx">Web Service Security</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category></item><item><title>The Great Debate: Patterns vs Tooling</title><link>http://blogs.msdn.com/thehoggblog/archive/2007/11/08/the-great-debate-patterns-vs-tooling.aspx</link><pubDate>Fri, 09 Nov 2007 02:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5999803</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/5999803.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=5999803</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=5999803</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;With well over 250 attendees this years &lt;A class="" href="http://www.pnpsummit.com/west2007.aspx" mce_href="http://www.pnpsummit.com/west2007.aspx"&gt;P&amp;amp;P Summit&lt;/A&gt; is the best attended I have seen so far. I was fortunate to participate in two presentations - the first talk was on &lt;A class="" href="http://blogs.msdn.com/thehoggblog/archive/tags/SecPAL/default.aspx" mce_href="http://blogs.msdn.com/thehoggblog/archive/tags/SecPAL/default.aspx"&gt;SecPAL&lt;/A&gt; which I believe was well received, and the second was a discussion with myself, &lt;A class="" href="http://blogs.msdn.com/dragoman" mce_href="http://blogs.msdn.com/dragoman"&gt;Dragos Manolescu&lt;/A&gt;, &lt;A class="" href="http://blogs.msdn.com/wojtek/" mce_href="http://blogs.msdn.com/wojtek/"&gt;Wojtek Kozaczynski&lt;/A&gt; and &lt;A class="" href="http://www.ademiller.com/blogs/tech/" mce_href="http://www.ademiller.com/blogs/tech/"&gt;Ade Miller&lt;/A&gt; on the future of patterns.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;As you may recall the 4 of us worked on a paper called “&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;A class="" href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/2007/04/s4toc.xml&amp;amp;DOI=10.1109/MS.2007.120" mce_href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/2007/04/s4toc.xml&amp;amp;DOI=10.1109/MS.2007.120"&gt;The Growing Divide in the Patterns World&lt;/A&gt;” &lt;/SPAN&gt;for an IEEE special on design patterns. Our article summarized results from a survey about the relevance of patterns for several hundred developers. One of the not surprising (or perhaps not unsurprising) results that we saw from the paper was that for many people simply with including patterns in tooling was sufficient and that they did not see significant value in traditional narrative based patterns.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, with our goal being to find a controversial subject that would encourage audience participation (and perhaps more importantly) provide feedback that will drive P&amp;amp;P's future investments in the pattern space we decided to use the P&amp;amp;P Summit as a forum for discussion about the extent to which P&amp;amp;P should share patterns via books or Pattern Share - or whether they should focus purely on including patterns inside factories.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Myself and Dragos were in the red corner, advocating that patterns should first be written in the narrative form, whilst Wojtek and Ade took the blue corner arguing that this format is irrelevant and that the majority of non-academic folk only care about productivity and tooling.&amp;nbsp;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;The discussion started off with a curve ball. I had expected Dragos to have a strong opening statement that would incite hatred amongst much of the audience, instead he punted to me - leaving me to take the rubber bullets from the audience (Keith Please had armed the audience with toy guns so as to shoot people that they disagreed with).&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Rather than making Wojtek and Ade's job way too easy, I decided to argue that tooling should &lt;U&gt;only&lt;/U&gt; be based on patterns, and that tooling based on patterns was inevitable. As such I argued that it was critical not to lose site for the need for crisp architectural guidance articulated in pattern form that can be shared in books, web pages and hopefully organized dynamically on resources such as Pattern share.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I have to say that the discussion was fantastic mainly because the audience got so involved in the discussion. We had advocates on both sides of the audience. Some common themes discussed (liberal paraphrasing) included:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Many enterprise developers do not care about design patterns - they just want to do their job&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Enterprise architects have a hard time communicating the value in patterns to their development teams&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Patterns do in fact play a critical role in application architecture and P&amp;amp;P should continue to create and publish patterns independently of tooling&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;People do not want to have to download factories to determine if there are patterns that are relevant to their problem&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Patterns should be consistent across programming platforms&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;and much, much more...&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I have some additional thoughts on the subject which I will share in the coming days as well - but first I wanted to see if we can't get some additional discussion going. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, if you were in the discussion, feel free to post additional thoughts, or if you weren't there it would be great to hear your thoughts on this very important topic...&amp;nbsp;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;To what extent should P&amp;amp;P&amp;nbsp;invest in&amp;nbsp;publishing patterns independently of tooling such as Factories&amp;nbsp;- and would you like to see a reincarnation of the Pattern Share repository (friendlier UI etc)?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5999803" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category></item><item><title>IEEE Special on Software Patterns</title><link>http://blogs.msdn.com/thehoggblog/archive/2007/07/02/ieee-special-on-software-patterns.aspx</link><pubDate>Mon, 02 Jul 2007 20:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3662381</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/3662381.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=3662381</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=3662381</wfw:comment><description>&lt;P&gt;I remember reading an article by Grady Booch a couple of years ago (I can't find it now) where he acknowledged that object oriented programming had not delivered many of the promises around object reuse that people had expected, however one of the unexpected benefits to object oriented programming (in addition to the obvious benefits of encapsulation, inheritence, polymorphism and modularity) was that of design patterns - the ability to capture best practices for solving particular software design choices. &lt;/P&gt;
&lt;P&gt;For anyone interested in Software Patterns you might want to take a look at this months edition of &lt;A class="" href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/2007/04/s4toc.xml" mce_href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/2007/04/s4toc.xml"&gt;IEEE Software&lt;/A&gt; as it is focused purely on software patterns. The magazine includes a large number of articles on topics ranging from the Past, Present and Future Trends in Software Patterns, Organizing Security Patterns and a must read (for anyone not already convinced&amp;nbsp;of the&amp;nbsp;value of patterns)&amp;nbsp;by &lt;A class="" href="http://www.mcs.vuw.ac.nz/~kjx/" mce_href="http://www.mcs.vuw.ac.nz/~kjx/"&gt;James Noble&lt;/A&gt; called Every Good Designer Uses Patterns. There is also an article from the Microsoft Patterns &amp;amp; Practices team that &lt;A class="" href="http://micro-workflow.com/" mce_href="http://micro-workflow.com/"&gt;Dragos&lt;/A&gt;, &lt;A class="" href="http://blogs.msdn.com/wojtek/" mce_href="http://blogs.msdn.com/wojtek/"&gt;Wojtek&lt;/A&gt;, &lt;A class="" href="http://ademiller.spaces.live.com/" mce_href="http://ademiller.spaces.live.com/"&gt;Ade&lt;/A&gt; and I worked on called The Growing Divide in the Patterns World - in which we surveyed a large number of professional software engineers to find out the extent to which they were using software patterns on a day to day basis. The results as I am sure you will agree were very interesting! Enjoy...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A class="" href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/2007/04/s4toc.xml" mce_href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/so/&amp;amp;toc=comp/mags/so/2007/04/s4toc.xml"&gt;&lt;IMG title="IEEE Software" style="WIDTH: 120px; HEIGHT: 160px" height=160 alt="IEEE Software" src="http://blogs.msdn.com/photos/jason_hogg/images/3662216/original.aspx" width=120 mce_src="http://blogs.msdn.com/photos/jason_hogg/images/3662216/original.aspx"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3662381" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Design+Patterns/default.aspx">Design Patterns</category></item></channel></rss>