<feed 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="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>Abhijeet Raje</title>
    <link rel="self" type="application/xml" href="http://geekswithblogs.net/abhijeet/Atom.aspx" />
    <subtitle type="html">BizTalk an EAI Tool.. an ETL Tool... its.. super framework to create any tool</subtitle>
    <id>http://geekswithblogs.net/abhijeet/Default.aspx</id>
    <author>
        <name>Abhijeet Raje</name>
        <uri>http://geekswithblogs.net/abhijeet/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 0.0.0.0">Subtext</generator>
    <updated>2006-05-08T08:31:00Z</updated>
    <entry>
        <title>BizTalk Server Adapter for Printing</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx" />
        <id>http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx</id>
        <published>2006-05-05T04:23:00-05:00:00</published>
        <updated>2006-05-08T08:31:00Z</updated>
        <content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: blue; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-bidi-font-family: Arial"&gt;table of contents&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;/B&gt;&lt;/P&gt;
&lt;P class=MsoToc2 style="MARGIN: 0in 0in 0pt 12pt; tab-stops: right dotted 431.5pt"&gt;&lt;I&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-weight: bold; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoToc1 style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592948"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Introduction&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;3&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc1 style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592949"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Context&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;3&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc1 style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592950"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Adapter Communication Patterns&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;3&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc1 style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592951"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Implementation&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;4&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc2 style="MARGIN: 0in 0in 0pt 12pt; tab-stops: right dotted 431.5pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592952"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Design Time&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;4&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc2 style="MARGIN: 0in 0in 0pt 12pt; tab-stops: right dotted 431.5pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592953"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Runtime&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;8&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc2 style="MARGIN: 0in 0in 0pt 12pt; tab-stops: right dotted 431.5pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592954"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Registration&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;9&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592955"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Case study&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;10&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoToc1 style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;A href="http://geekswithblogs.net/abhijeet/archive/2006/05/05/77319.aspx#_Toc134592956"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-VARIANT: small-caps"&gt;Conclusions&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;SPAN style="mso-tab-count: 1 dotted"&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;10&lt;/SPAN&gt;&lt;SPAN style="DISPLAY: none; COLOR: windowtext; mso-hide: screen"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 12pt 0in 3pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-weight: normal; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592948&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;Introduction&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-bookmark: _Toc134592948"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;So when actually you will think of writing a custom adapter? &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;There are various BizTalk adapters developed by third parties that could be leveraged in your integration project. But what happens if the adapters available do not support the functionality that your solution requires? What if you have your own custom server application that you want to integrate with BizTalk? At this point, you may want to consider building a custom BizTalk adapter using the Microsoft BizTalk Server 2004 Adapter framework.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;One of our client&amp;#8217;s requirements was, to dynamically send messages to printer based on content; this promoted me to write a custom print adapter for BizTalk Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;This print adapter is quite similar to SMTP Adapter wherein you can send messages to but does not pull any messages for BizTalk processing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; LINE-HEIGHT: 150%; TEXT-ALIGN: justify"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592949&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;Context&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;Adapters play a fundamental role in connecting BizTalk Server 2004 with target applications or technologies. There are three categories of adapters:&lt;/FONT&gt;&lt;A name=ch07index02&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l1 level1 lfo1"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=docemphroman1&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana size=2&gt;Application adapters&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana size=2&gt; like SAP, JDE, PeopleSoft, and Siebel&lt;/FONT&gt;&lt;A name=ch07index04&gt;&lt;/A&gt;&lt;A name=ch07index03&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l1 level1 lfo1"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=docemphroman1&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;Technology adapters&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt; like File, FTP, HTTP, MSMQ, SMTP, and Web services. &lt;/FONT&gt;&lt;A name=ch07index06&gt;&lt;/A&gt;&lt;A name=ch07index05&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l1 level1 lfo1"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=docemphroman1&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;Data Adapters&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt; like SQL Server, Oracle, or DB2.&lt;/FONT&gt;&lt;A name=ch07index08&gt;&lt;/A&gt;&lt;A name=ch07index07&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Adapters can also be classified into following category&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l2 level1 lfo2"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;In-process adapters&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;, such as the File adapter, execute in the BizTalk Server 2004 process space, called a host instance, which manifests itself as the Windows NT service BTSNTSVC.exe &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l2 level1 lfo2"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;Isolated adapters&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt; execute in their own process space. You may choose to create Isolated adapters for security reasons or for design reasons. For example, the BizTalk Server 2004 SOAP adapter is implemented as an IIS extension and runs inside the ASP.NET process space rather than the BizTalk Server process space.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592950&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;Adapter Communication Patterns&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Before we delve too far into the details of configuring adapters, it is important for you to understand the way in which an adapter can communicate with BizTalk and other external applications. This will make some of the configuration choices more meaningful when it comes to configuring receive and send ports in the next section.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;The BizTalk adapter framework provides a number of communication patterns that can be supported by an adapter, as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l0 level1 lfo3"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;One Way Receive&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt; BizTalk receives a message from a wire protocol (File, HTTP, and so on) and passes it off to a receive pipeline, which then persists it to the MessageBox database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l0 level1 lfo3"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;One Way Send&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt; BizTalk picks up a message from the MessageBox database and passes it through a send pipeline, which then sends it out to the appropriate endpoint.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l0 level1 lfo3"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;Request Response&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt; BizTalk receives a message in the same way as a One Way Receive, but then the requesting application waits for a response from BizTalk. An example of this type of interaction is exposing an orchestration as a Web service via the SOAP adapter. In this case, a client application sends a request into the SOAP adapter, bound to the orchestration, and then waits for a response.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l0 level1 lfo3"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=2&gt;Solicit Response&lt;/FONT&gt;&lt;/B&gt;&lt;FONT size=2&gt; BizTalk sends a message to an application in the same way as a One Way Send, but then it waits for a response from the external application. An example of this type of interaction is consuming a Web service within an orchestration via the SOAP adapter. In this case, the orchestration makes a request out to the Web service and then waits for a response.&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in auto 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592951&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;Implementation&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;The BizTalk Server 2004 Adapter framework is an extensible API that sits on top of the underlying BizTalk messaging engine. It provides design-time and runtime interfaces that allow the developer to build a BizTalk adapter. The framework is a COM API that is accessible to managed code via a .NET Primary Interop assembly. The recommended approach for adapter development is to use managed code; therefore, all code samples in this section will be in C#.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;I have used Custom Adapter wizard from GotDotNet, now available in BizTalk 2006.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;Generally, approach to develop a custom adapter falls broadly into three categories &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doclist style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l3 level1 lfo4"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Design time&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doclist style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l3 level1 lfo4"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Runtime&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doclist style="MARGIN: auto 0in auto 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in; mso-list: l3 level1 lfo4"&gt;&lt;FONT color=#333333&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=2&gt;&amp;#183;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Registration&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592952&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt;Design Time&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;This version of Print adapter takes Printer name, font face, font size and document name (appear in printer queue). This can be extended if required.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 640px; BORDER-BOTTOM: black 2px solid; HEIGHT: 425px" alt="" src="/images/geekswithblogs_net/abhijeet/4486/r_DESIGN%20TIME.JPG"&gt;&lt;BR style="PAGE-BREAK-BEFORE: always" clear=all&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Following class diagrams are generated using one of VS.NET 2005 new feature. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 640px; BORDER-BOTTOM: black 2px solid; HEIGHT: 329px" alt="" src="/images/geekswithblogs_net/abhijeet/4486/r_PrintTransmit.JPG"&gt; &lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Print Transmit Adapter class diagram&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;One should implement&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;TT&gt;&lt;FONT color=#790029&gt;UpdateUriForDynamicSend &lt;/FONT&gt;&lt;/TT&gt;&lt;FONT face=Verdana color=#333333&gt;menthod to make adapter dynamic.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 544px; BORDER-BOTTOM: black 2px solid; HEIGHT: 480px" alt="" src="/images/geekswithblogs_net/abhijeet/4486/r_BaseAdaptor.JPG"&gt; &lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Base adapter class diagram&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="COLOR: blue; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="COLOR: blue; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 191px; BORDER-BOTTOM: black 2px solid; HEIGHT: 348px" alt="" src="/images/geekswithblogs_net/abhijeet/4486/r_AdaptorMgmt.JPG"&gt; &lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Adapter Management class diagram&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592953&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt;Runtime&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Print adapter is One-Way Send just like SMTP adapter &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT size=2&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt;The messaging engine will deliver messages to the send adapter either in &lt;/FONT&gt;&lt;/SPAN&gt;&lt;TT&gt;&lt;FONT color=#790029&gt;IBTTransmitter.TransmitMessage()&lt;/FONT&gt;&lt;/TT&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt; or &lt;/FONT&gt;&lt;/SPAN&gt;&lt;TT&gt;&lt;FONT color=#790029&gt;IBTTransmitterBatch.TransmitMessage()&lt;/FONT&gt;&lt;/TT&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt;, depending on whether the adapter is batch aware. Both methods have a Boolean return value that indicates whether the adapter sent the message.&lt;/FONT&gt;&lt;A name=ch07index315&gt;&lt;/A&gt;&lt;A name=ch07index314&gt;&lt;/A&gt;&lt;A name=ch07index313&gt;&lt;/A&gt;&lt;A name=ch07index312&gt;&lt;/A&gt;&lt;A name=ch07index311&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;If the adapter returns true, the engine will delete the message from the application queue on behalf of the adapter. If, however, the adapter returns false, the adapter is responsible not only for deleting the message from the application queue, but also for handling any send failures that, for example, require the message to be retried for transmission, suspended, and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT size=2&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt;For adapters returning false, the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;TT&gt;&lt;FONT color=#790029&gt;TRansmitMessage()&lt;/FONT&gt;&lt;/TT&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt; implementation should be a nonblocking call and should therefore add the message to a logical queue of messages ready to be sent. The adapter should have its own thread pool, which will service the queue, send the messages, and then notify the engine of the outcome of the transmission.&lt;/FONT&gt;&lt;A name=ch07index316&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;The message engine threads are typically more CPU bound than the threads used to send data over the wire. Mixing these two types of threads has a negative impact on performance. Nonblocking send adapters enable the decoupling of these two types of thread usage and yield a significant performance improvement &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;A name=ch07fig17&gt;&lt;/A&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 450px; BORDER-BOTTOM: black 2px solid; HEIGHT: 348px" alt="" src="/images/geekswithblogs_net/abhijeet/4486/r_One-way%20send%20sequence%20diagram.JPG"&gt; &lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;One-way send sequence diagram&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;For the best performance, send adapters should be nonblocking and batch aware. When the BizTalk FILE adapter was changed from blocking and nonbatch aware to nonblocking and batch aware, a threefold performance gain was realized.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;FONT size=2&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt;Blocking transmits can cause a performance degradation of an entire host instance because if the send adapter does excessive blocking in &lt;/FONT&gt;&lt;/SPAN&gt;&lt;TT&gt;&lt;FONT color=#790029&gt;transmitMessage()&lt;/FONT&gt;&lt;/TT&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Verdana color=#333333&gt;, it will be preventing engine threads from delivering messages to other adapters.&lt;/FONT&gt;&lt;A name=ch07index322&gt;&lt;/A&gt;&lt;A name=ch07index321&gt;&lt;/A&gt;&lt;A name=ch07index320&gt;&lt;/A&gt;&lt;A name=ch07index319&gt;&lt;/A&gt;&lt;A name=ch07index318&gt;&lt;/A&gt;&lt;A name=ch07index317&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592954&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt;Registration&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Adapter registration can be done using Adapter Registration Wizard available at SDK or can be done by updating the registry with the appropriate adapter settings via a registry file &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;Finally you need to add adapter to BizTalk using BizTalk MMC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG id=ViewPicture.ascx_GalleryImage style="BORDER-RIGHT: black 2px solid; BORDER-TOP: black 2px solid; BORDER-LEFT: black 2px solid; WIDTH: 385px; BORDER-BOTTOM: black 2px solid; HEIGHT: 381px" alt="" src="/images/geekswithblogs_net/abhijeet/4486/r_REGISTRATION.JPG"&gt; &lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592955&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;Case study&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT size=2&gt;&lt;FONT color=#333333&gt;&lt;FONT face=Verdana&gt;This adapter was written of a global investment bank for there message broker application and is successfully deployed with zero defects. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=doctext style="MARGIN: auto 0in"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#333333 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc134592956&gt;&lt;/A&gt;&lt;A name=_Toc133821651&gt;&lt;SPAN style="mso-bookmark: _Toc134592956"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;Conclusions&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Verdana; FONT-VARIANT: small-caps; mso-bidi-font-size: 14.0pt; mso-font-kerning: 0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;There are many applications and data adapters for BizTalk are available but in live scenarios one can come across to implement a custom functionality which is very specific to business. Thankfully this is yet very generic feature which might required for any business. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;I am thankful to John Callaway (the instructor, of BizTalk Deep Dive training courses in the &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:country-region w:st="on"&gt;&lt;st1:place w:st="on"&gt;UK&lt;/st1:place&gt;&lt;/st1:country-region&gt;) for encouraging me to write a custom adapter for printing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/abhijeet/aggbug/77319.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/abhijeet/comments/77319.aspx</wfw:comment>
        <slash:comments>41</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/abhijeet/comments/commentRss/77319.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/abhijeet/services/trackbacks/77319.aspx</trackback:ping>
    </entry>
    <entry>
        <title>BizTalk Server 2004 Adapter for Printing</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/abhijeet/archive/2005/05/29/40886.aspx" />
        <id>http://geekswithblogs.net/abhijeet/archive/2005/05/29/40886.aspx</id>
        <published>2005-05-29T14:50:00-05:00:00</published>
        <updated>2006-03-29T06:26:00Z</updated>
        <content type="html">&lt;P&gt;One of our client&amp;#8217;s requirements was, to dynamically send messages to printer based on content; this promoted me to write a custom print adapter for Biztalk Server 2004. &lt;/P&gt;
&lt;P&gt;This print adapter is quite similar to SMTP Adapter wherein you can send messages to but does not pull any messages for BizTalk processing. &lt;/P&gt;
&lt;P&gt;Currently adapter is having fontface, fontsize and Printer Name as a configurable parameters but its printing functionalities can be enhanced by modifying Printer.cs file which simply implements System.Drawing.Printing.PrintDocument. &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Before installing Printer adapter you should be having &lt;A href="http://www.geocities.com/abhijeetraje/Common.zip"&gt;Custom Adapter &lt;/A&gt;&lt;BR&gt;Microsoft BizTalk Server 2004 Adapter for Printing is available for download &lt;A href="http://www.geocities.com/abhijeetraje/PrintAdapter.Zip"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Steps to install Print Adapter. &lt;BR&gt;1. Extract Printing Adapter to C:\Program Files\Microsoft BizTalk Server 2004 Adapter for Printing\. &lt;BR&gt;2. Import PrintAdapter.reg. &lt;BR&gt;3. Add the New Adapter from Biztalk Administrator Console. &lt;BR&gt;4. Create a send port and configure Print Adapter as per your printer name. &lt;/P&gt;
&lt;P&gt;Make sure the Biztalk Host(s) are bounced. &lt;/P&gt;
&lt;P&gt;*** Prerequisites *** &lt;BR&gt;I have used Microsoft BizTalk Server 2004 Adapter Wizard (from GotDotNet) to generate skeleton code for print adapter. &lt;/P&gt;
&lt;P&gt;I am thankful to John Callaway (the instructor, of BizTalk Deep Dive training courses in the UK) for encouraging me to write a custom adapter for printing. &lt;BR&gt;Thanks Arun for your support, please increase &amp;#8220;hit count&amp;#8221; for his blog ;) &lt;A href="http://www.arunrocks.com/"&gt;http://www.arunrocks.com/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/abhijeet/aggbug/40886.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/abhijeet/comments/40886.aspx</wfw:comment>
        <slash:comments>7</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/abhijeet/comments/commentRss/40886.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/abhijeet/services/trackbacks/40886.aspx</trackback:ping>
    </entry>
    <entry>
        <title>BizTalk Server Performance Tuning </title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/abhijeet/archive/2006/03/29/73667.aspx" />
        <id>http://geekswithblogs.net/abhijeet/archive/2006/03/29/73667.aspx</id>
        <published>2006-03-29T03:30:00-05:00:00</published>
        <updated>2006-03-29T06:24:00Z</updated>
        <content type="html">&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;BizTalk Server Performance Tuning... &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;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Well&amp;#8230;with every project whether it is a windows application, a web application or any integration project; performance tuning is the most sizzling area of debate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Following are the findings from the performance carried out on heavily loaded message broker architect on Biztalk server 2004. I will not be going to talk about the hardware used or message volume (consider it as best and high respectively.)&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;You can also consider these points as Do and Don&amp;#8217;t for any Biztalk solution. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;
&lt;UL style="MARGIN-TOP: 0cm" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Avoid extensive use of atomic scope&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;There are various scenarios where developer uses atomic scope unintentionally without knowing the impact.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;A typical example is when you have to marked Orchestrations as long running because whenever there is invocation of the rules engine via the Orchestration &amp;#8216;rules&amp;#8217; shape needs to be performed within an atomic scope, but an atomic scope may only be present in an orchestration that is marked as long running. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;The best approach is to call the rules engine via custom code in an &amp;#8216;expression&amp;#8217; shape, this would enable the removable of the atomic scope and also the orchestration could then be marked as transaction type = none. This gave a performance improvement in the order of 15%&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0cm" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Effect of Tracking via BAM&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;BAM is used across the business process to monitor business activities, as an general approach a user can track or raise BAM events at any point in orchestration but this will be a major performance issue. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;The reason for this is due to the fact that the buffered event stream is called in a manner that forces it to be flushed to the data base on every BAM API call, a more performant approach would be to only flush the BAM stream at persistence points which would result in fewer database writes. However, in order to do this the BAM buffered event stream would need to be state in the Orchestration, to do this correctly would require it to be marked as seralizable, currently it is not. Alternatively the Tracking Profile Editor could be used to achieve this. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0cm" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Delivery Notifications&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;The performance cost of using &amp;#8216;delivery notifications&amp;#8217; in the Orchestration is the most remarkable discovery. Delivery notifications are Biztalk system level messages that are sent internally to the Biztalk engine; they enable an Orchestration to block on a send operation until the message has been successfully transmitted by the send adapter. This is important due to the nature of the scalable architecture of Biztalk, where, a send from Orchestration is always via persistence to the Message Box, which enables any send host to actually send the message. The down side of this approach is that a successful send from an Orchestration simply means the message was successfully persisted to the message box and does not necessarily mean the message was actually transmitted. For this reason the solution marks send ports in Orchestration as delivery notification required.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Delivery notifications effect performance in two ways, firstly the publication and routing of these internal messages adds additional load to the Message Box and the engine. Secondly, there is reduced concurrency of these Orchestrations which may lead to performance degradation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Not using delivery notifications for this scenario gave a performance gain in the order of a 48% performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0cm" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Inline Send to a physical Location (BizTalk 2006 goodies)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;On analysis of the performance data, particularly around the performance cost of the delivery notifications, it was determined that significant gains could be realised by executing the send pipeline within Orchestration and sending the message from the Orchestration, i.e. an inline-send from Orchestration. The benefit of doing this would be to eliminate two Message Box publications and routings for each send to an MQ queue, the performance gains alone for not using delivery notifications were in the order of 45%, it was felt that the removal of a further message box publication and routing would yield an additional performance gain that would be significant.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;For this to be possible a mechanism to execute the send side pipeline from within the Orchestration would be required, in addition, code would need to be written to transactional write a message to the MQ queue, which would have the same effect as using delivery notifications. One problem here is that there is no way out of the box to execute a pipeline from within an Orchestration in Biztalk Server 2004.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 54pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Also to be noted is that the next version of Biztalk is currently planned to natively support execution of pipelines from within an Orchestration, thus meaning only a custom component to send the message to an MQ queue would need to be developed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/abhijeet/aggbug/73667.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/abhijeet/comments/73667.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/abhijeet/comments/commentRss/73667.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/abhijeet/services/trackbacks/73667.aspx</trackback:ping>
    </entry>
    <entry>
        <title>BizTalk Server 2004 Adapter for Printing 2.0 (supports dynamic send port printing)</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/abhijeet/archive/2006/03/23/73112.aspx" />
        <id>http://geekswithblogs.net/abhijeet/archive/2006/03/23/73112.aspx</id>
        <published>2006-03-23T06:39:00-05:00:00</published>
        <updated>2006-03-23T06:50:00Z</updated>
        <content type="html">&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;This release of Printing Adapter comes with following enhancements&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;OL style="MARGIN-TOP: 0cm" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Adapter to support dynamic send port printing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Adapter to support for dynamically modifying the Document Name that is shown in the print spool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;Actually after &lt;A href="http://geekswithblogs.net/abhijeet/archive/2005/05/29/40886.aspx"&gt;first release&lt;/A&gt;, I didn&amp;#8217;t have an opportunity to test and enhance these missing features. This is actually implement by my role model &lt;A href="http://blogs.msdn.com/kevinsmi/"&gt;Sir Kevin Smith&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;The updated code is available &lt;A href="http://www.geocities.com/abhijeetraje/PrintAdapter_2.0.zip"&gt;here&lt;/A&gt;&amp;#8230;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://geekswithblogs.net/abhijeet/aggbug/73112.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/abhijeet/comments/73112.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/abhijeet/comments/commentRss/73112.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/abhijeet/services/trackbacks/73112.aspx</trackback:ping>
    </entry>
</feed>
