<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>- Architecture</title>
        <link>http://geekswithblogs.net/LeonidGaneline/category/6229.aspx</link>
        <description>- Architecture</description>
        <language>en-US</language>
        <copyright>Leonid Ganeline</copyright>
        <managingEditor>leo.gan.57@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>BizTalk: Ordered Delivery</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/11/biztalk-ordered-delivery.aspx</link>
            <description>&lt;h1 style="MARGIN: 24pt 0in 0pt"&gt; &lt;/h1&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;It is one more description of the Ordered Delivery (OD) in BizTalk. &lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/aa559637.aspx"&gt;main article about it is in MSDN&lt;/a&gt;.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Here I am discussing the BizTalk Ordered Delivery “implementation details”.&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="OD_Considerations"&gt;&lt;/a&gt;OD Considerations &lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ordered Delivery (sequential) mode is opposite of the “Parallel Delivery” mode. Parallel Delivery is the most productive mode; the Ordered Delivery is less productive mode. 
&lt;/li&gt;&lt;li&gt;Transports such MSMQ and protocols, supporting the WS-ReliableMessaging, are the protocols supporting OD. Other protocols as FTP, File, SQL, SMTP etc. do not have notion of the “order”. 
&lt;/li&gt;&lt;li&gt;BizTalk application usually is a part of the whole message workflow. 
&lt;/li&gt;&lt;li&gt;There are two approaches in the OD implementation: 
&lt;ul&gt;
&lt;li&gt;All steps of the message workflow independently support OD. 
&lt;/li&gt;&lt;li&gt;A Destination System implements the re-sequencing and manages lost and duplicate messages. &lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;Order is relative. Sequences can be ordered regards one or several parameters. For example, OD for the Company or for the Company + Department. &lt;/li&gt;&lt;/ul&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="OD_and_the_BizTalk_Architecture"&gt;&lt;/a&gt;OD and the BizTalk Architecture&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;MessageBox is an implementation of the Message Queue. OD is an intrinsic feature of the MessageBox. 
&lt;/li&gt;&lt;li&gt;The BizTalk Server works in the Parallel Delivery mode by default. 
&lt;/li&gt;&lt;li&gt;There are three parts in the BizTalk message exchange outside of the MessageBox in relation to OD: Receive Locations; Orchestrations; Send ports. 
&lt;ul&gt;
&lt;li&gt;Receive Locations support OD on the Transport level (say, MSMQ and some WCF adapters). 
&lt;/li&gt;&lt;li&gt;OD in Orchestrations is implemented by the sequential convoy pattern. 
&lt;/li&gt;&lt;li&gt;Send ports support OD for all static adapters. &lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;The BizTalk Pipelines (part of Receive and Send Ports) always process messages in order using streams. &lt;/li&gt;&lt;/ul&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="OD_and_Ports"&gt;&lt;/a&gt;OD and Ports&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;To force Send Ports work in order we set up a flag the “Ordered Delivery” in Send Ports, then the BizTalk MessageBox takes care of implementing OD.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;To force Receive Locations work in order we set up flag the “Ordered Delivery” option in the Receive Location &lt;strong&gt;Transports&lt;/strong&gt;, whenever is possible. Then the BizTalk Transport Adapter takes care of implementing OD.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Ordered Delivery Send Port instance works as a singleton service. Since start it stays in Running state. It will not recycle if we restart its Host Instance. We could manually terminate it, if we want.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt; &lt;/p&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="OD_and_Orchestrations"&gt;&lt;/a&gt;OD and Orchestrations&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;MessageBox implements the convoy message exchange pattern [See &lt;a href="http://msdn.microsoft.com/en-us/library/aa578692(v=bts.70).aspx"&gt;Using Correlations in Orchestrations&lt;/a&gt;]. See the detail convoy description in the &lt;a href="http://msdn.microsoft.com/en-us/library/ms942189(v=bts.10).aspx"&gt;BizTalk Server 2004 Convoy Deep Dive&lt;/a&gt; article. &lt;br /&gt;It is not just a design pattern that developer should follow. There are special mechanisms inside MessageBox responsible for implementing OD.&lt;/p&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="OD_and_Orchestration_Sample"&gt;&lt;/a&gt;OD and Orchestration: Sample&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt; &lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Imagine four Orchestrations which implement four approaches to the sequencing. &lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" dir="ltr"&gt;&lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/4744.OrchestrationParameters.2.gif"&gt;&lt;img style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid" alt="" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x304/__key/communityserver-wikis-components-files/00-00-00-00-05/4744.OrchestrationParameters.2.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first is the &lt;b&gt;ProcessNoOrder&lt;/b&gt; Orchestration. It processes all messages without any order. One ProcessNoOrder Orchestration instance will be created for &lt;b&gt;each&lt;/b&gt; inbound message.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;The &lt;b&gt;ProcessInOrder&lt;/b&gt; Orchestration processes all messages in &lt;b&gt;one&lt;/b&gt; sequence. &lt;b&gt;Only one&lt;/b&gt; ProcessInOrder Orchestration instance will be created.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;The &lt;b&gt;ProcessInOrderByCompany&lt;/b&gt; Orchestration processes messages in sequences &lt;b&gt;correlated &lt;/b&gt;by the&lt;b&gt; Company&lt;/b&gt; value (A, B, C, D, etc.). The separate queue is created for each new value of the Company. Messages inside queues are processed in order. Queues for different Companies are independent. A separate ProcessInOrderByCompany Orchestration instance will be created for each new Company value.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;The &lt;b&gt;ProcessInOrderByProduct&lt;/b&gt; Orchestration works exactly as the &lt;b&gt;ProcessInOrderByCompany&lt;/b&gt; Orchestration but &lt;b&gt;correlated &lt;/b&gt;by the&lt;b&gt; Product&lt;/b&gt; value (xx, yy, etc.). &lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Discussions"&gt;&lt;/a&gt;Discussions&lt;/h2&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Performance"&gt;&lt;/a&gt;Performance&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;By default all Orchestration and Messaging Service instances works in the Parallel Delivery mode with maximum performance.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;If we check up the Ordered Delivery option in Send Port, BizTalk will initiate the Send Port instance as a singleton service. It is always a single instance. We don’t have the flexibility of the Orchestration where we could tune up “the proportion of the sequencing” and could control the recycling of the service instance.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Send Port OD could be in two states, on and off: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OD is off: a service instance per message, one message per queue, maximum performance. 
&lt;/li&gt;&lt;li&gt;OD is on: one infinite service instance, all messages in one queue, minimum performance. &lt;/li&gt;&lt;/ul&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Orchestration OD could be in two states also, on and off:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OD is off: a service instance per one activating message, one activating message per queue, maximum performance. 
&lt;/li&gt;&lt;li&gt;OD is on: one or several service instances, one per new correlation set value; all correlated messages per queue; performance is from min to max, depends ot the correlation set.. &lt;/li&gt;&lt;/ul&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Carefully designing the correlation sets we could tune up the performance of the Orchestration. For example, if we only care of the document order for each separate Company, we include the Company to the Correlation set. If we had thousand documents related to hundreds companies, the performance will be near maximum. If there are only two companies, the performance will be near minimum, and we should consider improving the correlation with one more parameter.&lt;/p&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Orchestrations_and_Zombies"&gt;&lt;/a&gt;Orchestrations and Zombies &lt;/h3&gt;
&lt;div style="BORDER-BOTTOM: #aaaaaa 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 2pt; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BACKGROUND: #f9f9f9; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in"&gt;
&lt;p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 10pt; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BACKGROUND: #f9f9f9; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in"&gt;Zombies are big problem of Convoy Orchestrations. See &lt;a title="Title of this entry." href="http://geekswithblogs.net/LeonidGaneline/archive/2011/02/05/biztalk-instance-subscription-details.aspx"&gt;&lt;b&gt;BizTalk: Instance Subscription and Convoys: Details&lt;/b&gt;&lt;/a&gt; article with description of this problem. This problem could be mitigated but could not be completely removed. We are waiting a new version of the BizTalk Server where this issue will be targeted.&lt;/p&gt;&lt;/div&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="BizTalk_Server_version_Next_Ordered_Delivery_and_Zombies"&gt;&lt;/a&gt;BizTalk Server version Next, Ordered Delivery and Zombies&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;It is possible the BizTalk Server version Next will implement the automatic Ordered Delivery for Orchestrations, with pattern similar to the Ordered Delivery in Send Ports.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Three new Orchestration parameters are shown up there: &lt;b&gt;Ordered Delivery&lt;/b&gt;, &lt;b&gt;Stop on Exception&lt;/b&gt;, and &lt;b&gt;Recycle Interval (in seconds)&lt;/b&gt;&lt;b&gt;.&lt;/b&gt; &lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt; &lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;&lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/7840.OrchestrationParameters.gif"&gt;&lt;img style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid" alt="" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/526x467/__key/communityserver-wikis-components-files/00-00-00-00-05/7840.OrchestrationParameters.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style="MARGIN: 0in 0in 10pt" dir="ltr"&gt;&lt;strong&gt;Ordered Delivery&lt;/strong&gt; parameter works in the same way as the Ordered Delivery parameter of the Send Port. Now we don’t have to build the Convoy Orchestration manually. No more Loop inside Orchestration. &lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;If the Ordered Delivery parameter set up to True, the Orchestration is working as a Singleton. The first Receive shape receives all correlated messages in sequence. Correlation set is created implicitly regards of the Activation Subscription expression.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;There are several limitations for this kind of Orchestration. The most important is: only one Receive shape is permitted here.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;There are two big advantages of this new feature: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simplified Orchestration design for the Ordered Delivery. 
&lt;/li&gt;&lt;li&gt;No more Zombies. The Orchestration instance is recycled in controllable way, when no messages, matched the Orchestration Subscription, are placed in the MessageBox. &lt;/li&gt;&lt;/ul&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Conclusion"&gt;&lt;/a&gt;Conclusion&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;We discussed the Ordered Delivery implemented in the BizTalk Server and ways to improve it.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148315.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/11/biztalk-ordered-delivery.aspx</guid>
            <pubDate>Wed, 11 Jan 2012 22:34:36 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148315.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/11/biztalk-ordered-delivery.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148315.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148315.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Advanced Questions</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/10/biztalk-advanced-questions.aspx</link>
            <description>&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;This article is &lt;/font&gt;&lt;span style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN" lang="EN"&gt;a Part 6 of the Interview Questions series.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="BORDER-BOTTOM: windowtext 2.25pt double; BORDER-LEFT: medium none; PADDING-BOTTOM: 1pt; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in; mso-element: para-border-div"&gt;
&lt;p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in; mso-padding-alt: 0in 0in 1.0pt 0in; mso-border-bottom-alt: double windowtext 2.25pt"&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN" lang="EN"&gt;Part 1: &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2006/05/22/79267.aspx"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;font color="#ac2c2b"&gt;BizTalk: Questions for interview without answers &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Part 2: &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2007/07/03/113663.aspx"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;font color="#ac2c2b"&gt;BizTalk: Interview questions and principles &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Part 3: &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2008/01/07/wcf-questions-for-studing-and-interview.aspx"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;font color="#ac2c2b"&gt;WCF: Questions for studying and interview&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Part 4: &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2011/04/26/wcf-questions-for-studying-and-interview-discovery.aspx"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;WCF: Questions for studying and interview: Discovery&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Part 5: &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2011/06/08/wcf-questions-for-studying-and-interview-routing-service.aspx"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;font color="#ac2c2b"&gt;WCF: Questions for studying and interview: Routing Service &lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Part 6: &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2012/01/10/biztalk-advanced-questions.aspx"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;font color="#ac2c2b"&gt;BizTalk: Advanced Questions&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="mso-ansi-language: EN" lang="EN"&gt;It is time for fun!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN" lang="EN"&gt;&lt;font face="Calibri"&gt;These questions are for an Advanced level of the BizTalk Developers. I hope you don’t have a single chance to answer these questions, if you don’t have a real life experience in BizTalk Server projects. &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN" lang="EN"&gt;&lt;font face="Calibri"&gt;I would appreciate, if you write the answers in comments to this article. Thanks! &lt;br /&gt;I will mark the questions which got a right/good answer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: EN" lang="EN"&gt;&lt;font face="Calibri"&gt;If you have more advanced questions, please, comment them down and I will add them to this list under your name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;font color="#4f81bd" size="4" face="Cambria"&gt;Advanced level&lt;/font&gt;&lt;/h2&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;The error in BizTalk usually creates a suspended message. But routing error creates two messages. Why so? How we could utilize this feature?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have an “Ordered delivery” option. How it works for a File adapter, if the File protocol does not have a notion of file order?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have an “Ordered delivery” option but Receive ports do not have it. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;You set up an “Ordered delivery” option in Send Port. What is special about Service Instance of this Port?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;How to force an Orchestration do the ordered delivery? Is there a special “Ordered delivery” option in Orchestration? If it is not, why?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have the “Priority” options, but Receive ports and Receive Locations do not have them. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;How does the Priority feature of the Send Port work?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Why the Priority option can be set up only for the Send Port?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have the “Retry” options, but Receive ports and Receive Locations do not have them. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;How does the Retry feature of the Send Port work? In what scenarios this feature is helpful, in &lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have a “Backup Transport” but Receive ports do not have it. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have a “Filter” but Receive ports do not have it. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Send ports have the “Maps” and “Transport”; Receive ports have “Maps” but “Transport” is associated with Receive Locations. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;What is the difference between “Send Port Group – Send Port” relation and “Receive Port – Receive Location” relation?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Receive Location have the Schedule parameters for date and time but Send Ports have the Schedule parameters only time. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Filter expression for the Send Port is defined at run-time, but Filter expression for the Orchestrations is defined only at design-time. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;We created a custom pipeline component. Do we have to place it into the “&amp;lt;BizTalkFolder&amp;gt;\Pipeline Component” or install it to GAC or both?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;How does an Orchestration make sure the message was sent successfully by one-way Send port? How does it changed for a two-way Send port?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;What is it the “CodeList Database” property of the Schema? How to use it?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;What is the “Property Schema Base” property of the Property schema element? It has the values: Message&lt;b style="mso-bidi-font-weight: normal"&gt;Data&lt;/b&gt;ProperyBase, Message&lt;b style="mso-bidi-font-weight: normal"&gt;Context&lt;/b&gt;PropertyBase, and &lt;b style="mso-bidi-font-weight: normal"&gt;PartContext&lt;/b&gt;PropertyBase. What is the difference between using MessageDataProperyBase and MessageContextPropertyBase?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;We bind the Orchestration with Send Port. What does it do regards of the subscription?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;We bind the Orchestration with Receive Port. What does it do regards of the subscription?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;How do Filters of the Send Ports and Send Port Groups work together? Say, a Send Port belongs to a Send Port Group. If this Send Port and this Send Port Group have the same Filter expression, does it create two subscriptions and, as a result, two messages are sent to the Send?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Why do we need a special Property schema for Promoted properties? What is the purpose of this schema? Distinguished properties do not use this kind of schema. Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Properties of some BizTalk artifacts have the Tracking option. Right-click menu of some BizTalk artifacts have the “Tracking…” command. Why there is such a difference between artifacts? Why Maps do not have any Tracking options? Why Schemas have only Tracking property? Why Send Port Groups do not have any Tracking options? Why Receive Locations do not have any Tracking options? Why BizTalk Applications do not have any Tracking options?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;When the BizTalk Assembly is deployed, is it stored in the BizTalk database or it is just referenced in the BizTalk database?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Can you describe at least three scenarios where smart Orchestration Engine finds the errors in the messages patterns at design time (while build the BizTalk project)?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;font face="Calibri"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;font size="3" face="Calibri"&gt;Host has an "Authentication Trusted" option. What does it mean? What implication it has to the message processing? How do we have to use it / don't use?&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;font face="Calibri"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Could you create an XLANGMessage in the C#/VB code? Please, provide code.&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;You can use an XmlDocument class as a Message type for receive untyped Xml messages in Orchestration. What .NET classes we have to use for receive untyped text or binary messages in Orchestration. Why so? &lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Is the Publish-Subscribe BizTalk Engine API well defined? Where? If not, why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Does BizTalk use the strategy “First&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;received, first processed” or “First received, last processed” of “First received, first processed, first sent” of something else? Why so? &lt;br /&gt;Describe scenarios, when this strategy works better, and scenarios, when this strategy works badly.&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Are Orchestration Instances processed in order? Why so? Describe scenarios.&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Is it possible to force Hydration / Dehydration of the Orchestration instances, Messaging instances? How to do this? Why do this?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;In what scenarios you will use the Compensations in Orchestrations? Why so?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Atomic scopes in Orchestrations have a Retry feature. How it works? Describe scenarios when it is used. &lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;What serializer does BizTalk use, XmlSerializer or DataContractSerializer? What implication it has for the real life scenarios? &lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;What transform engine is BizTalk using, XslTransform or XslCompiledTransform? What implication it has for the real life scenarios?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;BizTalk Business Rule Engine uses a Rete engine inside. In what scenarios this Rete engine is the more efficient / less efficient?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;Let’s classify the applications as Front-end, Middle-level and Back-end. Where are the best places to use BizTalk? Please, provide scenarios. What are the most important features we have to take in account?&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraphCxSpLast"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;What BizTalk features are the differentiators, when you compare BizTalk Server with other alternatives? What are those alternatives?&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148303.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/10/biztalk-advanced-questions.aspx</guid>
            <pubDate>Tue, 10 Jan 2012 17:12:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148303.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/10/biztalk-advanced-questions.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148303.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148303.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Samples: Error Handling, Email Notification</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/06/biztalk-samples-error-handling-email-notification.aspx</link>
            <description>&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;One problem with email notifications is it usually sends too many emails. Errors frequently happen in series. For example, a temporarily issue with network can result in hundreds repetitive emails. In result an email notification designed as a “VIP” notification is downgraded to the “annoying” status.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;This email flooding could be mitigated with this solution.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;A Sample demonstrates using the emails for sending notification in case of failed messages.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;It compounds several similar errors in one email notification.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt; &lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;Recently I've uploaded this sample &lt;/font&gt;&lt;/p&gt;
&lt;h1&gt;&lt;font size="4"&gt;&lt;a href="http://code.msdn.microsoft.com/BizTalk-Samples-Error-06d134fa"&gt;BizTalk: Samples: ErrorHandling: Notification emails&lt;/a&gt;&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;to MSDN Gallery. &lt;/p&gt;
&lt;p&gt;It has all solution artifacts and can be used in real-life projects.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt" class="MsoNormal"&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148261.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/06/biztalk-samples-error-handling-email-notification.aspx</guid>
            <pubDate>Fri, 06 Jan 2012 17:49:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148261.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/06/biztalk-samples-error-handling-email-notification.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148261.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148261.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Sample: Error Handling</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/01/biztalk-sample-error-handling.aspx</link>
            <description>&lt;p&gt;Recently I uploaded a "&lt;a title="BizTalk: Sample: Error Handling" href="http://code.msdn.microsoft.com/BizTalk-Sample-Error-69c099be" target="_blank"&gt;BizTalk: Sample: Error Handling&lt;/a&gt;" in MSDN Gallery&lt;/p&gt;
&lt;p&gt;This sample shows the BizTalk features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Routing Failed Messages in ports &lt;/li&gt;
&lt;li&gt;Catching Failed Messages with Send Port &lt;/li&gt;
&lt;li&gt;Catching Failed Messages with Orchestration &lt;/li&gt;
&lt;li&gt;Handling Exceptions inside Orchestration &lt;/li&gt;
&lt;li&gt;Handling SOAP Fault messages inside Orchestration &lt;/li&gt;&lt;/ul&gt;
&lt;script src="undefinedbroker-config.js?1325447716114"&gt;&lt;/script&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148207.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/01/biztalk-sample-error-handling.aspx</guid>
            <pubDate>Sun, 01 Jan 2012 19:57:03 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148207.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2012/01/01/biztalk-sample-error-handling.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148207.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148207.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk Orchestration Naming Conventions</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/12/28/biztalk-orchestration-naming-conventions.aspx</link>
            <description>&lt;h1&gt;&lt;font style="FONT-WEIGHT: normal" size="3"&gt;&lt;a name="_Toc232937397"&gt; &lt;/a&gt;This is a second part of the BizTalk Naming Convention.&lt;/font&gt;&lt;/h1&gt;
&lt;div&gt;&lt;font style="FONT-WEIGHT: normal" size="3"&gt;Part 1: &lt;/font&gt;&lt;a style="TEXT-ALIGN: left; TEXT-TRANSFORM: lowercase; BACKGROUND-COLOR: rgb(249,249,249); FONT-FAMILY: Arial, Verdana, Tahoma; COLOR: rgb(172,44,43); FONT-SIZE: 1.2em; FONT-WEIGHT: bold; TEXT-DECORATION: none" id="viewpost_ascx_TitleUrl" class="singleposttitle" title="Title of this entry." href="http://geekswithblogs.net/LeonidGaneline/archive/2009/07/31/biztalk-naming-convention-for-the-biztalk-solutions.aspx"&gt;biztalk: BizTalk solution naming convention&lt;/a&gt;&lt;/div&gt;
&lt;h1&gt;&lt;a name="_Toc232937397"&gt;Special Orchestration Objects&lt;/a&gt; &lt;/h1&gt;
&lt;h2&gt;&lt;?xml:namespace prefix = o /?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h2&gt;
&lt;p class="Syntax"&gt;&amp;lt;Message&amp;gt; =: &lt;br /&gt;&lt;b&gt;&lt;span style="WHITE-SPACE: pre" class="Apple-tab-span"&gt;&lt;/span&gt;      msg_&lt;/b&gt; + &amp;lt;ShortMessageType&amp;gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Syntax"&gt;&amp;lt;Variable&amp;gt; =: &lt;br /&gt;&lt;b&gt;&lt;span style="WHITE-SPACE: pre" class="Apple-tab-span"&gt;&lt;/span&gt;      var_&lt;/b&gt; + &amp;lt;Name&amp;gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Syntax"&gt;&amp;lt;CorrelationSet&amp;gt; =: &lt;br /&gt;&lt;b&gt;&lt;span style="WHITE-SPACE: pre" class="Apple-tab-span"&gt;&lt;/span&gt;      cor_&lt;/b&gt; + &amp;lt;Name&amp;gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Syntax"&gt;&amp;lt;OrchestrationParameter&amp;gt; =: &lt;br /&gt;&lt;b&gt;&lt;span style="WHITE-SPACE: pre" class="Apple-tab-span"&gt;&lt;/span&gt;      par_&lt;/b&gt; + &amp;lt; Name&amp;gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Syntax"&gt;&amp;lt;RoleLink&amp;gt; =: &lt;br /&gt;&lt;b&gt;&lt;span style="WHITE-SPACE: pre" class="Apple-tab-span"&gt;&lt;/span&gt;      roleLink_&lt;/b&gt; + &amp;lt;Name&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="Note"&gt;&lt;b&gt;Note:&lt;/b&gt; &lt;span class="NoteChar"&gt;These objects are special BizTalk objects. They are used in different language context and sometime they use different language syntax. Prefixes help to differentiate the objects in the XLang expressions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Syntax"&gt;&amp;lt;Port&amp;gt; =: &lt;br /&gt;&lt;span style="WHITE-SPACE: pre" class="Apple-tab-span"&gt;&lt;/span&gt;      &amp;lt;prefix&amp;gt; + &amp;lt;Name&amp;gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 0.5in" class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;where&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style="BORDER-COLLAPSE: collapse; MARGIN-LEFT: 0.5in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="PAGE-BREAK-INSIDE: avoid; HEIGHT: 34.55pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 34.55pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" valign="top"&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 34.55pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt" valign="top"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Send &lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 34.55pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt" valign="top"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Receive &lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 114.25pt; PADDING-RIGHT: 5.4pt; HEIGHT: 34.55pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt" valign="top" width="152"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Send-Receive &lt;br /&gt;(Solicit-Response) &lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 139.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 34.55pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt" valign="top" width="186"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Receive-Send &lt;br /&gt;(Request- Response) &lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="PAGE-BREAK-INSIDE: avoid; mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-top-alt: inset #D4D0C8 .75pt" valign="top"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;prefix&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt; mso-border-top-alt: inset #D4D0C8 .75pt" valign="top"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;S_+&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt; mso-border-top-alt: inset #D4D0C8 .75pt" valign="top"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;R_+&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 114.25pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt; mso-border-top-alt: inset #D4D0C8 .75pt" valign="top" width="152"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;SR_+&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 5.4pt; WIDTH: 139.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-left-alt: inset #D4D0C8 .75pt; mso-border-top-alt: inset #D4D0C8 .75pt" valign="top" width="186"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;RS_+&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p class="Note"&gt;&lt;b&gt;Notes:&lt;/b&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div style="TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in; mso-list: l0 level1 lfo1" class="Note"&gt;The Port objects are the only objects which can be seen outside orchestration. We see them while bind orchestration with Ports, not the orchestration Ports but Ports created in the BizTalk Administration Console. Sometimes the orchestration Ports are named as Logical Ports and the Ports as the Physical Ports. &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2007/09/27/115663.aspx"&gt;Here&lt;/a&gt; are some considerations about this ambiguity with Port names. &lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li&gt;
&lt;div style="TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in; mso-list: l0 level1 lfo1" class="Note"&gt;Send-receive prefixes help while Orchestration is binding with Ports. Ports with different Communication pattern are using different prefixes. &lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p class="Note"&gt;&lt;b&gt;Example:&lt;/b&gt; S_ OrderAck.&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Note"&gt;&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;Orchestration Object Types&lt;o:p&gt;&lt;/o:p&gt;&lt;/h2&gt;
&lt;p class="Syntax"&gt;&amp;lt;ArtifactType&amp;gt; =:&lt;br /&gt;      &amp;lt;ArtifactName&amp;gt; + “&lt;b&gt;_type&lt;/b&gt;”&lt;span style="FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Note"&gt;&lt;a name="_Toc232937396"&gt;&lt;b&gt;Note:&lt;/b&gt; We can see orchestration types in the Orchestration View window in Types. They are: Port, Multi-part Message, Correlation and Role Link Types. We can use one suffix the “&lt;b&gt;_type&lt;/b&gt;” for all different types because different types are seen only in the different lists and never mixed. For instance, we can never see the port types together with message types.&lt;o:p&gt;&lt;/o:p&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="Note"&gt;&lt;b&gt;Controversial:&lt;/b&gt;Suffixes for types work better than prefixes, because types are mostly used in the drop-down lists not in the XLang expressions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;h2&gt;Orchestration Workflow Shapes&lt;o:p&gt;&lt;/o:p&gt;&lt;/h2&gt;
&lt;h3&gt;Problems with orchestration shapes:&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="TEXT-INDENT: -0.25in; mso-list: l2 level1 lfo2" class="MsoListParagraphCxSpFirst"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Shapes are too small to display long names (only 12-18 characters are visible).&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;We have to hover a mouse over a shape or click shape to see Properties window and to "understand" this shape, to understand which message is processed.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Useful features:&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3" class="MsoListParagraphCxSpFirst"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Shapes have names, but names are not the “variable names”, not identifiers. They are descriptions (excluding the Port shapes names, which have not Name parameter but Identifier and Description parameters). Shape names are used only for description not as XLang variable identifiers. Shape names can be long and can include any symbols as spaces, dots, etc.&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Icons of shapes give us the useful information. Do not repeat the “icon information” by words. For example, we can a name a Construction shape as “Construct OrderAck” or as “OrderAck”. Last variant give us more clear and short definition because we have the Construction icon + name.&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Shape names are used mainly in Orchestration Editor (excluding the Port shapes names). We don’t need the “well-sorted” names, so we don’t need to use prefixes, because the main purpose of the prefixes is creating well-sorted lists.&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Group shape is a scalable shape. Nesting other shapes to a Group shape can make a long description visible. Group shape will display as much text as you want. Group shapes add a lot of documentation value to the orchestration.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Rules for shapes&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo4" class="MsoListParagraphCxSpFirst"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Whenever it is possible use the short MessageType as a shape name.&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Do not repeat a type of shape icon by word.&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Feel free to use spaces and any other symbols inside the shape names.&lt;/span&gt; 
&lt;/li&gt;&lt;li&gt;&lt;span style="LINE-HEIGHT: 115%; TEXT-INDENT: -0.25in; FONT-FAMILY: Symbol; FONT-SIZE: 12pt"&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="TEXT-INDENT: -0.25in"&gt;Feel free to repeat the shape names.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p class="Note"&gt;&lt;b&gt;Note:&lt;/b&gt; Purpose of the orchestration and the most of the shapes is in &lt;strong&gt;processing the messages&lt;/strong&gt;. We can unambiguously describe the messages by the message type. A message type gives us the main information about a message. That is why in the most cases using the message type as the shape name gives us the main information about message flow, about the whole orchestration processing.&lt;br /&gt;&lt;strong&gt;Example&lt;/strong&gt;: Send shape with name "OrderAck" means “send OrderAck message”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="Note"&gt;&lt;b&gt;Controversial:&lt;/b&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="Note"&gt;Orchestration Naming Convetion works not to make easier the administration and troubleshooting but mostly to make orchestration more readable. Most orchestration names are not visible outside the Orchestration Editor. So, do not force the orchestration naming convention to hard! If your developers use differen conventions, it is fine; of course, if they understand each other. Forcing convention can do more harm than help. It can force team to spend more effort for a little.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="Note"&gt;When exception is thrown from a shape, the error description includes a name of the shape. It is a rare case when names are exposed outside of the Orchestration Editor. When we use MessageType as a name of shapes, many shapes can get the same name. So, if we want to differentiate shape names for debugging purpose, we could use numbers or single letters in the end of names. &lt;br /&gt;&lt;strong&gt;Example&lt;/strong&gt;: “OrderAck 2”&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148164.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/12/28/biztalk-orchestration-naming-conventions.aspx</guid>
            <pubDate>Wed, 28 Dec 2011 20:38:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148164.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/12/28/biztalk-orchestration-naming-conventions.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148164.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148164.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Using context for routing</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-using-context-for-routing.aspx</link>
            <description>&lt;div style="margin: 0in 0in 10pt"&gt;
&lt;p&gt;[See &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-sample-context-routing-and-throttling-with-orchestration.aspx"&gt;Sample: Context routing and throttling with orchestration&lt;/a&gt;]&lt;/p&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Imagine the project where most of the routing happens between orchestrations. I.e. routing is mostly between the MessageBox and orchestration with direct endpoints.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Imagine also the most of the messages are with the same Message type.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Usually in this case messages got the special node only for the routing. For example, the field can be the “Originator” or “Recipient” or “From” or “To”.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;What wrong is with this approach, it creates the dependency between the message and the message processing. Message “knows” something about Originator or Recipient.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;So what we can do with it? How can we “colorize” the same message to route it to the different places without changing the message itself?&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;One of the decisions is to use the message context.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-bidi-font-size: 10.0pt; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;BizTalk uses the promoted properties for routing. &lt;/span&gt; There are two kinds of the properties: the content properties and the context properties. The &lt;b&gt;content property&lt;/b&gt; extracts its value from inside the message, it is a value of the element or attribute. [See &lt;a href="http://msdn.microsoft.com/en-us/library/aa561535(v=BTS.70).aspx"&gt;MSDN&lt;/a&gt;] The &lt;b&gt;context property&lt;/b&gt; gets its value from the message environment. It can be the port name that receive this message, it can be the message Id, created by the BizTalk. Context properties look like the headers in the SOAP message. Actually they are not the headers but behave like headers. The context properties are the good match for our case.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;First, we don’t have to change the message itself to set or change the routing property. The context is stored outside the message body.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt; vertical-align: top"&gt;Second, we don’t have to create the property schema to use the context properties. [See &lt;a href="http://msdn.microsoft.com/en-us/library/aa559209(v=BTS.70).aspx"&gt;MSDN: How to create Property schema&lt;/a&gt;] BizTalk has the predefined schema set for the context properties. [See &lt;a href="http://msdn.microsoft.com/en-us/library/aa562116(BTS.70).aspx"&gt;MSDN: Message Context Properties&lt;/a&gt;] Use one of them and that's it.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The main purpose of the context properties is working on behalf of the BizTalk internals. But we can read, create and change them. Just do not interfere with BizTalk internals on this way.&lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/144129.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-using-context-for-routing.aspx</guid>
            <pubDate>Mon, 28 Feb 2011 00:26:18 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/144129.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-using-context-for-routing.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/144129.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/144129.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Sample: Context routing and Throttling with orchestration </title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-sample-context-routing-and-throttling-with-orchestration.aspx</link>
            <description>&lt;div style="margin: 0in 0in 10pt"&gt;[See &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-using-context-for-routing.aspx"&gt;BizTalk: Using context for routing&lt;/a&gt;]&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The sample demonstrates using orchestration for throttling and using context routing.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Usually throttling is implemented on the host level (in BizTalk 2010 we can also use the host instance level throttling). This sample demonstrates the &lt;b&gt;throttling with orchestration convoy,&lt;/b&gt; that slows down a message flow from some customers. Sample implements sort of quality service agreement layer for different kind of customers.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The sample demonstrates the &lt;b&gt;context routing&lt;/b&gt; between orchestrations. It has several advantages over the content routing. For example, we don’t have to create the property schema and promote properties on the schemas; we don’t have to change the message content to change routing.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Use case:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; The BizTalk application has a main processing orchestration that process all input messages. The application usually works as an OLTP application. Input messages came in random order without peaks, typical scenario for the on-line users.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;But sometimes the big data batch payloads come. These batches overload processing orchestrations. All processes, activated by on-line users after the payload, come to &lt;b&gt;the same queue&lt;/b&gt; and are processed only &lt;b&gt;after&lt;/b&gt; the payload. Result is on-line users can see significant delay in processing. It can be minutes or hours, depending of the batch size.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Requirements:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;On-line user’s processing should work without delays. Big batches cannot disturb on-line users. There should be higher priority for the on-line users and the lower priority for the batches.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/biztalk-contextrouting.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Design:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Decision is to divide the message flow in two branches, one for on-line users and second for batches. Branch with batches provides messages to the processing line with low priority, and the on-line user’s branch – with high priority.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;All messages are provided by one hi-speed receive port.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;BTS.ReceivePortName context property is used for routing. The &lt;b&gt;Router&lt;/b&gt; orchestration separates messages sent from on-line users and from the batch messages.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/router.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: 9pt"&gt;But the Router does not use the BizTalk provided value of this property, the Router set up this value by itself. Router uses the content of the messages to decide if it is from on-line users or from batches.&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: 9pt"&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: 9pt"&gt;The message context property the BTS.ReceivePortName is changed respectively, its value works as a recipient address, as the “To” address for the next recipient orchestrations. Ideally we should use two receive ports or two receive locations and BizTalk set up the context property for us. If we use the same context for both messages (the same port and location), we need to use orchestration to modify the context property using content of the messages or something else.&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span style="font-size: 9pt"&gt;Those next orchestrations are the &lt;/span&gt;BatchBottleneck and the MainProcess orchestrations.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Messages with context equal “ToBatch” are filtered up by the &lt;b&gt;BatchBottleneck&lt;/b&gt; orchestration. It is a unified convoy orchestration and it throttles the message flow, delaying the message delivery to the MainProcess orchestration.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/batchbottleneck.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The BatchBottleneck orchestration changes the message context to the “ToProcess” and sends messages one after another with small delay in between. Delay can be configured in the BizTalk config file as:&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt 40px"&gt;&lt;br /&gt;
                &amp;lt;appSettings&amp;gt;&lt;br /&gt;
                                &amp;lt;add key="GLD_Tests_TwoWayRouting_BatchBottleneck_DelayMillisec" value="100"/&amp;gt;&lt;br /&gt;
                &amp;lt;/appSettings&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Of course, messages with context equal “ToProcess” are filtered up by the &lt;b&gt;MainProcess&lt;/b&gt; orchestration.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/mainprocess-filter.jpg" /&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;b&gt;&lt;font size="1"&gt;&lt;font size="2"&gt;&lt;font color="#17365d"&gt;NOTES:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;Filters with string values: In Orchestrations (the first Receive shape in orchestration) use string values WITH quotes; in Send Ports use string values WITHOUT quotes.&lt;/li&gt;
    &lt;li&gt;Filters on the Send Ports are dynamic; we can change them in run-time. Filters on the Orchestrations are static; we can change them only in design-time.&lt;/li&gt;
    &lt;li&gt;To check the existence of the promoted property inside orchestration use the Expression shape with construction like this:&lt;br /&gt;
          if (&lt;span style="font-size: 9pt"&gt;BTS.ReceivePortName exists myMessage) { …; }&lt;br /&gt;
    &lt;/span&gt;&lt;span style="font-size: 9pt"&gt;It is not possible in the Message Assignment shape because using the “if” statement inside Message Assignment is prohibited. &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;Several predefined context properties can behave in specific way. Say MessageTracking.OriginatingMessage or XMLNORM.DocumentSpecName, they are required some internal rules should be applied to the format or usage of this properties. MessageTracking.* parameters require you have to use tracking and you can get unexpected run-time errors in some cases. My recommendation is - use very limited set of the predefined context properties.&lt;/li&gt;
    &lt;li&gt;To “attach” the new promoted property to the message, we have to use correlation. The correlation type should include this property. [&lt;a href="http://blogs.digitaldeposit.net/saravana/post/2007/01/08/Property-Promotion-inside-Orchestration.aspx"&gt;Here is a good explanation by Saravana &lt;/a&gt;]&lt;/li&gt;
    &lt;li&gt;Say we have two correlation types, each with one parameter inside. If we want to correlate to both parameters simultaneously, we cannot use both correlation types, we have to create the correlation type with both parameters and use this type. Otherwise only one correlation type would be chosen for correlation, that means only parameter would be used for correlation.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;[&lt;a href="http://code.msdn.microsoft.com/BizTalk-Sample-Context-c1c34a00"&gt;The sample source code is here&lt;/a&gt;].&lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/144128.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-sample-context-routing-and-throttling-with-orchestration.aspx</guid>
            <pubDate>Sun, 27 Feb 2011 23:04:53 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/144128.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/27/biztalk-sample-context-routing-and-throttling-with-orchestration.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/144128.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/144128.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Suspend shape and Convoy</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/09/biztalk-suspended-shape-and-convoy.aspx</link>
            <description>&lt;div style="margin: 0in 0in 10pt"&gt;Part 1: &lt;font color="#0000ff"&gt;&lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2011/02/05/biztalk-instance-subscription-details.aspx"&gt;BizTalk: Instance Subscription and Convoys: Details&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;This is a Part 2.&lt;/div&gt;
&lt;hr /&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;I am discussing the Suspend shape together with Convoys and going to show that using them together is undesirable.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;In previous article we investigated the Instance Subscriptions and how they could create situation with dangerous zones in processing. &lt;/div&gt;
&lt;hr /&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Let' start with &lt;b&gt;Suspend shape&lt;/b&gt;. [&lt;a href="http://msdn.microsoft.com/en-us/library/aa560868(BTS.70).aspx"&gt;See the BizTalk Help&lt;/a&gt;]&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;"&lt;em&gt;You can use the Suspend shape to make an orchestration instance stop running until an administrator explicitly intervenes, perhaps to reflect an error condition that requires attention beyond the scope of the orchestration. All of the state information for the orchestration instance is saved, and will be reinstated when the administrator resumes the orchestration instance.&lt;/em&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;em&gt;When an orchestration instance is suspended, an error is raised. You can specify a message string to accompany the error to help the administrator diagnose the situation&lt;/em&gt;."&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;On the Suspend shape the orchestration is stopped in the Suspended (Resumable) state. Next we have two choices, one is to &lt;b&gt;resume&lt;/b&gt; and the second is to &lt;b&gt;terminate&lt;/b&gt; the orchestration.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Is the orchestration is stopped or unenlisted? You don't find a note about it anywhere. The fact is the Orchestration &lt;b&gt;is stopped and still enlisted&lt;/b&gt;. It is very important.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;So again, the suspended orchestration can be resumed or terminated. The moment when the operator or the operation script resumes or terminates can be far away. It is also important.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Let's go back to the case from previous article. Make sure you notice the convoy and the dangerous zone after the last Receive shape.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/convoyandsuspend-1.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Now we have a &lt;b&gt;Suspend shape&lt;/b&gt; inside the orchestration.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/convoyandsuspend-2.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The first orchestration instance is suspended. Next messages start new orchestration instance and have been consumed by this orchestration, right? Wrong!&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/convoyandsuspend-3.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The orchestration is stopped on the Suspend shape but still enlisted. Now the dangerous zone, the "zombie zone" is expanded to the interval between the last receive and the moment of termination or end of the orchestration. The new orchestration instance for this convoy will not start till this moment. How fast operator finds out this suspended orchestration? Maybe hours or days. All this time orchestration is still enlisted and gathering the convoy messages. We can resume the orchestration but we cannot resume these messages together with orchestration.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Seems the name Suspended of the orchestration is misleading. The orchestration can be in the Started (and Enlisted)/Stopped (and Enlisted)/Unenlisted state. The Suspend shape switches orchestration exactly to the Stopped state. The &lt;b&gt;Stop&lt;/b&gt; name would describe the shape clearly and unambiguously and the &lt;b&gt;Stopped&lt;/b&gt; state would describe the orchestration.&lt;/div&gt;
&lt;hr /&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="2"&gt;&lt;em&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Imagine we can change the BizTalk. &lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;The Orchestration editor can search these situations and returns the compile error. In similar case the Orchestration Editor forces us to use only ordered delivery port with convoys.&lt;/li&gt;
    &lt;li&gt;The run-time core can force the orchestration with convoy be suspended in Unresumable state, that means the run-time unenlists the orchestration instance subscriptions.&lt;/li&gt;
    &lt;li&gt;The Suspend shape name should be changed. The "Suspend" name is misleading. The "Stop" name is clear and unambiguous. The same for the orchestration state, it should be “Stopped” not “Suspended (Resumable)”.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font color="#17365d"&gt;Conclusion:&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;It is not recommended using a Suspend shape together with the convoy orchestrations.&lt;/li&gt;
&lt;/ul&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/143881.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/09/biztalk-suspended-shape-and-convoy.aspx</guid>
            <pubDate>Thu, 10 Feb 2011 06:06:53 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/143881.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/09/biztalk-suspended-shape-and-convoy.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/143881.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/143881.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk: Instance Subscription and Convoys: Details</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/05/biztalk-instance-subscription-details.aspx</link>
            <description>&lt;div style="border-bottom: #fdbd5e 1pt solid; border-left: #fdbd5e 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #fdeb9f; border-top: #fdbd5e 1pt solid; border-right: #fdbd5e 1pt solid; padding-top: 1pt"&gt; &lt;/div&gt;
&lt;div style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 2pt; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;
&lt;div style="margin: 2pt 0in 0pt"&gt;This is Part 1.&lt;/div&gt;
&lt;div style="margin: 2pt 0in 0pt"&gt;Part 2. &lt;a href="http://geekswithblogs.net/LeonidGaneline/archive/2011/02/09/biztalk-suspended-shape-and-convoy.aspx"&gt;&lt;strong&gt;&lt;font color="#002c99"&gt;BizTalk: Suspend shape and Convoy&lt;/font&gt;&lt;/strong&gt; &lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 6pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Convoys are frequently used in the in the orchestrations in BizTalk Server. Sometimes we have got contra intuitive behavior in the convoys, when messages and orchestrations get suspended in unpredictable manner. This issue is well-known, the suspended messages get name the "&lt;strong&gt;zombie&lt;/strong&gt;". The name is unofficial, but issue is still there. Here I would describe in details, what, when and why this zombie situations are happen.&lt;/div&gt;
&lt;hr /&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; An orchestration can be enlisted with many subscriptions. In other word it can have several Receive shapes. Usually the first Receive uses the &lt;b&gt;Activation&lt;/b&gt; &lt;b&gt;subscription&lt;/b&gt; but other Receives create the &lt;b&gt;Instance&lt;/b&gt; &lt;b&gt;subscriptions&lt;/b&gt;. [&lt;a href="http://msdn.microsoft.com/en-us/library/dd800438(v=bts.10).aspx"&gt;See “Publish and Subscribe Architecture” in MSDN&lt;/a&gt;]&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Here is a sample process.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/sampleprocess.jpg" /&gt;&lt;/div&gt;
&lt;div&gt;This orchestration has two receives. It is a typical Sequential Convoy. [&lt;a href="http://msdn.microsoft.com/en-us/library/ms942189(v=bts.10).aspx"&gt;See "BizTalk Server 2004 Convoy Deep Dive" in MSDN by Stephen W. Thomas&lt;/a&gt;].&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Let's experiment started.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;There are three possible scenarios depended of the message sequences.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;First scenario: everything is OK&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/instancesubscription-case11.jpg" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Activation subscription for the Sample message is created when the orchestration the SampleProcess is enlisted.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The Instance subscription is created only when the SampleProcess orchestration instance starts and this subscription is removed when the orchestration instance ends.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;So far so good, the Message_2 is delivered exactly in this time interval and consumed.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Second scenario: no consumers&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/instancesubscription-case21.jpg" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Three Sample_2 messages are delivered. The first one is delivered before the SampleProcess starts and before the instance subscription is created. Second message is delivered in the correct time interval. The third one is delivered after the SampleProcess orchestration ended and the instance subscription was removed.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt 0.5in"&gt;Note:&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 1in"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;It is &lt;b&gt;not the first&lt;/b&gt; Sample_2 consumed. It was first in the queue but it was not waiting, it was suspended when it had been delivered to the Message Box and didn’t have any subscribers at this moment.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The first and the last Sample_2 messages are Suspended (Nonresumable) in the Message Box. For each of them two (!) service instances have created. One service instance has the ServiceClass of &lt;b&gt;Messaging&lt;/b&gt;, and its Error Description is:&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/case2-servicedetails-errorinformation-sample_21.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The second service instance has the ServiceClass of &lt;b&gt;RoutingFailureReport&lt;/b&gt;, and its Error Description is:&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/case2-servicedetails-errorinformation-sample_2-routingreport1.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Third scenario: something goes wrong&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/instancesubscription-case31.jpg" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Two Sample_2 messages are delivered. Both are delivered in the same interval, while the SampleProcess orchestration is working and the instance subscription has created.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;First Sample_2 is consumed. The second Sample_2 has the subscription, but the subscriber, the SampleProcess orchestration, will not consume it. After the SampleProcess orchestration is ended (And only &lt;b&gt;after&lt;/b&gt;! I will discuss this in the next article.), it is suspended (Nonresumable). Now only one service instance is suspended. This service instance has the ServiceClass of &lt;b&gt;Orchestration&lt;/b&gt;, and its Error Description is:&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/case3-servicedetails-errorinformation-orchestration1.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;In the Message tab the Sample_2 message is in the Suspended (Resumable) status.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt 0.5in"&gt;Notes:&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;The orchestration consumes the extra message(s) and gets suspended together with these extra messages. These messages are not consumed in term of “processed by orchestration”. But they are consumed in term of the “delivered to the subscriber”. The receive shape in the orchestration does not receive these extra messages. But these messages are routed to the orchestration. The Error information looks ambiguous.&lt;/li&gt;
    &lt;li&gt;The time zone between the last receive shape and the end of the orchestration is a "&lt;strong&gt;dangerous zone&lt;/strong&gt;". The message delivery pattern should be scrutinized to avoid it.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#17365d"&gt;&lt;font size="3"&gt;Unified Sequential convoy&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; Now one more scenario.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/instancesubscription-case41.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;It is a &lt;strong&gt;unified sequential convoy&lt;/strong&gt;. The activation subscription is for the same message type as it for the instance subscription. The Sample_2 message now is the Sample message. For simplicity the SampleProcess orchestration consumes only two Sample messages. Usually the orchestration consumes a lot of messages inside a loop in this scenario, but now there are only two of them.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;First message starts the orchestration, the second message goes inside this orchestration. Then the next pair of messages follows, and so on.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;But if the input messages follow in shorter intervals we have got the problem.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/02/instancesubscription-case51.jpg" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;We lose messages in unpredictable manner.&lt;/div&gt;
&lt;hr /&gt;
&lt;h3&gt;Conclusion:&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;Maybe the better behavior would be if the orchestration removes the instance subscription after the message is consumed, not in the end on the orchestration. This behavior looks like a bug. But right now it is a “feature” of the BizTalk subscription mechanism.&lt;/li&gt;
    &lt;li&gt;The time zone between the last receive shape and the end of the orchestration is a "&lt;strong&gt;dangerous zone&lt;/strong&gt;". The message delivery pattern should be scrutilized to avoid this zone as much as possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;hr /&gt;
&lt;h5&gt; Note [2011-2-9]:&lt;/h5&gt;
&lt;ul&gt;
    &lt;li&gt;I saw several times the explanation of the zombies, where the zombie can be created in the time zone between the moment an orchestration is scheduled to dispose and the moment the orchestration is disposed. I.e. the average dangerous time zone is about half of the MessageBox polling interval (by default it is 1 sec), that means 0.5 sec. It is not correct. The dangerous zone is between the last receive (for the message with the instance subscription) and end of orchestration, and this zone could be much bigger than a second.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See more about zombies in BizTalk from the &lt;a href="http://blogs.msdn.com/b/biztalk_core_engine/archive/2004/06/30/169430.aspx"&gt;BizTalk Core Engine Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/143826.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/05/biztalk-instance-subscription-details.aspx</guid>
            <pubDate>Sun, 06 Feb 2011 01:10:28 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/143826.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/02/05/biztalk-instance-subscription-details.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/143826.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/143826.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Server Management Studio: Dynamic Folders</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/01/25/sql-server-management-studio-dynamic-folders.aspx</link>
            <description>&lt;div style="margin: 0in 0in 10pt"&gt;One of the problem with SQL Server Management Studio is it shows the objects in one list. For example, see the list of stored procedures for the BizTalkMsgBoxDb database, one of the BizTalk database.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/01/unorganized1.gif" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;It is a huge list. Smart developers are trying to make this list useful and searchable and use suffixes and prefixes to group the objects together.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/01/unorganized-groups.gif" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;See prefixes “adm_” and “bts_”. Following this practice we have got the nested compound prefixes. See the subgroups after the “bts_” prefix.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;It is completely and absolutely awful view. We have to scroll down and up this list to find out the right object.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The same lists are for others SQL objects.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;But it can be much better with small change.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Let’s create the &lt;b&gt;virtual dynamic folders&lt;/b&gt;.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/01/organized.gif" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Now the list is short, easy searchable and easy observable. Moreover, the long awful names are folded to something readable. Yes, now the names are readable.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;All we can do to this beauty is to set up the parameters for these &lt;b&gt;virtual dynamic folders&lt;/b&gt;.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Right-click the “Stored Procedures” folder and choose Properties / Dynamic Folders…&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;There are only few parameters to set up:&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Objects to fold, more than X (&lt;b&gt;auto&lt;/b&gt; by default)&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Characters to fold, more than X (&lt;b&gt;auto&lt;/b&gt; by default&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Show full name (&lt;b&gt;unchecked&lt;/b&gt; by default)&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Folders are smart enough to fold with good taste and intellect. But sometimes it helps to fold objects with unusual name conventions.&lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/143631.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/01/25/sql-server-management-studio-dynamic-folders.aspx</guid>
            <pubDate>Wed, 26 Jan 2011 04:51:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/143631.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/01/25/sql-server-management-studio-dynamic-folders.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/143631.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/143631.aspx</trackback:ping>
        </item>
    </channel>
</rss>
