<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>BizTalk</title>
        <link>http://geekswithblogs.net/Podwysocki/category/4455.aspx</link>
        <description>BizTalk</description>
        <language>en-US</language>
        <copyright>Matthew Podwysocki</copyright>
        <managingEditor>matthew.podwysocki@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>BizTalk 2006 R2 Posters</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2008/01/28/118996.aspx</link>
            <description>For all of those stuck in the BizTalk 2006 R2 world as I am constantly, Microsoft has released two new posters with the BizTalk 2006 R2 Architecture.  These are rather large PDF files that you could print out if so desired through a plotter.  Each of these are about 5-6MB, but make a great reference.  &lt;br /&gt;
&lt;br /&gt;
Download each at your leisure:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=24662fb5-622c-4e7e-9e83-505d1f664c4d&amp;amp;DisplayLang=en"&gt;BizTalk Server 2006 R2 Database Infrastructure Poster&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=8790E652-1DA5-4E80-88FE-B87606233DB4&amp;amp;displaylang=en"&gt;BizTalk Server 2006 R2 Runtime Architecture Poster&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Get them while they're hot!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/Podwysocki/archive/2008/01/28/118996.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/Podwysocki/archive/2008/01/28/118996.aspx" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=118996"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=118996" 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/Podwysocki/aggbug/118996.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2008/01/28/118996.aspx</guid>
            <pubDate>Mon, 28 Jan 2008 16:57:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/118996.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2008/01/28/118996.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/118996.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/118996.aspx</trackback:ping>
        </item>
        <item>
            <title>Reminder: MICSUG - Enterprise Service Bus on the Microsoft Platform</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2007/12/14/117725.aspx</link>
            <description>Just wanted to throw out a reminder about the ESB Guidance session this upcoming Monday.  Hope you can join us!  I'll be running the show on Monday, so please come out and say hello...&lt;br /&gt;
&lt;br /&gt;
Join us for the latest Microsoft Integration and Connected Systems User Group (MICSUG) on December 17th at 7:00PM, where we will talk about the Enterprise Service Bus Guidance provided by Microsoft on CodePlex.  Since Geoff Snowman will be out, I will be running the show that night, so I hope you come out and hope to have a great crowd.  As someone who is currently using this technology on a project, it's always great to see new ideas and perspectives on the technology.&lt;br /&gt;
&lt;br /&gt;
In case you don't know what ESB is, let's go over a few links:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb931189.aspx"&gt;MSDN Documentation for ESB&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://dev4net.com/practices/esb/MicrosoftEsbOverview.ppt"&gt;Microsoft ESB Overview PowerPoint presentation&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://dev4net.com/practices/esb/MicrosoftEsbTechnicalOverview.ppt"&gt;Microsoft ESB Technical Overview PowerPoint presentation&lt;/a&gt;&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;Enterprise Service Bus on the Microsoft Platform&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;The Microsoft ESB Guidance uses Microsoft BizTalk Server 2006 R2 to support a loosely coupled messaging architecture. BizTalk Server includes a powerful publish/subscribe mechanism for messaging applications that works by creating and filling subscriptions, which provides a highly efficient and scalable platform for service-oriented architecture (SOA) applications. The Microsoft ESB Guidance extends the functionality of BizTalk Server to provide a range of new capabilities focused on building robust, connected, service-oriented applications that incorporate itinerary-based service invocation for lightweight service composition, dynamic resolution of endpoints and maps, Web service and WS-* integration, fault management and reporting, and integration with third-party SOA governance solutions.&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Scott McHugh, Principal Architect, RDA Corporation&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Isaac Ferreira, Senior Software Engineer, RDA Corporation&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;December 17th, 7:00 PM&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Location:&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Microsoft Reston office address:&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;12012 Sunset Hills Rd.&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Reston, VA 20190&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Phone: (703) 673-7600&lt;/span&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117725"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117725" 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/Podwysocki/aggbug/117725.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2007/12/14/117725.aspx</guid>
            <pubDate>Fri, 14 Dec 2007 23:22:29 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/117725.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2007/12/14/117725.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/117725.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/117725.aspx</trackback:ping>
        </item>
        <item>
            <title>Enterprise Service Bus on the Microsoft Platform Presentation</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2007/12/03/117320.aspx</link>
            <description>&lt;p&gt;Join us for the latest &lt;a href="http://groups.msn.com/MICSUG"&gt;Microsoft Integration and Connected Systems User Group (MICSUG)&lt;/a&gt; on December 17th at 7:00PM, where we will talk about the &lt;a href="http://www.codeplex.com/esb"&gt;Enterprise Service Bus Guidance&lt;/a&gt; provided by Microsoft on CodePlex.  Since &lt;a href="http://blogs.msdn.com/gsnowman/"&gt;Geoff Snowman&lt;/a&gt; will be out, I will be running the show that night, so I hope you come out and hope to have a great crowd.  As someone who is currently using this technology on a project, it's always great to see new ideas and perspectives on the technology.&lt;/p&gt;
&lt;p&gt;In case you don't know what ESB is, let's go over a few links:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb931189.aspx"&gt;MSDN Documentation for ESB&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://dev4net.com/practices/esb/MicrosoftEsbOverview.ppt"&gt;Microsoft ESB Overview PowerPoint presentation&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://dev4net.com/practices/esb/MicrosoftEsbTechnicalOverview.ppt"&gt;Microsoft ESB Technical Overview PowerPoint presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;em&gt;Enterprise Service Bus on the Microsoft Platform &lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;em&gt;The Microsoft ESB Guidance uses Microsoft BizTalk Server 2006 R2 to support a loosely coupled messaging architecture. BizTalk Server includes a powerful publish/subscribe mechanism for messaging applications that works by creating and filling subscriptions, which provides a highly efficient and scalable platform for service-oriented architecture (SOA) applications. The Microsoft ESB Guidance extends the functionality of BizTalk Server to provide a range of new capabilities focused on building robust, connected, service-oriented applications that incorporate itinerary-based service invocation for lightweight service composition, dynamic resolution of endpoints and maps, Web service and WS-* integration, fault management and reporting, and integration with third-party SOA governance solutions.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;&lt;em&gt;Scott McHugh, Principal Architect, &lt;a href="http://rdacorp.com/"&gt;RDA Corporation &lt;br /&gt;
&lt;/a&gt;Isaac Ferreira, Senior Software Engineer, &lt;a href="http://rdacorp.com/"&gt;RDA Corporation &lt;br /&gt;
&lt;/a&gt;December 17th, 7:00 PM&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font face="Arial"&gt;Location:&lt;/font&gt;&lt;br /&gt;
&lt;/em&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;&lt;em&gt;Microsoft Reston office address:&lt;br /&gt;
12012 Sunset Hills Rd.&lt;br /&gt;
Reston, VA 20190&lt;br /&gt;
Phone: (703) 673-7600&lt;/em&gt;&lt;/font&gt;&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117320"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117320" 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/Podwysocki/aggbug/117320.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2007/12/03/117320.aspx</guid>
            <pubDate>Mon, 03 Dec 2007 19:15:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/117320.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2007/12/03/117320.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/117320.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/117320.aspx</trackback:ping>
        </item>
        <item>
            <title>Rhino Mocks and cutom BizTalk code revisited</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2007/11/29/117214.aspx</link>
            <description>In a &lt;a href="http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117007.aspx"&gt;previous post,&lt;/a&gt; I talked about abstracting the BizTalk XLANGMessage away from the code through an IOrchestrationMessage interface.  After some deliberation and inspiration from &lt;a href="http://www.haacked.com/archive/2007/11/05/rhino-mocks-extension-methods-mvc-crazy-delicious.aspx"&gt;Phil Haack&lt;/a&gt;, I decided to take another look at using Rhino Mocks to help my cause. &lt;br /&gt;
&lt;br /&gt;
In this case, I'd like to use Extension Methods, but I'd rather not mix and match Visual Studio 2005 with 2008 just yet.  But you could imagine it would look something like this when done:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 255);"&gt;public static&lt;/span&gt; &lt;span style="color: rgb(0, 128, 128);"&gt;XLANGMessage &lt;/span&gt;CreateBizTalkMessage(&lt;span style="color: rgb(0, 0, 255);"&gt;this &lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;MockRepository &lt;/span&gt;repository)&lt;br /&gt;
{&lt;br /&gt;
    &lt;span style="color: rgb(0, 128, 128);"&gt;XLANGMessage &lt;/span&gt;message = repository.DynamicMock&amp;lt;&lt;span style="color: rgb(0, 128, 128);"&gt;XLANGMessage&lt;/span&gt;&amp;gt;();&lt;br /&gt;
    &lt;span style="color: rgb(0, 128, 128);"&gt;XLANGPart &lt;/span&gt;part = repository.DynamicMock&amp;lt;&lt;span style="color: rgb(0, 128, 128);"&gt;XLANGPart&lt;/span&gt;&amp;gt;();&lt;br /&gt;
    &lt;br /&gt;
    &lt;span style="color: rgb(0, 128, 128);"&gt;SetupResult&lt;/span&gt;.For(message[0]).Return(part);&lt;br /&gt;
    &lt;span style="color: rgb(0, 128, 128);"&gt;SetupResult&lt;/span&gt;.For(message.GetPropertyValue(typeof(FILE.&lt;span style="color: rgb(0, 128, 128);"&gt;ReceivedFileName&lt;/span&gt;))).Return(@&lt;span style="color: rgb(51, 153, 102);"&gt;"C:\index.xml"&lt;/span&gt;);&lt;br /&gt;
    &lt;span style="color: rgb(0, 128, 128);"&gt;FileStream &lt;/span&gt;stream = &lt;span style="color: rgb(0, 0, 255);"&gt;new &lt;/span&gt;FileStream(@"C:\index.xml", &lt;span style="color: rgb(0, 128, 128);"&gt;FileMode&lt;/span&gt;.Open, &lt;span style="color: rgb(0, 128, 128);"&gt;FileAccess&lt;/span&gt;.Read);&lt;br /&gt;
    &lt;span style="color: rgb(0, 128, 128);"&gt;SetupResult&lt;/span&gt;.For(part.RetrieveAs(&lt;span style="color: rgb(0, 0, 255);"&gt;typeof&lt;/span&gt;(&lt;span style="color: rgb(0, 128, 128);"&gt;Stream&lt;/span&gt;))).Return(stream);&lt;br /&gt;
    &lt;br /&gt;
    repository.ReplayAll();&lt;br /&gt;
&lt;br /&gt;
    &lt;span style="color: rgb(0, 0, 255);"&gt;return &lt;/span&gt;message;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Pretty simple code and easy to use.  Rhino Mocks handles this perfectly and I'm able to use them in my test methods like so.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(0, 128, 128);"&gt;[Test]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 255);"&gt;public void&lt;/span&gt; OrchestrationHelper_ProcessMessage_Success()&lt;br /&gt;
{&lt;br /&gt;
     &lt;span style="color: rgb(0, 128, 128);"&gt;MockRepository &lt;/span&gt;repository = &lt;span style="color: rgb(0, 0, 255);"&gt;new &lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;MockRepository&lt;/span&gt;();&lt;br /&gt;
     &lt;span style="color: rgb(0, 128, 128);"&gt;XLANGMessage &lt;/span&gt;btsMessage = repository.&lt;span style="color: rgb(0, 128, 128);"&gt;&lt;/span&gt;CreateBizTalkMessage();&lt;br /&gt;
&lt;br /&gt;
     ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
So, at the end of the day, it makes my life much easier to test parts of my custom code that requires me to hand it the BizTalk XLANG message.  No fake interfaces required!
&lt;p&gt; &lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/Podwysocki/archive/2007/11/29/117214.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/Podwysocki/archive/2007/11/29/117214.aspx" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117214"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117214" 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/Podwysocki/aggbug/117214.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2007/11/29/117214.aspx</guid>
            <pubDate>Thu, 29 Nov 2007 05:46:36 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/117214.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2007/11/29/117214.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/117214.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/117214.aspx</trackback:ping>
        </item>
        <item>
            <title>How should everyone test their BizTalk applications...</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117015.aspx</link>
            <description>In my &lt;a href="http://geekswithblogs.net/Podwysocki/Admin/Referrers.aspx?EntryID=117007"&gt;previous post&lt;/a&gt; about testing the logic inside a custom expression in a separate dll, we need to step back and look at testing the whole picture.  Not only cover unit testing, but load testing as well.&lt;br /&gt;
&lt;br /&gt;
Darren Jefford from Microsoft Consulting Services UK recently gave a presentation on &lt;a href="http://www.darrenjblog.members.winisp.net/FT306DarrenJefford.zip"&gt;"How Everyone Should Test Their BizTalk Based Solutions"&lt;/a&gt; in which he covers many of the basics of BizTalk testing.  &lt;br /&gt;
&lt;br /&gt;
BizTalk solutions have a tendency to be hard to test and hard to design to be testable.  With the recent advent of BizTalk tools on Codeplex among other places, it has made life easier for those into TDD.&lt;br /&gt;
&lt;br /&gt;
The tools that should be used are:&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.codeplex.com/biztalkorcprofiler"&gt;BizTalk Orchestration Profiler&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=1&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dc8af583f-7044-48db-b7b9-969072df1689%26DisplayLang%3den"&gt;BizTalk LoadGen 2007&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.codeplex.com/bizunit"&gt;BizUnit&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
With these projects there are plenty of examples of using these tools to build your unit tests.  &lt;a href="http://www.codeproject.com/useritems/BizUnit2006.asp"&gt;CodeProject &lt;/a&gt;has a really good tutorial on using BizUnit with BizTalk Server 2006.&lt;br /&gt;
&lt;br /&gt;
Darren of course has a really good &lt;a href="http://www.amazon.com/Professional-BizTalk-Server-Darren-Jefford/dp/0470046422/ref=pd_bbs_sr_1/105-7977162-6242020?ie=UTF8&amp;amp;s=books&amp;amp;qid=1193940547&amp;amp;sr=8-1"&gt;BizTalk 2006 Professional book&lt;/a&gt; which is probably one of the better ones I've read and cover BizTalk testing in Chapter 10.&lt;br /&gt;
&lt;br /&gt;
In some of the coming days, I can run through a few more samples of testing adapters and such.  Another approach I've been thinking about is breaking the orchestrations into smaller testable pieces.  Thoughts?.
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117015.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117015.aspx" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117015"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117015" 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/Podwysocki/aggbug/117015.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117015.aspx</guid>
            <pubDate>Wed, 21 Nov 2007 03:21:37 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/117015.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117015.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/117015.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/117015.aspx</trackback:ping>
        </item>
        <item>
            <title>TDD and BizTalk Orchestration Expression Code</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117007.aspx</link>
            <description>&lt;p&gt;Lately a lot of my work has focused on BizTalk for some custom solutions.  I'm a big fan of &lt;a href="http://www.codeplex.com/bizunit"&gt;BizUnit&lt;/a&gt; as a unit testing tool for BizTalk, as it is pretty much the only option.  But, what happens when you call custom components (dlls) through Expression or Message Assignment Shapes?&lt;br /&gt;
&lt;br /&gt;
Take for example this custom code snippet&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;public class&lt;/span&gt; &lt;span style="COLOR: rgb(0,128,128)"&gt;OrchestrationHelper&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;public static void&lt;/span&gt; ProcessDocument&lt;span style="COLOR: rgb(51,204,204)"&gt;(&lt;span style="COLOR: rgb(0,128,128)"&gt;XLANGMessage &lt;/span&gt;&lt;/span&gt;bizTalkMessage)&lt;br /&gt;
     {&lt;br /&gt;
          &lt;span style="COLOR: rgb(0,128,128)"&gt;Stream &lt;/span&gt;bizTalkStream = &lt;span style="COLOR: rgb(51,204,204)"&gt;(Stream)&lt;/span&gt;bizTalkMessage[0].RetrieveAs(&lt;span style="COLOR: rgb(0,0,255)"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: rgb(0,128,128)"&gt;Stream&lt;/span&gt;));&lt;br /&gt;
&lt;br /&gt;
          &lt;span style="COLOR: rgb(51,153,102)"&gt;// Do Stuff&lt;/span&gt;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Instead, we should try to abstract the XLANGMessage as much as possible since there are many common operations we might do with it.  Let's define an interface with most of the operations I would do with a XLANGMessage or XLANGPart class.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;public interface&lt;/span&gt; &lt;span style="COLOR: rgb(0,128,128)"&gt;IOrchestrationMessage&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;object &lt;/span&gt;GetPropertyValue&lt;span style="COLOR: rgb(0,128,128)"&gt;(Type &lt;/span&gt;propType);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;void &lt;/span&gt;SetPropertyValue&lt;span style="COLOR: rgb(0,128,128)"&gt;(Type &lt;/span&gt;propType, &lt;span style="COLOR: rgb(0,0,255)"&gt;object &lt;/span&gt;value);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;Stream &lt;/span&gt;RetrieveAsStream(&lt;span style="COLOR: rgb(0,0,255)"&gt;int &lt;/span&gt;partIndex);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;XmlDocument &lt;/span&gt;RetrieveAsXmlDocument(&lt;span style="COLOR: rgb(0,0,255)"&gt;int &lt;/span&gt;partIndex);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;XmlReader &lt;/span&gt;RetrieveAsXmlReader(&lt;span style="COLOR: rgb(0,0,255)"&gt;int &lt;/span&gt;partIndex);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;void &lt;/span&gt;LoadFrom(&lt;span style="COLOR: rgb(0,0,255)"&gt;int &lt;/span&gt;partIndex, &lt;span style="COLOR: rgb(0,128,128)"&gt;Stream &lt;/span&gt;stream);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;void &lt;/span&gt;LoadFrom(&lt;span style="COLOR: rgb(0,0,255)"&gt;int &lt;/span&gt;partIndex, &lt;span style="COLOR: rgb(0,128,128)"&gt;XmlDocument &lt;/span&gt;document);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;void &lt;/span&gt;LoadFrom(&lt;span style="COLOR: rgb(0,0,255)"&gt;int &lt;/span&gt;partIndex, &lt;span style="COLOR: rgb(0,128,128)"&gt;XmlReader &lt;/span&gt;reader);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
From there I can abstract the XLANGPart and XLANGMessage pieces that I need on a regular basis so that I can get all the context variables and message parts without having the complex object.&lt;br /&gt;
&lt;br /&gt;
Then I would implement something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;public class&lt;/span&gt; &lt;span style="COLOR: rgb(0,128,128)"&gt;BizTalkOrchestrationMessage &lt;/span&gt;: &lt;span style="COLOR: rgb(0,128,128)"&gt;IOrchestrationMessage&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
     ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
I use this interface for mocks.  Let's go ahead and fill out the capabilities with our Orchestration Helper class:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;public class&lt;/span&gt; &lt;span style="COLOR: rgb(0,128,128)"&gt;OrchestrationHelper&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;public static void &lt;/span&gt;ProcessDocument(&lt;span style="COLOR: rgb(0,128,128)"&gt;XLANGMessage &lt;/span&gt;bizTalkMessage)&lt;br /&gt;
     {&lt;br /&gt;
          &lt;span style="COLOR: rgb(0,128,128)"&gt;IOrchestrationMessage &lt;/span&gt;message = &lt;span style="COLOR: rgb(0,0,255)"&gt;new &lt;/span&gt;&lt;span style="COLOR: rgb(0,128,128)"&gt;BizTalkOrchestrationMessage(&lt;/span&gt;bizTalkMessage);&lt;br /&gt;
          DocumentProcessor.ProcessMessage(message);&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;public class&lt;/span&gt; &lt;span style="COLOR: rgb(0,128,128)"&gt;DocumentProcessor&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,0,255)"&gt;public static void &lt;/span&gt;ProcessMessage&lt;span style="COLOR: rgb(0,128,128)"&gt;(IOrchestrationMessage &lt;/span&gt;message)&lt;br /&gt;
     {&lt;br /&gt;
          &lt;span style="COLOR: rgb(51,153,102)"&gt;// Do stuff&lt;/span&gt;&lt;br /&gt;
          &lt;span style="COLOR: rgb(0,0,255)"&gt;string &lt;/span&gt;MessageID = message.GetPropertyValue(typeof(BTS.&lt;span style="COLOR: rgb(0,128,128)"&gt;MessageID&lt;/span&gt;));&lt;br /&gt;
&lt;br /&gt;
          ....&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
I prefer &lt;a href="http://www.ayende.com/projects/rhino-mocks.aspx"&gt;Rhino Mocks&lt;/a&gt; at the moment for my mocking capabilities  Let's show a sample test using this framework:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="COLOR: rgb(0,128,128)"&gt;[Test]&lt;br /&gt;
[ExceptedException&lt;span style="COLOR: rgb(0,0,0)"&gt;(&lt;span style="COLOR: rgb(0,0,255)"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: rgb(0,128,128)"&gt;DocumentInvalidException&lt;/span&gt;))]&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;public void&lt;/span&gt; ProcessMessage_Success()&lt;br /&gt;
{&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;MockRepository &lt;/span&gt;mocks = &lt;span style="COLOR: rgb(0,0,255)"&gt;new &lt;/span&gt;&lt;span style="COLOR: rgb(0,128,128)"&gt;MockRepository();&lt;/span&gt;&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;IOrchestrationMessage &lt;/span&gt;btsMessage = mocks.CreateMock&amp;lt;IOrchestrationMessage&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;Expect&lt;/span&gt;.On(btsMessage).Call(btsMessage.GetPropertyValue(typeof(BTS&lt;span style="COLOR: rgb(0,128,128)"&gt;,MessageID))).&lt;/span&gt;Return(&lt;span style="COLOR: rgb(0,128,128)"&gt;Guid&lt;/span&gt;.NewGuid());&lt;br /&gt;
     mocks.ReplayAll();&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(0,128,128)"&gt;DocumentProcessor.&lt;/span&gt;ProcessMessage(btsMessage);&lt;br /&gt;
&lt;br /&gt;
     &lt;span style="COLOR: rgb(51,153,102)"&gt;// Rest of test goes here&lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
So, by abstracting the XLANGMessage and XLANGPart away from the orchestration helper classes, this helps me use mocks for my test driven development.  I'd rather not use mocks on the XLANGMessage itself.  So, as you can see, TDD can really be applied at all layers of any BizTalk solution.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117007.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117007.aspx" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117007"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=117007" 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/Podwysocki/aggbug/117007.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117007.aspx</guid>
            <pubDate>Tue, 20 Nov 2007 15:18:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/117007.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2007/11/20/117007.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/117007.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/117007.aspx</trackback:ping>
        </item>
        <item>
            <title>Capital Area Connected Systems User Group meeting tonight 11/19/2007 (Reston, VA)</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2007/11/19/116965.aspx</link>
            <description>Tonight is the monthly meeting of the Capital Area Microsoft Integration and Connected Systems User Group (MICSUG).  It's tonight 11/19/2007 at 7PM at the Microsoft Reston office.&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
12012 Sunset Hills Rd.&lt;br /&gt;
Reston, VA 20191&lt;br /&gt;
&lt;br /&gt;
Below is the information about the event.  I hope to see a good crowd there:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;Combining Windows Workflow Foundation with BizTalk Server&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Windows Workflow Foundation (WF) is Microsoft’s rich new platform for building business process management solutions. BizTalk Server is Microsoft’s integration broker for connecting enterprise applications. You have likely come across many  articles/blog posts  comparing and contrasting BizTalk capabilities with Workflow Foundation.  Well,  it is time to start talking about how these technologies are coming together. Starting with BizTalk 2006 R2, and the buildup  towards the recently announced "Oslo," it is clear that these technologies are getting closely integrated.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-style: italic;"&gt;The following subjects will be covered:&lt;/span&gt;&lt;br style="font-style: italic;" /&gt;
&lt;ul style="font-style: italic;"&gt;
    &lt;li&gt;Using Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF) with Business Activity Monitoring (BAM) Interceptor technology for enabling an end-to-end instrumentation solution.&lt;/li&gt;
    &lt;li&gt;Using BizTalk as the server environment to host Workflow Foundation.&lt;/li&gt;
    &lt;li&gt;Using BizTalk's Line of Business Adapter Framework to consume workflow services&lt;/li&gt;
&lt;/ul&gt;
&lt;br style="font-style: italic;" /&gt;
&lt;span style="font-style: italic;"&gt;Vishwas Lele, Chief Technology Officer, &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.appliedis.com"&gt;Applied Information Sciences&lt;/a&gt;&lt;span style="font-style: italic;"&gt; will present.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This reminds me when I saw &lt;a href="http://www.masteringbiztalk.com/blogs/jon/"&gt;Jon Flanders&lt;/a&gt; present this topic this summer which didn't really pan out for me.  It seemed to be shoehorning a technology that didn't belong just yet.  The XLANG engine in BizTalk is still the way to go for Orchestrations.  Maybe with time and "Oslo", that will change.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116965"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116965" 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/Podwysocki/aggbug/116965.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2007/11/19/116965.aspx</guid>
            <pubDate>Mon, 19 Nov 2007 19:52:48 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/116965.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2007/11/19/116965.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/116965.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/116965.aspx</trackback:ping>
        </item>
        <item>
            <title>Updated BizTalk 2006 Documentation</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2006/07/03/83966.aspx</link>
            <description>&lt;DIV&gt;Microsoft has recently upgraded a lot of BizTalk Server 2006 documentation within the past week and is now available.&amp;nbsp; Included in this is the following:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B273269C-97E0-411D-8849-5A8070698E4A&amp;amp;displaylang=en"&gt;BizTalk Server 2006 Installation and Upgrade Guides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3294ddaf-9f67-409f-a92d-2f6070dc0d1a&amp;amp;displaylang=en"&gt;Microsoft BizTalk Server 2006 Documentation Update (CHM)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/biztalk/downloads/samples/"&gt;BizTalk Server Code Samples&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;DIV&gt;&amp;nbsp;Among the 31 code demos, these I found interesting:&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;BAM and HAT Correlation&lt;/LI&gt;
&lt;LI&gt;Convoys&lt;/LI&gt;
&lt;LI&gt;Policy Chaining&lt;/LI&gt;
&lt;LI&gt;SQL Adapter with Atomic Transactions in Orchestrations&lt;/LI&gt;&lt;/UL&gt;
&lt;DIV&gt;Overall, a great list of code samples well worth going through!&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=83966"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=83966" 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/Podwysocki/aggbug/83966.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2006/07/03/83966.aspx</guid>
            <pubDate>Mon, 03 Jul 2006 16:35:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/83966.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2006/07/03/83966.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/83966.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/83966.aspx</trackback:ping>
        </item>
        <item>
            <title>Questions All BizTalk Developers Should Know</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2006/06/14/81948.aspx</link>
            <description>&lt;DIV&gt;In previous posts, I have talked about the &lt;A HREF="http://geekswithblogs.net/podwysocki/archive/2006/05/18/78827.aspx"&gt;"What&amp;nbsp;All Great .NET Developers Should Know"&lt;/A&gt; as well as &lt;A HREF="http://geekswithblogs.net/podwysocki/archive/2006/05/31/80262.aspx"&gt;my own list of questions&lt;/A&gt;.&amp;nbsp; This time I'm looking for questions that Great BizTalk Developers&amp;nbsp;Should Know.&amp;nbsp; Naveen Karamchetti had created a list off CodeProject entitled &lt;A href="http://www.thecodeproject.com/useritems/BizTalkInterviewQuestions.asp"&gt;"BizTalk 2004/2006 Interview questions that every developer must know..."&lt;/A&gt;.&amp;nbsp; &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Unfortunately for us he already had the answers posted, but if you stay here for just a minute, you can ponder the questions on your own.&amp;nbsp; I'm adding&amp;nbsp;some to his list now so his page won't help with all of them.&amp;nbsp; So, let's get started with the list.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;General Questions&lt;/STRONG&gt;:&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Does BizTalk 2004/2006 support Synchronous communication?&lt;/LI&gt;
&lt;LI&gt;What are some of the new functoids in BizTalk 2006?&lt;/LI&gt;
&lt;LI&gt;In order to use custom classes within the Business Rules Composer, what must you do?&lt;/LI&gt;
&lt;LI&gt;What tool can you use to view real-time aggregations in your BizTalk solution?&lt;/LI&gt;
&lt;LI&gt;When using the mapper, I want to copy the source element to the destination only if the source element has a certain value.&amp;nbsp; Which functoids must be used?&lt;/LI&gt;
&lt;LI&gt;If you want FIFO processing of messages, which adapter do you use?&lt;/LI&gt;
&lt;LI&gt;What is the class you must inherit in order to create custom functoids?&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV&gt;&lt;STRONG&gt;Schema Questions&lt;/STRONG&gt;:&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;What is the difference between a Document Schema and a Property Schema?&lt;/LI&gt;
&lt;LI&gt;Can an Envelope schema consist of more than one schema type?&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV&gt;&lt;STRONG&gt;Messaging Questions:&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Can a flat file message be processed without a pipeline?&lt;/LI&gt;
&lt;LI&gt;Can multiple messages be processed or batched without an envelope schema?&lt;/LI&gt;
&lt;LI&gt;What is property promotion, why is it required?&lt;/LI&gt;
&lt;LI&gt;What kind of&amp;nbsp;scenario would you use a "promoted property"&amp;nbsp;over a&amp;nbsp;"distinguished field"?&lt;/LI&gt;
&lt;LI&gt;In Biztalk, what does a message type consist of?&lt;/LI&gt;
&lt;LI&gt;What are un-typed messages, how does one create them?&lt;/LI&gt;
&lt;LI&gt;What is the difference between static, dynamic and direct binding?&lt;/LI&gt;
&lt;LI&gt;How does one enable subscriptions in BizTalk?&lt;/LI&gt;
&lt;LI&gt;What interfaces are required for a custom pipeline?&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV&gt;&lt;STRONG&gt;Orchestration Questions:&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;How do you prevent occuring of "zombies" in a Parallel Convoy?&lt;/LI&gt;
&lt;LI&gt;What is the difference between a delay shape vs a listen shape?&lt;/LI&gt;
&lt;LI&gt;When would you use a Call Orchestration shape&amp;nbsp;over a&amp;nbsp;Start Orchestration shape?&lt;/LI&gt;
&lt;LI&gt;What is the difference between a "Message Assignment" shape and an "Expression" shape?&lt;/LI&gt;
&lt;LI&gt;Do BizTalk Orchestrations support recursion?&lt;/LI&gt;
&lt;LI&gt;What is the purpose of the property "Activate" in a Receive shape?&lt;/LI&gt;
&lt;LI&gt;Can an orchestration start without an Activatable receive?&lt;/LI&gt;
&lt;LI&gt;Is it necessary for all .NET components being called from an Orchestration be Serializable?&lt;/LI&gt;
&lt;LI&gt;When do we need set the property "Synchronized"&amp;nbsp;equal to&amp;nbsp;true for a scope?&lt;/LI&gt;
&lt;LI&gt;What is the difference between an Exception block and a Compensation block? is it the equivalent of try-catch-finally?&lt;/LI&gt;
&lt;LI&gt;Is it possible to have a exception block for an Atomic scope?&amp;nbsp; If not why?&lt;/LI&gt;
&lt;LI&gt;How does one enable Correlations in BizTalk?&lt;/LI&gt;
&lt;LI&gt;Is it possible to share variables across two branches in a Parallel shape?&lt;/LI&gt;
&lt;LI&gt;Does BizTalk automatically compensate an unsuccessful transaction?&lt;/LI&gt;
&lt;LI&gt;What is the main difference between a Long-Running transaction and an Atomic Transaction in BizTalk context?&lt;/LI&gt;
&lt;LI&gt;How would one do Live-Mode debugging of an orchestration?&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV&gt;&lt;STRONG&gt;Architecture and Design Questions:&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;In an Orchestration design, Orchestration "A" calls another Orchestration "B", and vice versa. Is it possible to implement this design?&lt;/LI&gt;
&lt;LI&gt;What are&amp;nbsp;the steps required to deploy an BizTalk solution from one machine to another machine?&lt;/LI&gt;
&lt;LI&gt;If you wish to receive all messages with the same order number and combine them all in the order they were received, what design pattern would you use?&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;What can I say?&amp;nbsp; I love lists...&amp;nbsp; Anyhow, I will be adding to this one over time.&amp;nbsp; If you give up on some of the questions, some of the answers are in the link above, and the others, well, time to search!&lt;/P&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/podwysocki/archive/2006/06/14/81948.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/podwysocki/archive/2006/06/14/81948.aspx" border="0" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=81948"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=81948" 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/Podwysocki/aggbug/81948.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2006/06/14/81948.aspx</guid>
            <pubDate>Thu, 15 Jun 2006 00:43:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/81948.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2006/06/14/81948.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/81948.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/81948.aspx</trackback:ping>
        </item>
        <item>
            <title>Capital Area MICSUG Meeting</title>
            <link>http://geekswithblogs.net/Podwysocki/archive/2006/05/25/79636.aspx</link>
            <description>&lt;DIV&gt;The next user group meeting of the MICSUG will be held on THURSDAY, May 25 at 7:00 p.m.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Geoff Snowman will be presenting: Integration - When to use What&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;This will be a useful overview and comparison of the major Microsoft integration technologies, including: BizTalk, Workflow Foundation, WCF, MSMQ, SQL Integration Services, and others.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Join us on THURSDAY, May 25 at 7:00 p.m. at the Microsoft Reston office &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;A href="http://groups.msn.com/MICSUG"&gt;http://groups.msn.com/MICSUG&lt;/A&gt;&lt;/DIV&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/podwysocki/archive/2006/05/25/79636.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/podwysocki/archive/2006/05/25/79636.aspx" border="0" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79636"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79636" 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/Podwysocki/aggbug/79636.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matthew Podwysocki</dc:creator>
            <guid>http://geekswithblogs.net/Podwysocki/archive/2006/05/25/79636.aspx</guid>
            <pubDate>Thu, 25 May 2006 18:59:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Podwysocki/comments/79636.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Podwysocki/archive/2006/05/25/79636.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Podwysocki/comments/commentRss/79636.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Podwysocki/services/trackbacks/79636.aspx</trackback:ping>
        </item>
    </channel>
</rss>