<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Charles Young</title>
        <link>http://geekswithblogs.net/cyoung/Default.aspx</link>
        <description />
        <language>en-GB</language>
        <copyright>Charles Young</copyright>
        <managingEditor>charles.young@solidsoft.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Charles Young</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/cyoung/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Announcing CharlesJobz - My new free recruitment agency!</title>
            <link>http://geekswithblogs.net/cyoung/archive/2008/02/26/119990.aspx</link>
            <description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Jurgen Willis, who is Group Program manager of Microsoft's Connected Framework Team over in Seattle, has been in touch, and I offered to forward his request on via this blog site.   Microsoft is currently looking for people to work in their rules area (WF Rules, etc).   They are specifically looking for a &lt;/font&gt;&lt;a href="http://members.microsoft.com/careers/search/details.aspx?JobID=045FE61C-C657-497D-B4D4-186D9EF7744A&amp;amp;start=1&amp;amp;interval=10&amp;amp;SortCol=DatePosted"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Program Manager&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; and a &lt;/font&gt;&lt;a href="http://members.microsoft.com/careers/search/details.aspx?JobID=C55E4014-F38A-4745-8CF1-3BA1D52D3085&amp;amp;start=1&amp;amp;interval=10&amp;amp;SortCol=DatePosted"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Development Lead&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;There are lots of exciting plans regarding the evolution of WF Rules, and lots of rumours currently about how rules will be handled in Oslo.   Now is an excellent time to work for Microsoft in the Connected Systems Division, and especially to work on their rules offerings.   If you are interested, or know someone who might be, drop me a line via this blog site.   I will forward details on to Jurgen.   Otherwise, contact Microsoft direct.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;Jurgen mentioned some other posts including:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://members.microsoft.com/careers/search/details.aspx?JobID=C062AFE8-51A7-404D-A639-E128C49F9447&amp;amp;start=1&amp;amp;interval=10&amp;amp;SortCol=DatePosted"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Community PM&lt;/font&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://career/search/details.aspx?JobID=A9CAD1AC-B51F-452E-8E93-874165547919&amp;amp;start=1&amp;amp;interval=10"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Activities PM&lt;/font&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://members.microsoft.com/careers/search/details.aspx?JobID=ABAA34BD-C3F6-478D-97FC-5B7374C6F5F8&amp;amp;start=1&amp;amp;interval=10&amp;amp;SortCol=DatePosted"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Runtime PM&lt;/font&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt"&gt;&lt;a href="http://members.microsoft.com/careers/search/details.aspx?JobID=ABAA34BD-C3F6-478D-97FC-5B7374C6F5F8&amp;amp;start=1&amp;amp;interval=10&amp;amp;SortCol=DatePosted"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119990"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119990" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/119990.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2008/02/26/119990.aspx</guid>
            <pubDate>Tue, 26 Feb 2008 21:07:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/119990.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2008/02/26/119990.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/119990.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/119990.aspx</trackback:ping>
        </item>
        <item>
            <title>MS BRE:  The Rules Engine Update (REU) Service and Policy Execution</title>
            <category>BizTalk Server 2004/2006</category>
            <category>Microsoft Business Rule Framework</category>
            <link>http://geekswithblogs.net/cyoung/archive/2008/01/13/118507.aspx</link>
            <description>&lt;div&gt;&lt;font face="Verdana" size="2"&gt;A question came up tonight on BizTalkGurus on my favourite subject of rule engines.   I don’t blog enough these days, so this gives me an excuse.    Essentially, the question concerned an incorrect, but understandable, suspicion that MS BRE may be using remoting to execute rule sets out-of-process.   This is not the case.    You can find an article describing what actually happens at:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;a title="view: MS BRE:  The Rules Engine Update (REU) Service and Policy Execution" href="http://geekswithblogs.net/cyoung/articles/118506.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2008/01/13/118506.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=118507"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=118507" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/118507.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2008/01/13/118507.aspx</guid>
            <pubDate>Sun, 13 Jan 2008 22:13:24 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/118507.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2008/01/13/118507.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/118507.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/118507.aspx</trackback:ping>
        </item>
        <item>
            <title>Using .NET 3.5 and Visual Studio 2005</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx</link>
            <description>&lt;p style="MARGIN: 6pt 0cm 3pt 11.35pt"&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;The recent release of Visual Studio 2008 and .NET Fx 3.5 is causing some confusion.&lt;span&gt;    Microsoft released these two technologies together for good reason.   The wonderful new LinQ technologies introduced in .Net 3.5 rely on explicit compiler-level support, and therefore require LinQ aware compilers in Visual Studio.   The new version of visual Studio provides these compilers, allowing developers to take advantage of the new monadic syntax. In addition, Visual Studio has several new features designed to make it easier to exploit NET 3.5 features such as Ajax and the foundation libraries (WCF, WF and WPF).&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 6pt 0cm 3pt 11.35pt"&gt;&lt;font face="Verdana" size="2"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 6pt 0cm 3pt 11.35pt"&gt;&lt;font face="Verdana" size="2"&gt;The problem is that by tying the release of .NET 3.5 to Visual Studio 2008, the impression is given that, unless you are ready to upgrade to the new version of the IDE, there is no point thinking about upgrading to the new version of the framework.&lt;span&gt;    This is simply not the case.   The .NET framework does not have any built-in dependency on Visual Studio, let alone a specific version of Visual Studio.   More to the point, Microsoft has long since split the versioning of the framework from the versioning of the run-time environment. .NET 3.5 continues to exploit version 2.0 of the CLR. Visual Studio 2005 is perfectly happy to compile your code against .NET 3.5 assemblies.   They are just assemblies.   Even more compelling is the realisation that most of the assemblies in .NET 3.5 are identical to those in .NET 3.0 (same version number).   There are some new assemblies with new features. .NET 3.5 is just .NET 3.0 with extra stuff.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 6pt 0cm 3pt 11.35pt"&gt;&lt;font face="Verdana" size="2"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Why is this important?&lt;span&gt;   Well, not everyone is ready to upgrade to Visual Studio 2008.   Apart from the expense this involves, consider the dilemma of BizTalk Server developers.   Currently, there are no Visual Studio 2008 bindings for BizTalk Server (i.e., you can't create BizTalk Server project types in the new IDE).   This, we are assured, will be addressed at some point, but that could be months away.    For the time being, BizTalk developers are stuck with Visual Studio 2005 :-( Hence, some people are currently discounting the possibility of using .Net 3.5 because they believe, quite incorrectly, that it requires an upgrade to Visual Studio 2008.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 6pt 0cm 3pt 11.35pt"&gt;&lt;span&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 6pt 0cm 3pt 11.35pt"&gt;&lt;font face="Verdana" size="2"&gt;There are issues, of course.&lt;span&gt;   As well as the absence of compiler support for LinQ, Visual Studio 2005 does not have access to various new project and file templates and tools that support the new version of the framework.   Developers may need to do more coding in Visual Studio 2005 than would be necessary in Visual Studio 2008.   This is often a small price to pay, however, in order to access the improvements in 3.5.    As an example, consider the new integration between WF and WCF, provided in the new System.WorkflowServices assembly.   The integration is provided via the new WorkflowServiceHost class and a couple of new activities.   Visual Studio 2008 has new template support for building workflow services, and comes with a very useful new WCF test harness.   However, exploiting this new functionality in Visual Studio 2005 is trivial.   Create a WF workflow library, add a reference to System.WorkflowServices and add the new activities to your tool box.   Finally, use the WCF Service template to add a service class to your project and you are just about in the same position as you would be in Visual Studio 2008 if you used the new Workflow Service project template.   You'll need to write a couple of lines of code to use WorkflowServiceHost to host your service, of course.   Off you go, and enjoy .NET 3.5.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117279"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117279" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/117279.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx</guid>
            <pubDate>Sat, 01 Dec 2007 11:23:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/117279.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx#feedback</comments>
            <slash:comments>44</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/117279.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/117279.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Services: An overview</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/10/09/115945.aspx</link>
            <description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Earlier this year, Microsoft released a CTP version of a new technology stack called 'BizTalk Services'.   In July, they updated this with a new release.    It is only now, at long last, that I've got around to playing with BizTalk Services, thanks to the gentle pursuasion of my colleague, Andy James (CTO at &lt;a title="SolidSoft Ltd." href="www.solidsoft.com" target="_blank"&gt;SolidSoft&lt;/a&gt;).   I must say that I am very pleased that Andy applied some pressure.   This is a really interesting development in the BizTalk world, and having now had a chance to stub my toe against the tyres (I'll leave the full-blown kicking until a future date), I feel rather excited about the possibilities this technology opens.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;I have provided an overview of BizTalk Services at &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/10/09/115944.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/10/09/115944.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;.   I have also written an article on the Identity Service that is part of the stack.   This is at &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/10/09/115943.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/10/09/115943.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;.   I have published some notes on solving problems when installing the SDK.   These are at &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/10/09/115942.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/10/09/115942.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115945"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115945" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/115945.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/10/09/115945.aspx</guid>
            <pubDate>Tue, 09 Oct 2007 12:06:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/115945.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/10/09/115945.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/115945.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/115945.aspx</trackback:ping>
        </item>
        <item>
            <title>DebugView and the elusive 'Capture Global Win32' option</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/09/16/115390.aspx</link>
            <description>&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;Like most BizTalk Server developers I am addicted to the use of DebugView.   This, in case you are one of the three BizTalk developers out there who are still not aware of it, is a free utility written by the SysInternals people.   Microsoft bought SysInternals a while back, and the utility can now be downloaded from their web site at:&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx"&gt;&lt;font face="Verdana" size="2"&gt;http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;DebugView provides a viewer for traces created using the Win32 OutputDebugString() API. You can liberally instrument your .NET code using calls to System.Diagnostics.Debug.Write&amp;lt;xxx&amp;gt; methods, then open up DebugView and run you code.   The output is nicely displayed in the DebugView console. For BizTalk developers, this is an indispensable tool because there is no way to single-step through XLANG/s expressions.   The Orchestration debugger is built on top of the orchestration engine, and is not a 'true' Win32 debugger.   It can only single-step through interactions between the orchestration and the orchestration engine which occur at a much coarser level of granularity than individual lines of XLANG/s code.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I've spent the last couple of weeks pretending to be an ASP.NET 2.0 developer.   The code I was writing does a fair amount of re-direction.   It supports a number of different log-in models based on the Forms Authentication model in ASP.NET 2.0, but integrated with a remote identity provider.   The code is 'proof of concept' stuff, and supports different ‘candidate’ approaches, including the ability to switch to local authentication in order to demonstrate the code in scenarios where we have no remote connectivity.   To begin with I (rather stupidly, in hindsight) was trying to develop using the new Web Site project type in Visual Studio.   Oh dear.   I needed to use SSL sessions to debug the code because we are using CardSpace.   You can't do this under the local web server.   I tried, without success, to debug my code under IIS, but found that, for some reason, I was unable to attach to IIS worker processes!   Then, I really came unstuck when ASP.NET completely lost the ability to debug.   It was creating pdb files OK, but one of them appeared to be corrupted somehow each time it was built (for example, no version number), and Visual Studio insisted that I had no symbols loaded, even though the Module window clearly showed that I did!&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I gave up, and ported the code over to a Web Application project.   I still have problems.   Visual Studio currently reports a set of spurious build errors 'dynamically' while using the designer (these change dynamically over time even if I don't touch the keyboard - yes I mean it! I just sit there and stare at the screen for a minute or two and see the error messages change before my eyes), but then builds and publishes the application anyway.   It has lost the ability to see Master Pages if I use generated paths with the '~' specifier. It has also become hopelessly confused in regard to a custom control that I am using - a problem, incidentally, for which there are hundreds of hits in Google, but only one conclusion - 'tough - it's a long-standing bug - you can't fix it and there's no known workaround - rebuild your project from scratch'.   Apart from that, the Web Application works OK, and I can now debug my code smoothly under SSL sessions.   A good lesson learned.   I certainly won't use Web Site projects in future, and will try not to use ASP.NET unless I have to, until such time as Microsoft sees fit to stabilise the design-time ASP.NET tools.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;[&lt;strong&gt;Update&lt;/strong&gt;: I had another go at clearing the persistent "Unknown server tag" problem, which is the issue I reported above with the custom control.   I tried (yet again) a whole variety of approaches, including registering the control via the web.config file, rather than using the @Register directive.   I eventually hit on an approach which seemed to work.   I recompiled the control using a strong name.   I had tried this before, but when I GACd the assembly, I got a new error in which ASP.NET reported confusion at runtime over having two copies of the assembly (one in the ASP.NET TEMP folders and one in the GAC).   So this time, having encountered the same problem, I simply removed the control from the GAC (duh).   And suddenly I can use the control in the designer again!   As far as I am aware, this is the only change I have made (of course, you have to update the assembly name in the @Register directive to the strong name).   I note that Visual Studio automatically updates an assembly reference for the control in the web.config file.   Of course, everything was originally working fine for some time with a simple-named version of the same control (I haven't changed the control code in any way), so I fully expect everything to break down again for no apparant reason].&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;[&lt;strong&gt;Update 2&lt;/strong&gt;: Oh yes.  As predicted.   Within an hour or two the designer magically lost its ability to handle my strongly-named version of the control.   How do ASP.NET developers cope with this day in, day out?]&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;The point of this, apart from letting off steam about the general flakiness of ASP.NET 2.0 under Visual Studio 2005 SP1 (it's horrible), is that while developing using the Web Site, I needed to use DebugView quite extensively.   Even now, it is of some use due to the re-direction.   I can trace my code in one page, even though this page redirects to another so that I can't see my trace output using the built-in tracing features of ASP.NET.   DebugView shows me what I need to see, as long as I remember to place '#define DEBUG' statements in my 'CodeBehind' files. &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I ran into a problem with DebugView which I have seen before.   I've been trying to research it to come up with a definitive answer, but I don't know the underlying cause - just the symptoms.   My problem is that my ASP.NET code runs in a different session to the desktop.   This means that the output does not appear in DebugView unless I enable the 'Capture Global Win32' option.   However, this option was not available in DebugView.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;At this point, I should say that I am developing on Windows Server 2003 R2.   I run Vista on my notebook.   When I open the same version of DebugView on my Vista notebook, I can see the 'Capture Global Win32' option.   However, I can't see it when I run DebugView on the Windows Server 2003 box.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I was tearing my hair out over this one, and it isn't the first time I have run into this problem.   I spent some time trying to find an answer on Google.   I didn't turn anything up, but somewhere I read something about remote connections.   I had a thought.   I powered up a Remote Desktop session to my own development box and then opened DebugView.   Success!   The 'Capture Global Win32' option appeared, and once selected, DebugView started happily displaying the output from my ASP.NET application.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;This approach cannot be used on XP (or, I think, Vista) because, even with SP2, XP does not support concurrent remote desktop sessions.   Apparently, Microsoft was going to lift this restriction at some point, but then decided not to.   As I say, when running DebugView under Vista, I don't get the problem anyway.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I experimented further with DebugView by setting up a 'client' instance (surely this should be termed a 'server' instance') and then connecting to this on the same machine.   In my first attempt, this appeared to work, but when I tried to reproduce the approach the following day, it failed.   The Remote Desktop approach works every time though.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;As I say, I don't currently have an explanation.   I know, from Googling, that there are some interesting issues when using OutputDebugString regarding the permission set granted to an underlying Mutex.   Maybe the behaviour of DebugView has something to do with this.   Maybe the explanation is simpler.   It may have something to do with having another registered debugger in the same Windows session.   I'm not sure.   What I do know is that remoting into your own desktop on Windows Server 2003 works very nicely indeed.&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115390"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115390" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/115390.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/09/16/115390.aspx</guid>
            <pubDate>Sun, 16 Sep 2007 13:24:45 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/115390.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/09/16/115390.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/115390.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/115390.aspx</trackback:ping>
        </item>
        <item>
            <title>MS BRE: State Transition Pattern</title>
            <category>Microsoft Business Rule Framework</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/09/16/115389.aspx</link>
            <description>&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;My fellow BizTalk MVP, Leonid Ganeline, asked if I would comment further on mechanisms to govern sequential flow in rules in MS BRE.    He was picking up on some comments I made in my article comparing WF and MS BRE rule performance (see &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/08/12/114597.aspx#143628"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/08/12/114597.aspx#143628&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;). &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;What I had in mind was the use of state transition patterns within rule sets.   These can be used to layer a degree of sequential control over the set-based pattern matching approach taken by engines like MS BRE.   The basic pattern is simplicity itself, and very common.     What I generally do is assert an additional 'context' fact to the engine (typically some custom .NET object) in which I maintain a state specifier (e.g., a simple string property).   I can then group rules together to match specific states, and use a low-priority rule in each group to change the state.   The 'sequential' flow is then governed by the state transitions.   Of course, any single group of rules that match the same state do not operate in a sequential fashion amongst themselves.   However, you can always just have one main rule per state if you wish.   Here is a very, very simple example of the kind of pattern I have in mind.&lt;/font&gt;&lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font face="Verdana" size="2"&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;/*********************************************&lt;br /&gt;
&lt;/font&gt; * Group 1 - 'Started' state&lt;br /&gt;
&lt;font face="Verdana" size="2"&gt; ********************************************/&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Rule 1&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Verdana" size="2"&gt;IF&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; AND&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    Context.CurrentState == "started"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    MyFactA.Property1 &amp;gt; 5&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    MyFactB.Property1 &amp;lt; MyFactA.Property&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;THEN&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; MyFactB.Property1 = MyFactA.Property1&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; assert MyFactB&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Rule 2 (priority -1)&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Verdana" size="2"&gt;IF&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; Context.CurrentState == "started"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;THEN&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; Context.CurrentState = "initialised"&lt;br /&gt;
 assert Context&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;/*********************************************&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; * Group 2 - 'Initialised ' state&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; ********************************************/&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;&lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Rule 3&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Verdana" size="2"&gt;IF&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; AND&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    Context.CurrentState == "initialised"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    MyFactA.Property2 == "USA"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;THEN&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; MyFactA.SetCountryCode("01")&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Rule 4&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Verdana" size="2"&gt;IF&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; AND&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    Context.CurrentState == "initialised"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    MyFactA.Property2 == "UK"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;THEN&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; MyFactA.SetCountryCode("44")&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Rule 5 (priority -1)&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Verdana" size="2"&gt;IF&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; Context.CurrentState == "initialised"&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;THEN&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; Context.CurrentState = "completed"&lt;br /&gt;
 assert Context&lt;br /&gt;
 assert MyFactA  // convenient place to re-assert MyFactA &lt;br /&gt;
                        // to avoid loops if, for example, &lt;br /&gt;
                        // MyFactA.SetCountryCode() changes the &lt;br /&gt;
                        // state of MyFactA.&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;/*********************************************&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; * Group 3 - 'Completed' state&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; ********************************************/&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Rule 6&lt;br /&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Verdana" size="2"&gt;IF&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; AND&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    Context.CurrentState == " completed "&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;THEN&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    MyFactA.Property1 = 0 &lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    MyFactB.Property1 = 0&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;/********************************************/&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;The low-priority ‘state transition’ rules are rules 2 and 5.   Group 2 contains two main rules, whereas the other groups have just one main rule.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;Personally, I think MS BRL (and the Rules Composer) should provide a built-in abstraction for this design pattern - i.e., provide a way of grouping rules by state, and declaring how to transition to a new state when a group has completed its work.   If this was supported, it would not be necessary to explicitly define an additional low-priority rule in each group. &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;This design pattern can be a little difficult to maintain in MS BRE currently because the rule composer displays rules in alphabetic order in the UI, regardless of the order in which you created them, and so you cannot see the groupings and state transitions.   The answer to this, of course, is to adopt a rule naming convention which makes the pattern more explicit in the UI.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I used this design pattern recently when creating a rule set for applying Bayes Theorem.   See   &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/08/27/114988.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/08/27/114988.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;.   The rule set was written for other rule engines (Jess and CLIPS), but uses exactly the same principle.   I have ported the rule set to MS BRE, but just need to clear a potential commercial hurdle before publishing the code.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;You can download a slide set for a presentation I gave earlier this year at an architect's conference from &lt;/font&gt;&lt;a href="http://download.microsoft.com/documents/uk/msdn/architecture/architectinsight/2007/collaboration/COL01-Rules-Processing-in-Business-Processes.ppt"&gt;&lt;font face="Verdana" size="2"&gt;http://download.microsoft.com/documents/uk/msdn/architecture/architectinsight/2007/collaboration/COL01-Rules-Processing-in-Business-Processes.ppt&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;.   There is a slide in the set which illustrates how a declarative rule set might map onto a process (I've used a BizTalk orchestration to represent the process).&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115389"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115389" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/115389.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/09/16/115389.aspx</guid>
            <pubDate>Sun, 16 Sep 2007 12:06:37 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/115389.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/09/16/115389.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/115389.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/115389.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET 2.0: Build provider and master page issue</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/09/13/115326.aspx</link>
            <description>&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I had an unpleasant time yesterday afternoon re-stabilising an ASP.NET 2.0 application after it went berserk.   I don't do that much coding in ASP.NET these days, but when I do, I seem to run into lots of problems. A fellow developer on the same project wasn't very helpful or sympathetic - he sat there and informed everyone in a loud voice that he'd just come off another project where he'd built a much larger ASP.NET app without any problems at all.   Yes, thanks for the support!&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I had several problems layered on top of one another, including those strange issues where Visual Studio 2005 seems to get into a complete mess somehow with assembly references. I also saw evidence of Visual Studio putting incorrect duplicate file references into the project file. Killing every bin and obj folder and deleting the entire contents of the Temporary ASP.NET Files folder helped no end. However, I had one problem that I couldn't clear for ages.   Certain .aspx pages constantly reported errors associated with their @Page directives.   One page, in particular, constantly reported this error (even after I had re-built the page from scratch), and others intermittently reported the same error!   The error message stated that:&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;"There is no build provider registered for the extension ''. You can register one in the &amp;lt;compilation&amp;gt;&amp;lt;buildProviders&amp;gt; section in machine.config or web.config. Make sure is has a BuildProviderAppliesToAttribute attribute which includes the value 'Web' or 'All'."&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;Why on earth would I need to register a build provider for non-existent file extensions?   The problem seemed also to manifest itself in an inability to find a master page unless I provided a fully qualified path name.   Another strange thing was that sometimes a different error would be reported by Visual Studio saying that part of the path to the web application directory could not be found.   Needless to say the path was correct and present.   The problem survived cleaning down the project and rebooting the system. &lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I tried everything I could think of to solve the issue.   Nothing worked until, by trial and error, I hit on a solution.   In Web.Config, I added the following buildProviders extension entry to the compilation element:&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Courier New" size="2"&gt;    &amp;lt;compilation debug="true"&amp;gt;&lt;br /&gt;
      &amp;lt;buildProviders&amp;gt;&lt;br /&gt;
          &amp;lt;add extension="*" type="System.Web.Compilation.PageBuildProvider"/&amp;gt;&lt;br /&gt;
      &amp;lt;/buildProviders&amp;gt;&lt;br /&gt;
    &amp;lt;/compilation&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;Success!   The problem disappeared.   I then had the presence of mind to IMMEDIATELY go back and comment out the buildProvider entry. The problem did not come back!   Whatever happened when I added the build provider seems to have solved the underlying issue.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I can't explain the cause, but I can see a few reports of the same delinquent behaviour when I Google.   Hopefully this will be of help to someone out there.   I really do hope Microsoft has put some effort into stabilising Visual Studio 2008 rather than just concentrating on adding features.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;Also, before someone asks, yes, I do have Visual Studio 2005 SP1 installed, and yes, I am using a Web Application project rather than a Web Site project.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115326"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115326" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/115326.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/09/13/115326.aspx</guid>
            <pubDate>Thu, 13 Sep 2007 12:21:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/115326.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/09/13/115326.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/115326.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/115326.aspx</trackback:ping>
        </item>
        <item>
            <title>Rules Engines and Bayes' Theorem</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/08/28/115004.aspx</link>
            <description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;I had an interesting time yesterday writing a rule set in order to demonstrate that Bayesian analytics can be combined with rule processing in an entirely natural fashion.   Armed with an understanding of how a rules engine works, I also believe that it is entirely possible for a Rules Engine to implement and apply Bayes theorem in an efficient manner.   I wrote the rule set for a Java-based rule engine called Jess, so please note this is not a BizTalk-related post.    &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;My reason for writing the rule set was to counter some statements published on the Complex Event Processing Blog site, including references to a 20-year old academic paper that appears to claim, incorrectly, that rules engines cannot efficiently handle the concept of uncertainty.    Bayes theory is one way of handling &lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-ansi-language: EN-GB; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;dependencies amongst &lt;/span&gt;uncertain beliefs (i.e., calculating the probability (and changes to probability) of the accuracy of hypotheses based on uncertain beliefs and evidence).   Another approach to handling uncertainty is to employ 'fuzzy logic', which I found myself demonstrating to a client (using MS BRE) just last week.   But that's another story...&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;If you are interested in this rather obscure discussion, please read on at &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/08/27/114988.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/08/27/114988.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115004"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115004" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/115004.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/08/28/115004.aspx</guid>
            <pubDate>Mon, 27 Aug 2007 23:41:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/115004.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/08/28/115004.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/115004.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/115004.aspx</trackback:ping>
        </item>
        <item>
            <title>WF Rules and MS BRE - Comparing Performance</title>
            <category>BizTalk Server 2004/2006</category>
            <category>Microsoft Business Rule Framework</category>
            <category>Windows Workflow Foundation</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/08/14/114647.aspx</link>
            <description>&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I’ve been asked a few times how the performance of WF (Windows Workflow Foundation) Rules compares with that of the Microsoft Business Rules Engine (MS BRE).   Having done no testing, I could only guess at the answer.   &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;I’ve now undertaken some initial performance testing to compare WF and MS BRE, and decided to publish the results.    You can read my write-up of the results &lt;/font&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/08/12/114597.aspx"&gt;&lt;font face="Verdana" size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;.&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/08/12/114597.aspx"&gt;&lt;font face="Verdana" size="2"&gt;http://geekswithblogs.net/cyoung/archive/2007/08/12/114597.aspx&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114647"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114647" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/114647.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/08/14/114647.aspx</guid>
            <pubDate>Tue, 14 Aug 2007 17:27:29 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/114647.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/08/14/114647.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/114647.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/114647.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Server or WF for rules and tracking?</title>
            <category>BizTalk Server 2004/2006</category>
            <category>Microsoft Business Rule Framework</category>
            <category>Windows Workflow Foundation</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/07/19/114062.aspx</link>
            <description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;I got an email today requesting help in deciding the appropriate selection of rule processing technology for a workflow application.&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;I’ve got requests like this before, so I’ve decided to post a reply publically.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a href="http://geekswithblogs.net/cyoung/archive/2007/07/19/114061.aspx"&gt;http://geekswithblogs.net/cyoung/archive/2007/07/19/114061.aspx&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114062"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114062" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/114062.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/07/19/114062.aspx</guid>
            <pubDate>Thu, 19 Jul 2007 19:13:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/114062.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/07/19/114062.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/114062.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/114062.aspx</trackback:ping>
        </item>
        <item>
            <title>IE7 issues with this site...</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/05/30/112853.aspx</link>
            <description>&lt;p&gt;Apologies if anyone has been experiencing IE7 crashes when trying to read articles on this site (though I don't really see why I should apologise for IE7 crashing!).   As far as I can tell, this seems only to affect IE7 users on Vista.   IE7 on XP appears to be unaffected, and Firefox is OK.   The problem appears to be related to having a 'blogmap', although it only affects certain pages (articles, rather than posts).   I've removed my blogmap, and the problem appears to have gone away.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If anyone has any further problems, please contact me via the site (once you've recovered from a crashed IE7 instance, that is!).&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Update:&lt;/strong&gt; The problem continued to re-occur, although far less frequently.   So I played around some more.   I had switched on the Subtext CoComment feature.   I switched this off, and things got much more stable.   So, something about CoComment support in SubText seems to cause an IE7 crash.   I've put the blogmap back in.   Seems to be working OK.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112853"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112853" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/112853.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/05/30/112853.aspx</guid>
            <pubDate>Wed, 30 May 2007 17:59:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/112853.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/05/30/112853.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/112853.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/112853.aspx</trackback:ping>
        </item>
        <item>
            <title>MS BRE: Update to side-effects article</title>
            <category>Microsoft Business Rule Framework</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/04/10/111317.aspx</link>
            <description>&lt;p&gt;I posted an article on MS BRE side effects yesterday.   I had immediately to withdraw it for a few hours because I realised it was incomplete (and actually a little wrong) in one part.   Then I noticed I had swapped the legend text on the graph making it appear that caching made things slower, rather than faster!   I then discovered today that for the last three years I have been completely ignorant of the fact that you can drag and drop object constructors onto the 'assert' argument in the Rules Composer in order to expolit the built-in CreateObject function!   Big red face.   I have changed the offending paragraph where I moaned at Microsoft for not providing access to this functionality!   Given the number of times I have complained about the lack of comprehensive documentation for BizTalk and related technologies, it is ironic that Microsoft has documented this particular feature very cleary indeed, and even given a brief description of what happens behind the scenes!   I am suitably chastened.&lt;/p&gt;
&lt;p&gt;The updated article remains at &lt;a href="http://geekswithblogs.net/cyoung/articles/111169.aspx"&gt;http://geekswithblogs.net/cyoung/articles/111169.aspx&lt;/a&gt;.   If anyone spots any other artefacts of my ignorance or inattention, do please let me know!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111317"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111317" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/111317.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/04/10/111317.aspx</guid>
            <pubDate>Tue, 10 Apr 2007 15:56:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/111317.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/04/10/111317.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/111317.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/111317.aspx</trackback:ping>
        </item>
        <item>
            <title>MS BRE: Controlling rule side effects </title>
            <category>Microsoft Business Rule Framework</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/04/09/111172.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For almost two years now, I've been intending to write an article about the mysterious 'side effects' flag used in Microsoft Business Rule Engine policies.&amp;nbsp; Microsoft documents this feature (see &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/aa559124.aspx"&gt;&lt;FONT face=Verdana size=2&gt;http://msdn2.microsoft.com/en-us/library/aa559124.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;), and describes very briefly how to control it.&amp;nbsp;&amp;nbsp; The mystery that surrounds this flag arises because it is represented by an attribute named 'sideeffects' in Microsoft's BRL (Business Rule Language) although it actually controls a caching mechanism, and because Microsoft has not provided access to the flag in their Rules Composer, thereby giving the impression that it is not a 'first-class' feature of rule definitions.&amp;nbsp;&amp;nbsp; In reality, this flag is an important aspect of the functional approach adopted in Microsoft's Business Rule Language (BRL), and can have a significant effect on both behaviour and performance of your policies.&amp;nbsp;&amp;nbsp;Understanding the flag also requires a greater understanding of the way in which BRL binds functions to custom&amp;nbsp;code, providing a clean mechanism for implementing domain-specific extensions to the rule language.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Incidently I apologise that, for a few hours after my initial posting, I had to withdraw the article.&amp;nbsp;&amp;nbsp; No sooner had&amp;nbsp;I posted than I realised that I had not adequately investigated one aspect of MS BRE functionality.&amp;nbsp;&amp;nbsp; I have now corrected and extended the original version.&amp;nbsp;&amp;nbsp; I'm sorry if anyone found their aggregator reporting a page that wasn't there.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The article is located at &lt;/FONT&gt;&lt;A href="http://geekswithblogs.net/cyoung/articles/111169.aspx"&gt;&lt;FONT face=Verdana size=2&gt;http://geekswithblogs.net/cyoung/articles/111169.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111172"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111172" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/111172.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/04/09/111172.aspx</guid>
            <pubDate>Mon, 09 Apr 2007 09:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/111172.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/04/09/111172.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/111172.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/111172.aspx</trackback:ping>
        </item>
        <item>
            <title>Microsoft BRE: Fact Identity in the Microsoft Rules Engine, or how the author chased a non-existant bug</title>
            <category>Microsoft Business Rule Framework</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/04/04/110851.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I recently had reason to revisit the exact mechanisms Microsoft use when you assert facts to the Microsoft Rules Engine.&amp;nbsp;&amp;nbsp; I was discussing stuff on-line with a fellow rules enthusiast when a terrible thought occurred to me.&amp;nbsp;&amp;nbsp; Can the MS BRE always uniquely identify each different fact, or is there a chance that sometimes it might confuse two facts with each other?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For a couple of days, I was convinced that I had stumbled on a significant bug.&amp;nbsp;&amp;nbsp; Indeed, at one point, I thought there was such a serious problem that I would have to recommend to my company that we desist from any further use of Microsoft’s rules engine.&amp;nbsp;&amp;nbsp; Melodramatic, huh!&amp;nbsp;&amp;nbsp;&amp;nbsp; Fortunately, after a bit more research, I discovered that I was quite wrong.&amp;nbsp;&amp;nbsp; The MS BRE does not suffer from a terminal flaw and can be trusted to always distinguish correctly between all your facts.&amp;nbsp;&amp;nbsp; It’s worth recording my suspicions, mistakes and eventual enlightenment.&amp;nbsp;&amp;nbsp; There is something useful to learn, here, about the inner workings of the engine, and also about Microsoft’s implementation of the Hashtable class in .NET.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Read more at &lt;A id=Editor_Edit_hlEntryLink title="view: MS BRE: Fact Identity in the Microsoft Rules Engine, or how the author chased a non-existent bug" href="/cyoung/articles/110852.aspx" target=_blank&gt;&lt;FONT color=#002c99&gt;http://geekswithblogs.net/cyoung/articles/110852.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110851"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110851" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/110851.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/04/04/110851.aspx</guid>
            <pubDate>Wed, 04 Apr 2007 21:26:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/110851.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/04/04/110851.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/110851.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/110851.aspx</trackback:ping>
        </item>
        <item>
            <title>MVP Global Summit Day 3</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/03/15/108881.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Day three of the MVP summit was held at the Microsoft Campus.&amp;nbsp;&amp;nbsp; Things started badly with a long and slow bus ride through heavy traffic leaving me with no time for breakfast when I finally arrived at the conference centre.&amp;nbsp;&amp;nbsp; I boarded the shuttle for building 43 to find most of my fellow BizTalk MVPs (the ones who have been staying in downtown Seattle since the weekend) equally late, and we arrived en masse about 15 minutes into the first session.&amp;nbsp;&amp;nbsp;&amp;nbsp; Jesus Rodriguez was on his feet presenting the forthcoming WCF adapter SDK with a particular focus on building LOB adapters with metadata harvesting and dynamic, consumer-orientated contracts.&amp;nbsp;&amp;nbsp; Sonu Arora presented code examples.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;After a frantic and barely successful search for coffee, I sat through the next session with Gruia Pitigoi-Aron.&amp;nbsp;&amp;nbsp; This continued the focus on the new adapter framework, discussing the development of custom WCF channels from the perspective of BizTalk developers.&amp;nbsp;&amp;nbsp; Custom channels can be exploited in BizTalk land using the WCF Custom Binding adapter that will ship with R2.&amp;nbsp;&amp;nbsp; Gruia sees this as a new extension approach to be used alongside custom code in orchestrations and pipeline components.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I need to do more thinking at some point about this approach.&amp;nbsp;&amp;nbsp; Although the adapter allows custom channels to interact with the BizTalk message box, this does not mean that you automatically get the recoverability and tracking you might need in a real-world solution.&amp;nbsp;&amp;nbsp; The appropriate use of this new facility will, I trust, become clear as we begin to apply it for real.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Next up was Marty Wasznicky discussing the BizTalk Server disaster recovery model and support for high availability.&amp;nbsp;&amp;nbsp; Microsoft has certainly improved this side of things, and we saw a good demo (slightly cursed by the demo gods at the end) of a BizTalk installation being recovered.&amp;nbsp;&amp;nbsp; Marty had to present under the eagle-eye d scrutiny of Lee Graber who, although now working with the SQL Server product team, joined us for part of the day.&amp;nbsp; I was amused by Lee’s comments about BizTalk’s feature history.&amp;nbsp;&amp;nbsp;&amp;nbsp; ‘No’, he said on more than one occasion, ‘that feature wasn’t introduced in BTS 2006; it was in BTS 2004 SP2’.&amp;nbsp;&amp;nbsp; Ah, the voice of authority.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Not being a system administrator, I was suitably impressed by the DR features that Marty demonstrated.&amp;nbsp;&amp;nbsp; This was, however, the subject of some discussion later in the day, with alternative viewpoints and strategies being discussed.&amp;nbsp;&amp;nbsp;&amp;nbsp; The inability to support SQL Server mirroring was a matter of some concern.&amp;nbsp;&amp;nbsp;&amp;nbsp; Again, BizTalk DR is a subject I need to look more deeply into.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;After lunch, we were briefly back to adapter-land with a presentation by Tapas Nayak looking at Microsoft’s new WCF SAP adapter.&amp;nbsp;&amp;nbsp; This was especially interesting in terms of seeing the application of dynamic contract creation features in the new framework.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The direction of the day now changed with a fascinating presentation by Pravin Indurkar on the next release of WF.&amp;nbsp;&amp;nbsp; This will be part of .NET 3.5 which will ship in the ‘Orcas’ time frame.&amp;nbsp;&amp;nbsp; Pravin discussed and demonstrated a number of extensions that more closely integrate WF and WCF, allowing workflows to be exposed as services via WCF bindings and behaviours.&amp;nbsp;&amp;nbsp; WF will include new Send and Receive activities, and will support a context exchange protocol that will support a wide spectrum of service-orientated interaction patterns, including ‘conversations’ similar to patterns used in SQL Server Service Broker.&amp;nbsp;&amp;nbsp; This is very powerful, and I couldn’t help thinking that, conceptually at least, we were seeing something of a stepping stone on the way to integrating .NET 3 into a future version of BizTalk.&amp;nbsp;&amp;nbsp;&amp;nbsp; WF 2.5 will support durable services via a persistence provider, and may even offer BizTalk-like features such as property promotion.&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Next up was Paul Andrews, a Microsoft product manager, who discussed the drivers for choosing between different integration and workflow technologies (specifically BizTalk and WF).&amp;nbsp;&amp;nbsp; We’ve all sat through presentations were an attendee annoys us by reacting visibly and negatively to the presentation.&amp;nbsp;&amp;nbsp; On this occasion, I was that attendee, so I apologise to Paul if I made his life difficult.&amp;nbsp;&amp;nbsp; However, I profoundly disagree with the line he took.&amp;nbsp;&amp;nbsp; A major aspect of my work as a BizTalk consultant is to help clients understand how to best select and fit available technologies to their requirements, and I therefore want to see a Microsoft approach that is grounded in a solid understanding of the nature of specific technologies.&amp;nbsp;&amp;nbsp; To me, Paul’s approach would be analogous to comparing and contrasting the IP stack to Internet Explorer, and suggesting that while IE might be suitable technology for use by ‘enterprise’ customers, an ISV would probably want to install the stack.&amp;nbsp;&amp;nbsp; After all, draw up a tick-box list of features offered by IE and the IP stack, and you will see that the stack essentially offers a subset of the features you can access via your browser.&amp;nbsp;&amp;nbsp;&amp;nbsp; So, if you don’t have ‘enterprise’ requirements, you only need the IP stack to access the Internet.&amp;nbsp;&amp;nbsp; Enterprise clients, of course, don’t need the stack.&amp;nbsp;&amp;nbsp; Huh?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;For IE, read BizTalk, and for the IP stack, read WF, and you may begin to understand where I am coming from on this.&amp;nbsp;&amp;nbsp; Try to imagine how many minutes I would be allowed to stay in a client’s building before being marched back to the entrance if I was to take this approach in helping them to select appropriate technologies.&amp;nbsp;&amp;nbsp; Maybe three?&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The point, surely is that WF is foundational.&amp;nbsp;&amp;nbsp; It is a framework on which we build.&amp;nbsp;&amp;nbsp; It is not a ‘product’ to be compared and contrasted with other products.&amp;nbsp;&amp;nbsp; BizTalk will, in future, build on this foundation.&amp;nbsp;&amp;nbsp; K2 ‘Black Pearl’ will build on this foundation.&amp;nbsp;&amp;nbsp; MOSS has already built on this foundation.&amp;nbsp;&amp;nbsp; MIIS is building on this foundation.&amp;nbsp;&amp;nbsp; Developers will build on this foundation when implementing custom workflow solutions.&amp;nbsp;&amp;nbsp; Edge servers will exploit this foundation and then interact with BizTalk which builds on this foundation and integrates with other services which build on this foundation.&amp;nbsp;&amp;nbsp; You’ve got to understand the foundational nature of WF before you can realistically advise clients in regard to technology selection.&amp;nbsp;&amp;nbsp; This is not enabled by plugging WF into a tick-box product comparison matrix.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;OK, I bet (and hope) I get some kick-back on that.&amp;nbsp;&amp;nbsp; Let’s move on.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Brad Paris and Tiho Tarnavski were next up with a session on the WCF and WF BAM interceptor extensions in BizTalk R2.&amp;nbsp;&amp;nbsp; A few months ago, a colleague and I spent a couple of hours reflecting on WF in order to work out how its tracking infrastructure works.&amp;nbsp;&amp;nbsp; I won’t discuss here, but it is suitably impressive.&amp;nbsp; At the time, we compared and contrasted this with the instrumentation you would need to do if using the BAM interceptor APIs directly.&amp;nbsp;&amp;nbsp; I was therefore delighted to discover that the WF BAM interceptor is built on the tracking infrastructure, which means that it should prove really powerful.&amp;nbsp;&amp;nbsp; There are a couple of caveats though.&amp;nbsp;&amp;nbsp; The point was well made that Microsoft does not offer anything like TPE (the BizTalk Tracking profile Editor) in order to exploit interception in WF workflows.&amp;nbsp;&amp;nbsp; This means that configuration must be done long-hand by editing verbose XML, and that this makes BAM instrumentation difficult.&amp;nbsp;&amp;nbsp; A good point, which is, of course (yet again) a tooling issue.&amp;nbsp;&amp;nbsp; I hope Microsoft takes note.&amp;nbsp;&amp;nbsp; A second point is that the interceptors do not use buffered event streams.&amp;nbsp;&amp;nbsp; This is potentially a killer.&amp;nbsp;&amp;nbsp; I do not understand why Microsoft persists in coupling BAM buffered event streams so closely to the BizTalk message box.&amp;nbsp;&amp;nbsp; Why not re-factor the technology to allow persisted events to be streamed out to any persistence provider.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Anush Kumar presented the next session on RFID.&amp;nbsp;&amp;nbsp; I’m very familiar with this subject thanks to the focus we have in &lt;A title="SolidSoft Ltd." href="www.solidsoft.com" target=_blank&gt;SolidSoft&lt;/A&gt;, and many conversations with Simon Holloway who heads up our efforts in this area.&amp;nbsp;&amp;nbsp; I wanted to question Anush more closely on Microsoft’s story with regard to simulation and the current lack of support for ALE.&amp;nbsp;&amp;nbsp; However, there was so much interest from others that I didn’t get the chance after the presentation.&amp;nbsp;&amp;nbsp; Maybe I will email my questions.&amp;nbsp;&amp;nbsp; I did, at least, get to raise my concerns briefly about the lack of support for rules development when using the BRE event handler, and was later able to explain this in more depth to Jon Flanders and others.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The day finished with a session on Identity Management from Richard Turner and an extra session on MIIS which is built around WF.&amp;nbsp;&amp;nbsp; I’ve known Richard for many years, and I spent some time last year building a managed card demonstrator using CardSpace which we demonstrated at the Microsoft Security Summit last year, so am familiar with the technology and Kim Cameron’s laws of identity on which it is based.&amp;nbsp;&amp;nbsp; I am less familiar with MIIS, so was very interested to see this demonstration.&amp;nbsp;&amp;nbsp; MIIS certainly appears to provide a flexible approach to identity management and process governance.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;In the evening, we got to share some quality time with members of the product team.&amp;nbsp;&amp;nbsp; I met with some of the guys working the next version of BizTalk orchestration, and also had a long conversation with Clemens Vasters who, years ago, sparked my initial interest in BizTalk.&amp;nbsp;&amp;nbsp; A group of us were able to articulate some of our concerns and questions about the future of BizTalk, and Clemens promised to look more closely at how roadmap information can be shared more effectively with the MVP community.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I’d love to add more and more names to my emerging list of BizTalk MVPs who I have met, but time does not allow.&amp;nbsp;&amp;nbsp; It’s great to meet all you guys.&lt;/FONT&gt;&lt;/P&gt;Previously posted at http://blog.solidsoft.com/blogs/charles_young_mvp_biztalk/default.aspx&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108881"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108881" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/108881.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/03/15/108881.aspx</guid>
            <pubDate>Thu, 15 Mar 2007 14:07:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/108881.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/03/15/108881.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/108881.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/108881.aspx</trackback:ping>
        </item>
        <item>
            <title>MVP Global Summit Day 4</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/03/17/109056.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;And so for my final report from the MVP summit.&amp;nbsp;&amp;nbsp;&amp;nbsp; For the BizTalk MVPs, day four started with a Q&amp;amp;A session with product team members.&amp;nbsp;&amp;nbsp;&amp;nbsp; A number of issues were discussed centred on the recurrent themes of evolving a coherent strategy across the Connected Services Division and the more effective inclusion of the MVP community into the feedback loop.&amp;nbsp;&amp;nbsp; From my perspective, the BizTalk MVPs must surely be a valuable, if rather under-utilised, resource for CSD.&amp;nbsp;&amp;nbsp; The collective wisdom and experience bought together in the Adams room in building 43 over the last couple of days represents decades of person-year experience in applying a central CSD product to the real-life needs of Microsoft’s customers around the globe.&amp;nbsp;&amp;nbsp; Listening to the MVPs in discussions over coffee or in the evenings, there was a common set of fears, complaints, wishes and hopes, and, as Jon Fancy was saying in the airport at the end of the day, we should have far more practical, ongoing, input into the product team in order to reflect the real world back to those responsible for our favourite integration toolkit.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The first session of the day was an introduction by Tony Barnard into the new EDI support in BizTalk Server 2006 R2.&amp;nbsp;&amp;nbsp; Microsoft has recognised the need to provide a much better out-of-the-box story for EDI, and R2 provides support and tooling for over 8000 schemas.&amp;nbsp; Microsoft will continue to partner with other organisations to build, for example, robust HIPAA (US health system electronic data interchange) support, and is looking at its options with regard to managing schema updates over time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Steve Maine led the next session looking at web development enhancements in ‘Orcas’ and WCF.&amp;nbsp;&amp;nbsp; Specifically, he discussed and demonstrated new support for partial trust, RESTful development, a unified model for both SOAP and POX, a data model for RSS, and AJAX/JSON support.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The general WCF theme continued with a Shy Cohen demonstrating Orcas improvements for developing and testing WCF server and client applications.&amp;nbsp;&amp;nbsp; He demonstrated a new metadata-driven client test harness and the ‘autohost’ features for testing server-side code.&amp;nbsp;&amp;nbsp; WCF development should be a lot easier in the future.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;There was one more session, but NDA means that I cannot discuss.&amp;nbsp;&amp;nbsp; Sorry.&amp;nbsp;&amp;nbsp; Suffice to say that we have a lot of exciting stuff to look forward to from CSD in the future.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;And that was that.&amp;nbsp;&amp;nbsp; By now, the lack of sleep, jet lag and constant activity of the last few days was beginning to take its toll, and I was glad to enjoy a leisurely lunch and then make my way back to the airport and an early-evening flight back to the UK.&amp;nbsp;&amp;nbsp; I can never sleep on planes (not in economy, anyway), so by Friday afternoon , back in the UK, I was shattered.&amp;nbsp;&amp;nbsp; 12 hours sleep later, I feel a little more human.&amp;nbsp;&amp;nbsp; The MVP tee-shirt has gone to my eldest daughter.&amp;nbsp;&amp;nbsp; The CSD Soduku game has gone to my second eldest (I already had one, anyway).&amp;nbsp;&amp;nbsp; Other tat has been duly distributed around the family, and I plan to spend a quiet weekend catching up with my life and remembering an excellent conference and many new faces.&amp;nbsp;&amp;nbsp; My thanks to Microsoft for organising a great event.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109056"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109056" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/109056.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/03/17/109056.aspx</guid>
            <pubDate>Sat, 17 Mar 2007 13:25:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/109056.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/03/17/109056.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/109056.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/109056.aspx</trackback:ping>
        </item>
        <item>
            <title>Name-dropping in Seattle - Day one of the 2007 MVP Global Summit </title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/03/13/108607.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I'm in soggy Seattle at the MVP Global Summit, and, like so many of my fellow MVPs, it seems appropriate to keep some kind of daily journal - you know the form - let you know how fortunate I am to be on a big Microsoft freebie, and how unfortunate you are to, er..., not be...and, of course, get a bit of name-dropping in as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The first round of name-dropping has nothing to do with the summit.&amp;nbsp; A week ago I was at the Microsoft Architect Insight conference at the Celtic Manor outside Newport, Wales.&amp;nbsp;&amp;nbsp; The Celtic Manor is famous for golf and is the venue for the 2010 Ryder Cup.&amp;nbsp;&amp;nbsp; It is also famous, these days, for software architects working on the Microsoft platform.&amp;nbsp;&amp;nbsp; This was the second year of the conference, and &lt;A title="SolidSoft Ltd." href="www.solidsoft.com" target=_blank&gt;SolidSoft&lt;/A&gt;, having attended last year, was a co-sponsor of the event this year.&amp;nbsp;&amp;nbsp; The conference started with a keynote from Merlin Hay who, later in the bar, entertained a group of us with his views on hereditary peerage and 'breeding' (what else - he is the 24th Lord Erroll!), and, more seriously, provided some interesting insights into the way that political decision-making happens at a national level.&amp;nbsp;&amp;nbsp; Later that evening, the &lt;A title="SolidSoft Ltd." href="www.solidsoft.com" target=_blank&gt;SolidSoft&lt;/A&gt; team had the pleasure of a couple of hours with Ivar Jacobson, one of the 'three amigos' (the gentlemen responsible for UML) and an early advocate of component development.&amp;nbsp; Perhaps the best thing was that, instead of deep discussions on the applicability of agile methodologies in enterprise integration, we instead talked love, live and the pursuit of happiness.&amp;nbsp;&amp;nbsp; Hey, we do have lives!&amp;nbsp;&amp;nbsp; I enjoyed the final plenary with Ivar, Jack Greenfield (the software factory guy) and Colin Bird sharing their collective insights and views on a range of architecture and methodological subjects.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It was nice to briefly meet Ed Gibson again.&amp;nbsp; Ed is Microsoft's Chief Security Advisor in the UK, and always a great pleasure to talk to.&amp;nbsp; I was also glad to, oh so briefly, catch up with Planky (Steve Plank) from Microsoft who fronted a series of sessions on security and identity management.&amp;nbsp;&amp;nbsp; Well done to Matt Deacon and Daniel Nissel who made the whole event happen.&amp;nbsp;&amp;nbsp; It was good to see my old colleague, James Saul, and I enjoyed his session on real world architecture (I left the heckling to Andrew Rivers ;-) ).&amp;nbsp;&amp;nbsp; Most embarrassing moment was parading the &lt;A title="SolidSoft Ltd." href="www.solidsoft.com" target=_blank&gt;SolidSoft&lt;/A&gt; corporate train set (don't ask!) in front of rival companies' stands.&amp;nbsp;&amp;nbsp; The train set did fulfil its role, though, as a talking point around RFID, and Simon Holloway did a great presentation on the subject at the end of the conference.&amp;nbsp;&amp;nbsp; Thanks to Andy James for keeping the &lt;A title="SolidSoft Ltd." href="www.solidsoft.com" target=_blank&gt;SolidSoft&lt;/A&gt; team on the straight and narrow, and well done to Pam McClelland who fronted the &lt;A title="SolidSoft Ltd." href="www.solidsoft.com" target=_blank&gt;SolidSoft&lt;/A&gt; stand.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The conference, itself, was very worthwhile.&amp;nbsp;&amp;nbsp; Software, infrastructure and enterprise architecture covers very wide territory.&amp;nbsp;&amp;nbsp; Real effort was made to focus the conference on a range of architectural issues, and to capture the collective wisdom of the delegates.&amp;nbsp;&amp;nbsp; I have personally never attended an IT conference that was so interactive, and hope that this aspect is continued and built on in future years.&amp;nbsp;&amp;nbsp; Listening to discussions on issues like the development of IT skills in higher education or the effective presentation of enterprise architectures to business stakeholders took me into unfamiliar territory which broadened my horizons and provided food for thought.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Well, that’s a lot of name-dropping from the Welsh event.&amp;nbsp;&amp;nbsp; Now back to Seattle.&amp;nbsp;&amp;nbsp; Today was the first day of the conference, and has mainly been a matter of registration and networking.&amp;nbsp;&amp;nbsp; However, things really got underway yesterday evening when a group of BizTalk MVPs got together at Kells, an Irish pub in downtown Seattle.&amp;nbsp;&amp;nbsp; Mike Woods, the BizTalk Server Senior Technical Product Manager, was there, and he surprised us by paying for the meal - thanks to him for that.&amp;nbsp;&amp;nbsp; I had already spent a pleasant couple of hours with Gregory Van de Wiele in the hotel bar (mainly drinking orange juice, honest), and Kells provided the opportunity to meet a whole lot of people I know via their blogs - Alan Smith, Paul Somers, Jon Flanders, Brian Loesgen, Romualdas Stonkus, Jon Fancey and Evangelos Hadjichristodoulou.&amp;nbsp;&amp;nbsp; We were amused by the live Irish music - roughly equivalent to several rounds of 'Old MacDonald had a farm...' sung with Irish accents.&amp;nbsp;&amp;nbsp; We eventually decided to head off to the relative quiet of one of the hotels where we discussed all the things we would like to raise with the BizTalk product team while we are here.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Today, after registration, I attended the expo.&amp;nbsp;&amp;nbsp; It was nice to see Lorna Williamson, our UK MVP lead.&amp;nbsp; I still need to introduce myself to Akim Boukhelif who I saw from a distance.&amp;nbsp;&amp;nbsp; Much to my delight, I ran into Mick Badran.&amp;nbsp;&amp;nbsp; I've know Mick for ages, but haven't seen him since he moved back to Australia four or five years ago.&amp;nbsp;&amp;nbsp; He now has two kids and a thriving business based on BizTalk and MOSS training and consulting.&amp;nbsp;&amp;nbsp; Fantastic.&amp;nbsp;&amp;nbsp; I always felt Mick and I saw technology from a similar perspective, and after all this time we soon fell into sharing development experiences and violently agreeing with each other.&amp;nbsp;&amp;nbsp;&amp;nbsp;Romualdas joined us after a while, and he and I got some late lunch.&amp;nbsp; Romualdas is Lithuanian and works closely with Microsoft in that corner of Europe.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This evening, Microsoft hosted various regional dinners.&amp;nbsp;&amp;nbsp; The EMEA dinner was well attended, and buzzing.&amp;nbsp;&amp;nbsp; After a couple of hours the EMEA BizTalk MVPs decided to gatecrash the Americas dinner, which meant walking past or through the APAC and Japan regional dinners.&amp;nbsp;&amp;nbsp; I am therefore in a position to authoritatively state that, of the four groups, it was the EMEAns who clearly were in the lead in terms of party spirit, despite being uniformly jet-lagged.&amp;nbsp; The other regions have some catching up to do.&amp;nbsp;&amp;nbsp; By about 11:00 pm, though, we had all had enough for one day.&amp;nbsp;&amp;nbsp; Tomorrow kicks off with breakfast and a keynote from Bill Gates.&amp;nbsp;&amp;nbsp; For now, it’s time to stop the name-dropping and get some sleep.&lt;/FONT&gt;&lt;/P&gt;Previously posted at http://blog.solidsoft.com/blogs/charles_young_mvp_biztalk/default.aspx&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108607"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108607" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/108607.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/03/13/108607.aspx</guid>
            <pubDate>Tue, 13 Mar 2007 07:25:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/108607.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/03/13/108607.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/108607.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/108607.aspx</trackback:ping>
        </item>
        <item>
            <title>MVP Global Summit Day 2</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/03/14/108731.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Day two of the MVP summit is over.&amp;nbsp;&amp;nbsp; We were at the Washington State Convention &amp;amp; Trade Centre all day, but will be decamping to the Redmond campus tomorrow.&amp;nbsp;&amp;nbsp; The day started with an unscheduled bout of ‘pre-match’ chanting from the Canadian MVPs.&amp;nbsp;&amp;nbsp; They are an excitable crowd, and have spent much of the day ensuring that we all know which country they come from (Canada, I believe).&amp;nbsp;&amp;nbsp;&amp;nbsp; It appears that all Canadian MVPs (with the exception, I am glad to report, of Brian Loesgen) wear identical clothing.&amp;nbsp;&amp;nbsp; Very strange.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;VP Richard Kaplan got things underway informing us that the conference is being attended by 1,700 MVPs from 90 countries.&amp;nbsp;&amp;nbsp; The MVP community is certainly a very diverse group which helps give the conference a rather different feel than, say, the PDC.&amp;nbsp;&amp;nbsp; Bill Gates was up next, and provided us with a typical Gatesian keynote tour de force.&amp;nbsp;&amp;nbsp; He talked about the implications of moving to 64 bit computing and painted lots of cameo pictures of possible technology futures, emphasising some of his favourite topics along the way such as ink, recognition, etc.&amp;nbsp;&amp;nbsp; It’s interesting to note his acceptance of the ongoing transition of the programming ‘backbone’ to the Internet.&amp;nbsp;&amp;nbsp; He also discussed what was to become something of a recurrent theme during the day; namely the move to multi-core parallel processing, and the implications on software.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Wisely, Bill kept the speech fairly short, and then moved on to a Q&amp;amp;A session.&amp;nbsp;&amp;nbsp; There were too many questions to record here, but they included topics such as the problems faced by the IT in western countries due to the lack of graduate entrants into the industry, philanthropy, ‘Software as a Service’, the role of blogging, how to improve IT support for dealing with natural disasters, his all-time favourite Microsoft product, low-cost computing in the third world, the future of Live Search and a fascinating, but all too brief discussion on the evolution of technologies from tools to social insignia (yes, I’m serious).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;One rather sour note was the reaction of a handful of attendees to some of the questioners whose first language was not English.&amp;nbsp;&amp;nbsp; I would like to see them attempt to ask a question publically in, say, Japanese, and cope with the same level of sniggering and rude comments.&amp;nbsp;&amp;nbsp; Not good, guys.&amp;nbsp;&amp;nbsp; Where I come from, we consider this attitude to be a form of racism&amp;nbsp;and regard its practitioners as social pariahs.&amp;nbsp;&amp;nbsp; The MVP community is a global community, and should be respected as such.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Sean O’Driscoll then finished off the session by announcing the dates for the 2008 MVP summit – 14th-17th April.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;After the break, I attended the Developer Division roadmap session led by S Somasegar (Soma) who is the Developer Division corporate VP.&amp;nbsp;&amp;nbsp; He introduced us to the highlights of the Orcas release of Visual Studio.&amp;nbsp; Eric Carter demonstrated the Tools for Office and the way in which Outlook can be easily extended using Form Regions.&amp;nbsp;&amp;nbsp;&amp;nbsp; Soma talked about friction-free deployment and the introduction of cross-platform WPF/e.&amp;nbsp;&amp;nbsp; Brian Goldfarb then demonstrated the use of ink overlaid on graphics and videos in WPF.&amp;nbsp;&amp;nbsp; WPF is certainly impressive.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Soma finished the session by discussing some of the future directions for Team Foundation Server.&amp;nbsp;&amp;nbsp; There will be an emphasis on testing tools and the capture and tracking of business requirements.&amp;nbsp;&amp;nbsp; He also briefly discussed the challenges of multi-core programming and talked about the investment Microsoft is making in this area.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;After lunch, I attended a session with Anders Hejlsberg.&amp;nbsp;&amp;nbsp; Anders, despite suffering the wrath of the software demo gods, provided us with an intensive introduction to LINQ.&amp;nbsp;&amp;nbsp; I’ve played a bit with this technology, but there is surely nothing better than to sit in on an introduction from Anders himself.&amp;nbsp;&amp;nbsp; LINQ is fabulous.&amp;nbsp;&amp;nbsp; I realise the functional programming crowd probably find it little amusing that the rest of the development world is just now discovering monadic coding, but after years of using datasets, XML DOM and the like, the advent of LINQ in its various forms is truly exciting.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Anders graciously demonstrated the Literal XML features of VB.NET 9.0, leaving the C# developers feeling distinctly uncomfortable for a minute or so as we realised that perhaps there is a point to VB.NET after all!&amp;nbsp;&amp;nbsp; He then salvaged our faith in C# by demonstrating a Visual Studio add-in that auto-generates C# XLINQ code directly from XML.&amp;nbsp;&amp;nbsp; We sat through a huge number of demonstrations, but the overall themes were the declarative nature of the technology, the reduction in coding this brings, the clarity of the code in focussing on the ‘what’ rather than the ‘how’ and the clear and logical factored structure of the LINQ stack.&amp;nbsp;&amp;nbsp; All very good stuff indeed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The third, and final, session of the day was with Don Box and Chris Anderson.&amp;nbsp;&amp;nbsp; Don did the talking and Chris provided a kind of silent running commentary by typing a stream of consciousness in Notepad.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Chris also wrote the code for the demos.&amp;nbsp;&amp;nbsp; The session was the subject of some discussion over dinner this evening, and everyone seemed to have a different view and interpretation.&amp;nbsp;&amp;nbsp; My perspective is that Don was inviting us to think a certain way about XAML.&amp;nbsp; Specifically, he described how XAML and the .NET 3.0 framework can be perceived as a platform for building DSLs (Domain Specific Languages).&amp;nbsp;&amp;nbsp; Don took us through an example where he defined a domain-specific schema as a set of C# classes, and created XAML to act as a model within that domain.&amp;nbsp;&amp;nbsp; He ‘interleaved interpretations’ of the domain with the schema definition (in plain English, he implemented additional functionality within the classes), and created transformational code in order to transform from the ‘newer to the older’ – i.e., from the domain model to actual run-time code.&amp;nbsp;&amp;nbsp; As part of this, Don showed how C# 3.0 lambda expressions and expression trees could be used effectively to represent and transform abstract syntax trees (ASTs).&amp;nbsp;&amp;nbsp; Don also showed us a simple graphical tool that represents any XAML in a generic fashion and provides a simple graphical DSL interface.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I am not well acquainted with the world of XAML, so the session provided some food for thought in the lead up to the forthcoming release of Orcas.&amp;nbsp;&amp;nbsp; I’ve played with Microsoft’s DSL toolkit which is a core component if their software factory initiative, but Don’s approach is quite separate to that, and is really a kind to general pattern for thinking about, designing and implementing code in .NET 3.0.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;In the evening, we were taken to the Seattle Museum of Flight for the evening meal.&amp;nbsp;&amp;nbsp; I spent the evening chatting to various MVPs including Jeffrey Juday whom I met for the first time today.&amp;nbsp;&amp;nbsp; I also met Joao Martins from Portugal this morning, and, very briefly, Abhilash Shanmugan.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Well, time again to sleep.&amp;nbsp;&amp;nbsp; Tomorrow is an early start up at the campus.&amp;nbsp;&amp;nbsp; Goodnight.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
Previously posted at http://blog.solidsoft.com/blogs/charles_young_mvp_biztalk/default.aspx&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108731"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108731" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/108731.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/03/14/108731.aspx</guid>
            <pubDate>Wed, 14 Mar 2007 08:18:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/108731.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/03/14/108731.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/108731.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/108731.aspx</trackback:ping>
        </item>
        <item>
            <title>Rules engines and dependancy injection - a response to Nick Malik </title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/03/09/108415.aspx</link>
            <description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Verdana size=2&gt;Nick Malik published a thought-provoking article on rules engines recently.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;You can read it at &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/nickmalik/archive/2007/03/06/perhaps-it-is-time-to-declare-victory-in-the-battle-of-rules-engines-vs-dependency-injection.aspx"&gt;&lt;FONT face=Verdana size=2&gt;http://blogs.msdn.com/nickmalik/archive/2007/03/06/perhaps-it-is-time-to-declare-victory-in-the-battle-of-rules-engines-vs-dependency-injection.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;He adopts a fairly negative attitude to rules engines in general, suggesting various reasons why he considers that they are not often useful.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;His preferred route is to use dependency injection patterns, implementing rule logic in code components that are then loaded in some dynamic or configurable fashion into consuming applications.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Verdana size=2&gt;I believe Nick is quite wrong to contrast rules engines and dependency injection in this way.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;In reality, many modern rules engines provide the ideal mechanism for implementing and managing dependency injection patterns.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;You can read my response at &lt;/FONT&gt;&lt;A title="view: Rules engines and dependancy injection - a response to Nick Malik" href="http://geekswithblogs.net/cyoung/articles/108411.aspx" target=_blank&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;http://geekswithblogs.net/cyoung/articles/108411.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;
Previously posted at http://blog.solidsoft.com/blogs/charles_young_mvp_biztalk/default.aspx&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108415"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108415" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/108415.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/03/09/108415.aspx</guid>
            <pubDate>Fri, 09 Mar 2007 22:53:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/108415.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/03/09/108415.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/108415.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/108415.aspx</trackback:ping>
        </item>
        <item>
            <title>Whitepaper: Rules Processing &amp;amp; BPM: An Architectural Perspective</title>
            <link>http://geekswithblogs.net/cyoung/archive/2007/03/05/107991.aspx</link>
            <description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Verdana size=2&gt;Over the last few weeks, I've been working on a whitepaper which &lt;a title="SolidSoft Ltd." href="www.solidsoft.com" target="_blank"&gt;SolidSoft&lt;/a&gt; has published today on our web site.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It's been published to coincide with the Microsoft Architect Insight conference at Newport which started today.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;a title="SolidSoft Ltd." href="www.solidsoft.com" target="_blank"&gt;SolidSoft&lt;/a&gt; is one of the event sponsors, and I spent the morning delivering a workshop looking, from an architectural perspective, on the use of rules engines in business process management.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;It seems to me that while there is lots of guidance and information on rules processing in BPM for business stakeholders, and some for business and enterprise architects, there is far less material orientated towards solution architects.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;I've attempted to push the boat out a little in the whitepaper by identifying some common patterns drawn from the work we've done around BizTalk Server and other technologies in the last few years.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;I hope it will provide some food for thought for solution architects who are considering the use of rules processing in relation to business processes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;We are a Microsoft shop, and the patterns are illustrated using Microsoft's process automation and workflow toolset, but I have tried to define the patterns in a reasonably agnostic fashion so that they have a wider appeal.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Verdana size=2&gt;The whitepaper can be downloaded from &lt;/FONT&gt;&lt;A href="http://www.solidsoft.com/WhitePaperDownload/DownloadFile.aspx?file=WP Rules Processing and BPM.pdf"&gt;&lt;FONT face=Verdana size=2&gt;http://www.solidsoft.com/WhitePaperDownload/DownloadFile.aspx?file=WP Rules Processing and BPM.pdf&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;You have to register with our site to access the paper, but if you do, you can also download a series of whitepapers by my colleague Simon Holloway on RFID.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Simon worked for Microsoft as one of their RFID consultants until recently, and is a recognised authority on the subject. &lt;/FONT&gt;&lt;/P&gt;
Previously posted at http://blog.solidsoft.com/blogs/charles_young_mvp_biztalk/default.aspx&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=107991"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=107991" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/107991.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Charles Young</dc:creator>
            <guid>http://geekswithblogs.net/cyoung/archive/2007/03/05/107991.aspx</guid>
            <pubDate>Mon, 05 Mar 2007 16:25:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/cyoung/comments/107991.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/cyoung/archive/2007/03/05/107991.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/107991.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/107991.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Server 2006: Auto-Construction of Orchestration Variables Considered Harmful</title>
            <category>BizTalk Server 2004/2006</category>
            <link>http://geekswithblogs.net/cyoung/archive/2007/02/04/105432.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Don't get me wrong.&amp;nbsp;&amp;nbsp; I think the world of BizTalk as a product.&amp;nbsp;&amp;nbsp; But, like any complex piece of software, there are one or two things that annoy me.&amp;nbsp; I blogged a few weeks ago about the xpath() function, and the way BizTalk decides how to initialise an internal XmlSerializer instance based on the type of the variable to which you assign the xpath() result.&amp;nbsp; If you type your variable inappropriately, your code breaks at run time with a problem that is difficult to diagnose.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Another orchestration issue which caused me some suffering a few days ago is the auto-construction of orchestration variables.&amp;nbsp;&amp;nbsp; If you create an orchestration variable of a type that has a default constructor, BizTalk will, by default, auto-construct your variable using that constructor.&amp;nbsp;&amp;nbsp; I've never really understood the logic of this design.&amp;nbsp;&amp;nbsp; First, it seems a little inconsistent.&amp;nbsp; Some types don't have a default constructor, and hence cannot be auto-constructed by BizTalk.&amp;nbsp;&amp;nbsp; Second, the fact that auto-construction, where applicable, is set as the default behaviour is just downright dangerous.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Here is a real-world scenario.&amp;nbsp;&amp;nbsp; As always, you are up against a tight deadline to complete your work.&amp;nbsp;&amp;nbsp; Everything is going well, but you have been asked to add a small and simple piece of functionality to a particular orchestration which, hitherto, has been working properly.&amp;nbsp;&amp;nbsp; You drop a loop shape into the orchestration and set it up to enumerate some values provided by a custom class.&amp;nbsp;&amp;nbsp; Disaster.&amp;nbsp;&amp;nbsp; When you run the orchestration, strange behaviour is observed.&amp;nbsp;&amp;nbsp; An instance of the orchestration is activated, but then...nothing.&amp;nbsp;&amp;nbsp; The very first orchestration shape is an expression whose first line is a trace.&amp;nbsp;&amp;nbsp; This line never gets executed.&amp;nbsp;&amp;nbsp; Worse than that, the BizTalk process has all but locked up.&amp;nbsp;&amp;nbsp; The CPU is maxed out at 100% and it takes a couple of minutes of patient waiting to coax the host instance into stopping.&amp;nbsp;&amp;nbsp; You then find it virtually impossible to get rid of the running orchestration instance.&amp;nbsp;&amp;nbsp; In fact, there are two service instances involved.&amp;nbsp; The orchestration’s parent (it is a 'called' orchestration) receives a message via a published web service, and you have to stop the isolated host's IIS app pool in order to terminate the EPM (messaging) service instance associated with the isolated host.&amp;nbsp;&amp;nbsp; If you try also to suspend or terminate the orchestration service instance, the action is marked as pending.&amp;nbsp;&amp;nbsp; If you restart the host instance in order to complete the pending action, the process just locks up again.&amp;nbsp; Because you can't get rid of the active orchestration service instance, you can't redeploy a new version of your BizTalk code.&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Progress slows to a crawl.&amp;nbsp; In desperation you eventually resort to manually truncating various BizTalk message box tables in order to recover from the lock-up (not a recommended strategy, though very effective).&amp;nbsp; You can't trace or debug your orchestration code because none of it appears to ever run.&amp;nbsp;&amp;nbsp; You remove the loop that caused the problem and redeploy, and still you code doesn't work.&amp;nbsp;&amp;nbsp; Hours start to pass while your blood pressure slowly rises, and your deadlines come and go.&amp;nbsp; You try everything you can think of, including recreating your orchestration from scratch, testing it carefully at each stage.&amp;nbsp; Everything is fine until you recreate that darned loop.&amp;nbsp; Again, BizTalk locks up.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The best thing to do in these situations is to walk away from the problem for a while.&amp;nbsp;&amp;nbsp; With a little e&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ncouragement &lt;/SPAN&gt;from the project manager, this is what I did.&amp;nbsp;&amp;nbsp; The functionality represented by the loop was important, but I could carry on making progress without it for a while.&amp;nbsp; Progress is duly made, and then, a few hours later, walking down the street after the day's work is done, my mind turns back naturally to the problem...and bingo (as we say here in the UK)...a moment of clarity and enlightenment.&amp;nbsp;&amp;nbsp; I know in an instant wh