<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>WCF</title>
        <link>http://geekswithblogs.net/LeonidGaneline/category/7511.aspx</link>
        <description>WCF</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 and RabbitMQ</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2012/02/09/biztalk-and-rabbitmq.aspx</link>
            <description>&lt;p style="MARGIN: 0in 0in 10pt"&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/7401.biztalk-and-rabbitmq.aspx" target="_blank"&gt;The same article in the TechNet.&lt;/a&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;If you are working with queues in BizTalk Server, the most possible it is the MSMQ (in my experience).&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;MSMQ is an old man of the Microsoft technology stack. It was created when there were no good standards for messaging. Now MSMQ is wrapped partly in the .NET System.Messaging namespace. It is just a small facelift. MSMQ is still a proprietary technology without well-defined messaging protocol. It means, you cannot use the MSMQ messaging protocol without MSMQ itself.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Now we see vortex of new messaging standards and technologies. One on the top is the &lt;a href="http://en.wikipedia.org/wiki/AMQP"&gt;AMQP&lt;/a&gt; standard and one of the bold implementation of AMQP is the &lt;a href="http://www.rabbitmq.com/"&gt;RabbitMQ&lt;/a&gt;&lt;a name="_Hlt316291489"&gt;&lt;/a&gt;&lt;a name="_Hlt316291490"&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;It is one more protocol, one more messaging system which, for sure, can be integrated with BizTalk Server.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Here I will implement the standard queue messaging: sending and receiving messages from BizTalk down through the RabbitMQ queue. I am using the WCF-Custom LOB Adapter (provided from BizTalk side) and the WCF RabbitMQ Binding (provided from RabbitMQ side) to link two systems.&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Installation_and_preparation"&gt;&lt;/a&gt;Installation and preparation&lt;/h2&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Assuming the BizTalk Server and the Visual Studio 2010 are also installed.&lt;/p&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Installing_RabbitMQ_Service"&gt;&lt;/a&gt;Installing RabbitMQ Service&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="http://www.rabbitmq.com/dotnet.html"&gt;RabbitMQ site and download the last versions of server and client&lt;/a&gt; for Windows. For me it was &lt;i&gt;rabbitmq-server-2.7.1.exe&lt;/i&gt; and &lt;i&gt;rabbitmq-dotnet-client-2.7.1-dotnet-3.0.zip&lt;/i&gt;. Client includes the WCF binding which I will use lately. There are several good manuals: &lt;i&gt;rabbitmq-dotnet-client-2.7.1-user-guide.pdf&lt;/i&gt; and &lt;i&gt;rabbitmq-dotnet-client-2.7.1-wcf-service-model.pdf&lt;/i&gt;. I was quite impressed by quality distributives and documentation. 
&lt;/li&gt;&lt;li&gt;Start &lt;i&gt;rabbitmq--server-x.x.x.exe&lt;/i&gt;. It will request to install &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt;. Agree, go to the Erlang site [http://www.erlang.org/] and download it. For me it was &lt;i&gt;Erlang.otp_win32_R15B.exe&lt;/i&gt; 
&lt;/li&gt;&lt;li&gt;Start &lt;i&gt;Erlang…exe&lt;/i&gt;. Installation went smoothly. 
&lt;/li&gt;&lt;li&gt;Start &lt;i&gt;rabbitmq--server-x.x.x.exe&lt;/i&gt; again. Installation went smoothly. &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;RabbitMQ&lt;/b&gt; service is installed. You can see it in the Services window. &lt;/p&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Creating_RabbitMQ_Client_Base_Assemblies"&gt;&lt;/a&gt;Creating RabbitMQ Client Base Assemblies&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt; Now it is time to install the client for .NET and WCF binding extension. Use &lt;a href="http://www.rabbitmq.com/build-dotnet-client.html"&gt;this manual&lt;/a&gt;. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;s&gt; &lt;/s&gt;&lt;a href="http://www.rabbitmq.com/dotnet.html"&gt;&lt;s&gt;Downloaded&lt;/s&gt;&lt;/a&gt;&lt;s&gt; the .msi. Installed it. Hmm… no Rabbit.Client.dll (When I started with Examples, they all need this file. It is a main client dll).&lt;/s&gt;&lt;strike&gt;&lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/3250.RabbitSite.jpg"&gt;&lt;br /&gt;&lt;br /&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/550x468/__key/communityserver-wikis-components-files/00-00-00-00-05/3250.RabbitSite.jpg" /&gt;&lt;/a&gt;&lt;/strike&gt; 
&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Downloaded the *-dotnet-3.0.zip. Nope, it was wrong.&lt;/strike&gt; 
&lt;/li&gt;&lt;li&gt;We need the last &lt;i&gt;rabbitmq-dotnet-client-2.7.1.zip&lt;/i&gt; file. Extract everything from this zip. 
&lt;/li&gt;&lt;li&gt;Made a copy of the &lt;i&gt;Local.props.example&lt;/i&gt; file to &lt;i&gt;Local.props&lt;/i&gt; file in the same root folder. 
&lt;/li&gt;&lt;li&gt;Start Visual Studio with RabbitMQDotNetClient.sln and successfully build it. The &lt;i&gt;..\rabbitmq-dotnet-client-2.7.1\projects\wcf\RabbitMQ.ServiceModel\obj\Debug\RabbitMQ.ServiceModel.dll &lt;/i&gt;was created. This dll together with the &lt;i&gt;RabbitMQ.Client.dll&lt;/i&gt; are the assemblies used by the RabbitMQ clients. &lt;/li&gt;&lt;/ol&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Set_up_the_RabbitMQ_binding_extension"&gt;&lt;/a&gt;Set up the RabbitMQ binding extension&lt;/h3&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Here I really lost a lot of time. It is easy for the C# clients; the RabbitMQ.ServiceModel.Test gives all the information. But we have to use this binding from the WCF-Custom LOB adapter. To do so we have to add the assemblies to GAC, change &lt;em&gt;machine.config&lt;/em&gt;, etc. See the WCF LOP Adapter documentation.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sign the RabbitMQ.ServiceModel and RabbitMQ.Client projects and GAC-ed them. 
&lt;/li&gt;&lt;li&gt;Insert  an &amp;lt;add&amp;gt; node into the config section of &lt;em&gt;machine.config&lt;/em&gt;: &lt;/li&gt;&lt;/ol&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p&gt;&amp;lt;extensions&amp;gt;&lt;br /&gt;      &amp;lt;bindingExtensions&amp;gt;&lt;br /&gt;        …&lt;br /&gt;        &amp;lt;add  name="RabbitMQBinding" &lt;br /&gt;          type="RabbitMQ.ServiceModel.RabbitMQBindingSection, RabbitMQ.ServiceModel, Version=0.0.0.0, Culture=neutral,   PublicKeyToken=1751e286f1ab778d"/&amp;gt;&lt;br /&gt;      &amp;lt;/bindingExtensions&amp;gt;&lt;br /&gt;    &amp;lt;/extensions&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;b&gt;Note: &lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;When the binding extension assembly is placed in GAC, we cannot use the above section in the &lt;i&gt;app.config&lt;/i&gt; file! This &amp;lt;add&amp;gt; element should be placed only into the &lt;i&gt;machine.config&lt;/i&gt; file. Otherwise it cannot be seen in the binding extension list of the WCF LOB Adapter. 
&lt;/li&gt;&lt;li&gt;Use &amp;gt;&lt;i&gt;Gacutil.exe /l RabbitMQ.ServiceModel&lt;/i&gt;&lt;br /&gt;to get the real parameters for your assembly. &lt;/li&gt;&lt;/ul&gt;I have several &lt;i&gt;machine.config&lt;/i&gt; files in folders:&lt;br /&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;C:\Windows\Microsoft.NET\Framework\v&lt;b&gt;2.0&lt;/b&gt;.50727\CONFIG 
&lt;/li&gt;&lt;li&gt;C:\Windows\Microsoft.NET\Framework\v&lt;b&gt;4.0&lt;/b&gt;.30319\Config 
&lt;/li&gt;&lt;li&gt;C:\Windows\Microsoft.NET\Framework&lt;b&gt;64&lt;/b&gt;\v&lt;b&gt;2.0&lt;/b&gt;.50727\CONFIG 
&lt;/li&gt;&lt;li&gt;C:\Windows\Microsoft.NET\Framework&lt;b&gt;64&lt;/b&gt;\v&lt;b&gt;4.0&lt;/b&gt;.30319\Config &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;p style="MARGIN: 0in 0in 10pt 0.5in"&gt;Which one to use? My VM is 64bit. BizTalk Host of the port is 32bit. BizTalk is the 2010 version. In my case the right file was the C:\Windows\Microsoft.NET\Framework\v&lt;b&gt;4.0&lt;/b&gt;.30319\Config\machine.config.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1016.BindingList.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/420x580/__key/communityserver-wikis-components-files/00-00-00-00-05/1016.BindingList.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally the RabbitMQ binding installed and we can see it in the Binding Type list for WCF-Custom adapter.&lt;/p&gt;
&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Testing"&gt;&lt;/a&gt;Testing&lt;/h2&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Creating_the_BizTalk_test"&gt;&lt;/a&gt;Creating the BizTalk test&lt;/h3&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;I have created two pairs of port for testing.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt 0.5in"&gt;File RP -&amp;gt; WCF-Custom (RabbitMQ) SP -&amp;gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt 1in"&gt;&lt;strong&gt; [RabbitMQ Server]&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt 0.5in"&gt; -&amp;gt; WCF-Custom (RabbitMQ RP) -&amp;gt; File RP&lt;/p&gt;&lt;/blockquote&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;I’ve changed only two parameters: “hostname” and “oneWay” and let others be default:&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p style="MARGIN: 0in 0in 10pt 0.5in"&gt; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/2678.SP.TransportParams.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/420x580/__key/communityserver-wikis-components-files/00-00-00-00-05/2678.SP.TransportParams.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;URL-s for the Send and Receive RabbitMQ Ports set up as “soap.amqp://192.168.11.128/Mytest” for both of them.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Let’s test it.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Small text file was dropped into In folder, consumed by Receive Port, went through the RabbitMQ queue, and appeared in Out folder. Success.&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Now the RabbitMQ binding is set up to process only well-formed Xml documents. 
&lt;/li&gt;&lt;li&gt;“localhost” as “hostname” works fine. &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Using_the_RabbitMQ_Binding_Element"&gt;&lt;/a&gt;Using the RabbitMQ Binding Element&lt;/h3&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;The RabbitMQ binding is limited to the Text messaging encoding. If we need to change it or add more binding extensions, we have to use the &lt;strong&gt;customBinding&lt;/strong&gt; type and use the &lt;strong&gt;rabbitMQBindingElement&lt;/strong&gt; together with another element (including another encoding). How to do this?&lt;/p&gt;
&lt;p&gt;1. Add the &amp;lt;add&amp;gt; node to the &lt;i&gt;machine.config&lt;/i&gt;:&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p&gt;&amp;lt;bindingElementExtensions&amp;gt;&lt;br /&gt;                           …&lt;br /&gt;        &amp;lt;add name="rabbitMQBindingElement" type="RabbitMQ.ServiceModel.RabbitMQTransportElement, RabbitMQ.ServiceModel,   Version=0.0.0.0, Culture=neutral, PublicKeyToken=1751e286f1ab778d"/&amp;gt;&lt;br /&gt;&amp;lt;/bindingElementExtensions&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt; 2. Change the Receive Location transport parameters. It was the &lt;i&gt;RabbitMQBinding&lt;/i&gt;. Change it to the &lt;i&gt;customBinding&lt;/i&gt;. The Transport Binding Element has to be changed to the &lt;b&gt;rabbitMQBindingElement&lt;/b&gt;. I changed only one parameter: &lt;i&gt;hostname&lt;/i&gt; as “localhost”.&lt;br /&gt;&lt;br /&gt; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/6825.SP.CustomBindingElement.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/420x580/__key/communityserver-wikis-components-files/00-00-00-00-05/6825.SP.CustomBindingElement.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt; 3. Test it as previously. &lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Conclusion"&gt;&lt;/a&gt;Conclusion&lt;/h3&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Using RabbitMQ as one more transport for BizTalk and/or WCF applications is possible and straightforward. The learning curve is short. There are not too many issues with setting up the RabbitMQ Service and Client parts. Actually there isn’t any RabbitMQ side which is exposed to the BizTalk directly. RabbitMQ works only with WCF-Custom adapter and only this adapter communicates with RabbitMQ Service.&lt;br /&gt;Now the RabbitMQ implements limited client functionality for the WCF. RabbitMQ implements the version 9 of the AMQP protocol, not the last 1 version.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;a name="Next_steps"&gt;&lt;/a&gt;Next steps&lt;/h3&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;p style="MARGIN: 0in 0in 10pt"&gt;Next steps are to test this solution with different messaging patterns and try to figure out how to use RabbitMQ advantages (if there are some) over the MSMQ. Potentially the advantages are the simplest implementation of the Request/Response and Duplex patterns, better scalability, better performance, better manageability and support.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style="MARGIN: 0in 0in 10pt 0.25in"&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148650.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2012/02/09/biztalk-and-rabbitmq.aspx</guid>
            <pubDate>Thu, 09 Feb 2012 21:18:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148650.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2012/02/09/biztalk-and-rabbitmq.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148650.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148650.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk and WCF adapters: Operation and SOAP Action</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/12/21/biztalk-and-wcf-adapters-operation-and-soap-action.aspx</link>
            <description>
		&lt;p&gt;One area here is not so well documented. &lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/12/wcf-transportproperties-general.jpg" /&gt;
		&lt;/p&gt;
		&lt;p&gt;When we are filling in the Transport properties for WCF adapter, we see the &lt;b&gt;SOAP Action header&lt;/b&gt; section. &lt;/p&gt;
		&lt;p&gt;What is it? Where we could take the values for Operations and Actions?&lt;/p&gt;
		&lt;p&gt;If we use the &lt;b&gt;Consume WCF Service&lt;/b&gt; wizard, this section is filled up automatically. But sometimes we have to fill it in manually.&lt;/p&gt;
		&lt;p&gt;NP&lt;/p&gt;
		&lt;p&gt;Open a WSDL for the Web-service and search for a &lt;b&gt;binding&lt;/b&gt; section. If you add the “?wsdl” to the Web-service URL, usually the Web-service WSDL is opened.&lt;/p&gt;
		&lt;p&gt;That’s how operations and actions in the WCF parameters and WSDL are mapping:&lt;/p&gt;
		&lt;p&gt;
				&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/12/btsactionmapping-xml-and-soapactionheader.jpg" /&gt;
		&lt;/p&gt;
		&lt;p&gt;Hope it helps.&lt;/p&gt;
 &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/148101.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/12/21/biztalk-and-wcf-adapters-operation-and-soap-action.aspx</guid>
            <pubDate>Wed, 21 Dec 2011 22:53:19 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/148101.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/12/21/biztalk-and-wcf-adapters-operation-and-soap-action.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/148101.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/148101.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF: Questions for studying and interview: Routing Service</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/06/08/wcf-questions-for-studying-and-interview-routing-service.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 5 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;strong&gt;&lt;font size="4"&gt;WCF, Routing Service&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Q&amp;amp;A&lt;/h3&gt;
&lt;p&gt;&lt;span style="DISPLAY: none" id="1307584708758S"&gt; &lt;/span&gt;• What are the features of the Routing Service (RS): Protocol bridging; Message transformation; Content-based routing; Application pools; Dynamic configuration; SOAP processing; Service hosting; Error handling; Backup endpoints?&lt;br /&gt;• Which routing scenarios can RS implement: Service aggregation; Interface recomposition; Service versioning; Service chain; Priority routing?&lt;br /&gt;• Is it possible to modify the routing configuration at run time?&lt;br /&gt;• What is the RS doing if there is no match for a message routing?&lt;br /&gt;• Can we route to the mix of the one-way and two-way destination endpoints using a single service endpoint?&lt;br /&gt;• Do we have to create the implementation of the RS as a .NET class or an .svc file with “Service="System.ServiceModel.Routing.RoutingService, …” plus a configuration file is enough?&lt;br /&gt;• What is it a SOAP processing? How it works?&lt;br /&gt;• Can it convert messages between Soap 1.1/Soap 1.2/Soap 2.0 and/or WS-Addressing August 2004/WS-Addressing 1.0?&lt;br /&gt;• What is it a Backup endpoint? &lt;br /&gt;• What is the maximum number of the Backup endpoints?&lt;br /&gt;• What is it a Protocol bridging?&lt;br /&gt;• What is it a Content-based routing? &lt;br /&gt;• How the Priority routing is working?&lt;br /&gt;• How we can host the RS?&lt;br /&gt;• Are there limits on using streaming for the RS? Where we have to buffer the messages?&lt;br /&gt;• How we can expose mex endpoints of the original services through the RS?&lt;br /&gt;• Can we use the RS as a load balancer?&lt;br /&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/145784.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/06/08/wcf-questions-for-studying-and-interview-routing-service.aspx</guid>
            <pubDate>Thu, 09 Jun 2011 01:54:34 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/145784.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/06/08/wcf-questions-for-studying-and-interview-routing-service.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/145784.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/145784.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF: Questions for studying and interview: Discovery</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/04/26/wcf-questions-for-studying-and-interview-discovery.aspx</link>
            <description>&lt;div style="MARGIN: 24pt 0in 0pt"&gt;&lt;font size="6"&gt;&lt;font size="5"&gt;&lt;font color="#365f91"&gt;&lt;font color="#000000" size="2"&gt;
&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 4 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;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 24pt 0in 0pt"&gt;&lt;font size="6"&gt;&lt;font size="5"&gt;&lt;font color="#365f91"&gt;&lt;strong&gt;Q&amp;amp;A: WCF, Discovery&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&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;When the &lt;b&gt;WS-Discovery&lt;/b&gt; standard gets approval first time?&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;Is the WS-Discovery using the XML format for messages? &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;Is the WS-Discovery using the SOAP format for messages? &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;What are the versions of the &lt;b&gt;WS_Discovery&lt;/b&gt; protocol?&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;What version is the default version?&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;What is a difference between the &lt;b&gt;Add-hoc&lt;/b&gt; and &lt;b&gt;Managed&lt;/b&gt; modes? What are the Pro and Cons?&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;Describe the message exchange sequences of the Discovery protocol.&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;What are the message exchange sequences in the Add-hoc and Managed modes?&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;Can the Add-hoc and Managed modes be switched dynamically?&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;What messages are &lt;b&gt;multicast&lt;/b&gt; and what are &lt;b&gt;unicast&lt;/b&gt;?&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;What is the &lt;b&gt;Discovery Proxy&lt;/b&gt; &lt;b&gt;service&lt;/b&gt;?&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;It there a default Discovery Proxy service?&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;What is the difference between the &lt;b&gt;Probe&lt;/b&gt; and &lt;b&gt;Resolve&lt;/b&gt; requests?&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;What are the response messages for the Probe and &lt;b&gt;Resolve&lt;/b&gt; requests?&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;What are the response messages for the Probe and &lt;b&gt;Resolve&lt;/b&gt; requests if there is no match?&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;Who sends the announcement message, service or client?&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;What announcement messages are used?&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;Is announcement using a Special endpoint?&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;Is announcement optional or mandatory?&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;How to make a Web-hosted service discoverable? What two options do we have? How AppFabric or Discovery Proxy service is used to help with it?&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;What is a &lt;b&gt;FindCriteria&lt;/b&gt; class? What are the Search criteria?&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;How long a client is waiting the results from the discovery request?&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;What happens if a discovery request didn’t get you any service endpoint?&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;Can we use different versions together on a single service host?&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;What endpoints are used for the Discovery?&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;What is a difference between the &lt;b&gt;DiscoveryEndpoint&lt;/b&gt; and the &lt;b&gt;DynamicEndpoint&lt;/b&gt;? Do we have to use a DynamicEndpoint with a &lt;b&gt;DiscoveryClient&lt;/b&gt;?&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;What Discovery endpoints are the system endpoints?&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;How to make a custom endpoint discoverable?&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;Why the &lt;b&gt;UPD&lt;/b&gt; protocol is used for discovery? What pros and cons?&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;How to use the &lt;b&gt;Discovery Client Channel&lt;/b&gt;? What are alternatives?&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;What are the pros and cons using the Discovery Client Channel?&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;How to create a DiscoveryEndpoint on demand?&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;Can you compare the WS-Discovery and the UDDI?&lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/145050.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/04/26/wcf-questions-for-studying-and-interview-discovery.aspx</guid>
            <pubDate>Tue, 26 Apr 2011 17:03:46 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/145050.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/04/26/wcf-questions-for-studying-and-interview-discovery.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/145050.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/145050.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk and SQL: Alternatives to the SQL receive adapter. Using Msmq to receive SQL data</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2011/01/06/biztalk-and-sql-alternatives-to-the-sql-receive-adapter.-using.aspx</link>
            <description>&lt;div style="margin: 0in 0in 10pt"&gt;If we have to get data from the SQL database, the standard way is to use a receive port with SQL adapter.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;SQL receive adapter is a solicit-response adapter. It periodically polls the SQL database with queries. That’s only way it can work. Sometimes it is undesirable. With new WCF-SQL adapter we can use the lightweight approach but still with the same principle, the WCF-SQL adapter periodically &lt;strong&gt;solicits &lt;/strong&gt;the database with queries to check for the new records.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Imagine the situation when the new records can appear in very broad time limits, some - in a second interval, others - in the several minutes interval. Our requirement is to process the new records ASAP. That means the polling interval should be near the shortest interval between the new records, a second interval. As a result the most of the poll queries would return nothing and would load the database without good reason. If the database is working under heavy payload, it is very undesirable.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Do we have other choices? Sure. We can change the polling to the “eventing”.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The good news is the SQL server could issue the event in case of new records with triggers. Got a new record –the trigger event is fired. No new records – no the trigger events – no excessive load to the database.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The bad news is the SQL Server doesn’t have intrinsic methods to send the event data outside. For example, we would rather use the adapters that do &lt;strong&gt;listen &lt;/strong&gt;for the data and do not solicit. There are several such adapters-listeners as File, Ftp, SOAP, WCF, and Msmq. But the SQL Server doesn’t have methods to create and save files, to consume the Web-services, to create and send messages in the queue, does it?&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd"&gt;&lt;font size="3"&gt;Can we use the File, FTP, Msmq, WCF adapters to get data from SQL code? &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Yes, we can. The SQL Server 2005 and 2008 have the possibility to use .NET code inside SQL code. See the &lt;a href="http://msdn.microsoft.com/en-us/library/ms131102.aspx"&gt;&lt;font color="#0000ff"&gt;SQL Integration&lt;/font&gt;&lt;/a&gt;.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;How it works for the Msmq, for example:&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;New record is created, trigger is fired&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;Trigger calls the CLR stored procedure and passes the message parameters to it&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;The CLR stored procedure creates message and sends it to the outgoing queue in the SQL Server computer.&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;Msmq service transfers message to the queue in the BizTalk Server computer.&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;WCF-NetMsmq adapter receives the message from this queue.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;&lt;img alt="" src="http://ganeline.files.wordpress.com/2011/01/sqltomsmq.gif" /&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;For the File adapter the idea is the same, the CLR stored procedure creates and stores the file with message, and then the File adapter picks up this file.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd"&gt;Using WCF-NetMsmq adapter to get data from SQL&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;I am describing the full set of the deployment and development steps for the case with the WCF-NetMsmq adapter.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Development:&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Create the .NET code: project, class and method to create and send the message to the MSMQ queue.&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in"&gt;&lt;span&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Create the SQL code in triggers to call the .NET code.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;Installation and Deployment:&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;SQL Server:&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 1in"&gt;&lt;span&gt;a.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Register the CLR assembly with .NET (CLR) code&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 1in"&gt;&lt;span&gt;b.&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;&lt;/span&gt;Install the MSMQ Services&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;BizTalk Server:&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 1in"&gt;&lt;span&gt;a.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Install the MSMQ Services&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 1in"&gt;&lt;span&gt;b.&lt;span style="font: 7pt 'Times New Roman'"&gt;      &lt;/span&gt;&lt;/span&gt;Create the MSMQ queue&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 1in"&gt;&lt;span&gt;c.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Create the WCF-NetMsmq receive port.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The detailed description is below.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd"&gt;Code&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 size="3"&gt;&lt;font color="#4f81bd"&gt;.NET code&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: green; font-size: 9pt"&gt;…&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Xml;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Xml.Linq;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Xml.Serialization;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt; &lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: green; font-size: 9pt"&gt;//namespace MyCompany.MySolution.MyProject – doesn’t work. The assembly name is MyCompany.MySolution.MyProject&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: green; font-size: 9pt"&gt;// I gave up with the compound namespace. Seems the CLR Integration cannot work with it &lt;/span&gt;&lt;span style="color: green; font-size: 9pt"&gt;L&lt;/span&gt;&lt;span style="color: green; font-size: 9pt"&gt;. Maybe I’m wrong.&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Event&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;        &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt; CreateMsg(&lt;span style="color: blue"&gt;int&lt;/span&gt; par1, &lt;span style="color: blue"&gt;int&lt;/span&gt; par2, &lt;span style="color: blue"&gt;int &lt;/span&gt;par3) &lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            &lt;span style="color: #2b91af"&gt;XNamespace&lt;/span&gt; ns = &lt;span style="color: #a31515"&gt;"http://schemas.microsoft.com/Sql/2008/05/TypedPolling/my_storedProc"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt; xdoc =&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(ns + &lt;span style="color: #a31515"&gt;"TypedPolling"&lt;/span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(ns + &lt;span style="color: #a31515"&gt;"TypedPollingResultSet0"&lt;/span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                        &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(ns + &lt;span style="color: #a31515"&gt;"TypedPollingResultSet0"&lt;/span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                            &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(ns + &lt;span style="color: #a31515"&gt;"par1"&lt;/span&gt;, par1),&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                            &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(ns + &lt;span style="color: #a31515"&gt;"par2"&lt;/span&gt;, par2),&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                            &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(ns + &lt;span style="color: #a31515"&gt;"par3"&lt;/span&gt;, par3),&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                        )&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    )&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                );&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            &lt;span style="color: blue"&gt;return&lt;/span&gt; xdoc;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt; &lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: green; font-size: 9pt"&gt;////////////////////////////////////////////////////////////////////////&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;…&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.ServiceModel;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.ServiceModel.Channels;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Transactions;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Data;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Data.Sql;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;using&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; System.Data.SqlTypes;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt; &lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 9pt"&gt;public&lt;/span&gt;&lt;span style="font-size: 9pt"&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;MsmqHelper&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    [Microsoft.SqlServer.Server.&lt;span style="color: #2b91af"&gt;SqlProcedure&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    &lt;span style="color: green"&gt;// msmqAddress as "net.msmq://localhost/private/myapp.myqueue";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; SendMsg(&lt;span style="color: blue"&gt;string&lt;/span&gt; msmqAddress, &lt;span style="color: blue"&gt;string&lt;/span&gt; action, &lt;span style="color: blue"&gt;int&lt;/span&gt; par1, &lt;span style="color: blue"&gt;int&lt;/span&gt; par2, &lt;span style="color: blue"&gt;int&lt;/span&gt; par3)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;        &lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;TransactionScope&lt;/span&gt; scope = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TransactionScope&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;TransactionScopeOption&lt;/span&gt;.Suppress))&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            &lt;span style="color: #2b91af"&gt;NetMsmqBinding&lt;/span&gt; binding = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;NetMsmqBinding&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;NetMsmqSecurityMode&lt;/span&gt;.None);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            binding.ExactlyOnce = &lt;span style="color: blue"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            &lt;span style="color: #2b91af"&gt;EndpointAddress&lt;/span&gt; address = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EndpointAddress&lt;/span&gt;(msmqAddress);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt; &lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            &lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ChannelFactory&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IOutputChannel&lt;/span&gt;&amp;gt; factory = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ChannelFactory&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IOutputChannel&lt;/span&gt;&amp;gt;(binding, address))&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                &lt;span style="color: #2b91af"&gt;IOutputChannel&lt;/span&gt; channel = factory.CreateChannel();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                &lt;span style="color: blue"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt; xe = &lt;span style="color: #2b91af"&gt;Event&lt;/span&gt;.CreateMsg(par1, par2, par3);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    &lt;span style="color: #2b91af"&gt;XmlReader&lt;/span&gt; xr = xe.CreateReader();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    &lt;span style="color: #2b91af"&gt;Message&lt;/span&gt; msg = &lt;span style="color: #2b91af"&gt;Message&lt;/span&gt;.CreateMessage(&lt;span style="color: #2b91af"&gt;MessageVersion&lt;/span&gt;.Default, action, xr);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    channel.Send(msg);&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                    &lt;span style="color: green"&gt;//SqlContext.Pipe.Send(…); // to test&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                &lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-indent: 0.5in; margin: 0in 0in 0pt 1in; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;…&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;            scope.Complete();&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="font-size: 9pt"&gt;    }&lt;/span&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="#4f81bd"&gt;&lt;font size="3"&gt;SQL code in triggers&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="line-height: normal; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;-- &lt;/span&gt;&lt;span style="font-size: 8pt"&gt;sp_SendMsg was registered as a name of the MsmqHelper.SendMsg()&lt;span style="color: blue"&gt;&lt;br /&gt;
EXEC&lt;/span&gt; sp_SendMsg&lt;span style="color: red"&gt;'net.msmq://biztalk_server_name/private/myapp.myqueue'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt; &lt;span style="color: red"&gt;'Create'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt; @par1&lt;span style="color: gray"&gt;,&lt;/span&gt; @par2&lt;span style="color: gray"&gt;, &lt;/span&gt;@par3&lt;/span&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="5"&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd"&gt;Installation and Deployment&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="#4f81bd"&gt;&lt;font size="3"&gt;On the SQL Server&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="3"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Registering the CLR assembly&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 40.5pt"&gt;&lt;span&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Prerequisites: .NET 3.5 SP1 Framework. It could be the issue for the production SQL Server!&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 40.5pt"&gt;&lt;span style="line-height: 115%; font-size: 10pt"&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;For more information, please, see the link &lt;a href="http://nielsb.wordpress.com/sqlclrwcf/"&gt;&lt;span style="line-height: 115%; font-size: 9pt"&gt;&lt;font color="#0000ff"&gt;http://nielsb.wordpress.com/sqlclrwcf/&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 40.5pt"&gt;&lt;span style="line-height: 115%; color: #4f81bd; font-size: 10pt"&gt;3.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Copy files:&lt;br /&gt;
&lt;span style="line-height: 115%; color: #4f81bd; font-size: 10pt"&gt;&amp;gt;&lt;i&gt;copy “\Windows\Microsoft.net\Framework\v3.0\Windows Communication Foundation\Microsoft.Transactions.Bridge.dll” “\Program Files\Reference Assemblies\Microsoft\Framework\v3.0 \Microsoft.Transactions.Bridge.dll”&lt;br /&gt;
&lt;/i&gt;&lt;/span&gt;If your machine is a 64-bit, run two commands:&lt;br /&gt;
&lt;span style="line-height: 115%; color: #4f81bd; font-size: 10pt"&gt;&amp;gt;&lt;i&gt;copy “\Windows\Microsoft.net\Framework\v3.0\Windows Communication Foundation\Microsoft.Transactions.Bridge.dll” “\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0 \Microsoft.Transactions.Bridge.dll”&lt;br /&gt;
&lt;/i&gt;&amp;gt;&lt;i&gt;copy “\Windows\Microsoft.net\Framework64\v3.0\Windows Communication Foundation\Microsoft.Transactions.Bridge.dll” “\Program Files\Reference Assemblies\Microsoft\Framework\v3.0 \Microsoft.Transactions.Bridge.dll”&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 40.5pt"&gt;&lt;span&gt;4.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Execute the SQL code to register the .NET assemblies:&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: green; font-size: 8pt"&gt;-- For x64 OS:&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;ASSEMBLY&lt;/span&gt; SMdiagnostics &lt;span style="color: blue"&gt;AUTHORIZATION&lt;/span&gt; dbo &lt;span style="color: blue"&gt;FROM&lt;/span&gt; &lt;span style="color: red"&gt;'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMdiagnostics.dll'&lt;/span&gt; &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: blue"&gt;permission_set&lt;/span&gt; &lt;span style="color: gray"&gt;=&lt;/span&gt; &lt;span style="color: blue"&gt;unsafe&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;ASSEMBLY&lt;/span&gt; [System.Web] &lt;span style="color: blue"&gt;AUTHORIZATION&lt;/span&gt; dbo &lt;span style="color: blue"&gt;FROM&lt;/span&gt; &lt;span style="color: red"&gt;'C:\Windows\Microsoft.NET\Framework&lt;b&gt;64&lt;/b&gt;\v2.0.50727\System.Web.dll'&lt;/span&gt; &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: blue"&gt;permission_set&lt;/span&gt; &lt;span style="color: gray"&gt;=&lt;/span&gt; &lt;span style="color: blue"&gt;unsafe&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;ASSEMBLY&lt;/span&gt; [System.Messaging] &lt;span style="color: blue"&gt;AUTHORIZATION&lt;/span&gt; dbo &lt;span style="color: blue"&gt;FROM&lt;/span&gt; &lt;span style="color: red"&gt;'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Messaging.dll'&lt;/span&gt; &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: blue"&gt;permission_set&lt;/span&gt; &lt;span style="color: gray"&gt;=&lt;/span&gt; &lt;span style="color: blue"&gt;unsafe&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;ASSEMBLY&lt;/span&gt; [System.ServiceModel] &lt;span style="color: blue"&gt;AUTHORIZATION&lt;/span&gt; dbo &lt;span style="color: blue"&gt;FROM&lt;/span&gt; &lt;span style="color: red"&gt;'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.ServiceModel.dll'&lt;/span&gt; &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: blue"&gt;permission_set&lt;/span&gt; &lt;span style="color: gray"&gt;=&lt;/span&gt; &lt;span style="color: blue"&gt;unsafe&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;CREATE ASSEMBLY &lt;/span&gt;&lt;span style="font-size: 8pt"&gt;[System.Xml.Linq]&lt;span style="color: blue"&gt; AUTHORIZATION dbo FROM &lt;/span&gt;&lt;span style="color: red"&gt;'C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll'&lt;/span&gt;&lt;span style="color: blue"&gt; WITH permission_set = unsafe&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt; &lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: green; font-size: 8pt"&gt;-- For x32 OS:&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: green; font-size: 8pt"&gt;--CREATE ASSEMBLY SMdiagnostics AUTHORIZATION dbo FROM 'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMdiagnostics.dll' WITH permission_set = unsafe&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: green; font-size: 8pt"&gt;--CREATE ASSEMBLY [System.Web] AUTHORIZATION dbo FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.dll' WITH permission_set = unsafe&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: green; font-size: 8pt"&gt;--CREATE ASSEMBLY [System.Messaging] AUTHORIZATION dbo FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Messaging.dll' WITH permission_set = unsafe&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.25in; text-autospace: "&gt;&lt;span style="color: green; font-size: 8pt"&gt;--CREATE ASSEMBLY [System.ServiceModel] AUTHORIZATION dbo FROM 'C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\System.ServiceModel.dll' WITH permission_set = unsafe&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 40.5pt"&gt;&lt;span&gt;5.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Register the assembly with the external stored procedure:&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 1in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;ASSEMBLY&lt;/span&gt; [HelperClass] &lt;span style="color: blue"&gt;AUTHORIZATION&lt;/span&gt; dbo &lt;span style="color: blue"&gt;FROM&lt;/span&gt; &lt;span style="color: red"&gt;’&amp;lt;FilePath&amp;gt;MyCompany.MySolution.MyProject.dll'&lt;/span&gt; &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: blue"&gt;permission_set&lt;/span&gt; &lt;span style="color: gray"&gt;=&lt;/span&gt; &lt;span style="color: blue"&gt;unsafe&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;where the &amp;lt;FilePath&amp;gt; - the path of the file on &lt;b&gt;this&lt;/b&gt; machine!&lt;/div&gt;
&lt;div style="line-height: normal; text-indent: -0.25in; margin: 0in 0in 0pt 40.5pt; text-autospace: "&gt;&lt;span style="font-size: 8pt"&gt;6. &lt;/span&gt;Create the external stored procedure&lt;br /&gt;
&lt;span style="color: blue; font-size: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;PROCEDURE&lt;/span&gt; sp_SendMsg&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="color: gray; font-size: 8pt"&gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="font-size: 8pt"&gt;       @msmqAddress &lt;span style="color: blue"&gt;nvarchar&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;100&lt;span style="color: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="font-size: 8pt"&gt;       @Action &lt;span style="color: blue"&gt;NVARCHAR&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;50&lt;span style="color: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="font-size: 8pt"&gt;       @par1 &lt;span style="color: blue"&gt;int&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="font-size: 8pt"&gt;       @par2 &lt;span style="color: blue"&gt;int&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="font-size: 8pt"&gt;       @par3 &lt;span style="color: blue"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 0pt 0.5in; text-autospace: "&gt;&lt;span style="color: gray; font-size: 8pt"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; text-indent: 0.5in; text-autospace: "&gt;&lt;span style="color: blue; font-size: 8pt"&gt;AS&lt;/span&gt;&lt;span style="font-size: 8pt"&gt; &lt;span style="color: blue"&gt;EXTERNAL&lt;/span&gt; NAME HelperClear&lt;span style="color: gray"&gt;.&lt;/span&gt;MsmqHelper&lt;span style="color: gray"&gt;.&lt;/span&gt;SendMsg&lt;/span&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="3"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Installing the MSMQ Services&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Check if the MSMQ service is NOT installed. &lt;br /&gt;
To check:&lt;br /&gt;
 Start / Administrative Tools / Computer Management, &lt;br /&gt;
on the left pane open the “Services and Applications”, &lt;br /&gt;
search to the “Message Queuing”. If you cannot see it, follow next steps.&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Start / Control Panel / Programs and Features&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;3.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Click “Turn Windows Features on or off”&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;4.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Click Features, click “Add Features”&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;5.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Scroll down the feature list; open the “Message Queuing” / “Message Queuing Services”; and check the “Message Queuing Server” option &lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in"&gt;&lt;span&gt;6.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Click Next; Click Install; wait to the successful finish of the installation&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Creating the MSMQ queue&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;We don’t need to create the queue on the “sender” side.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd"&gt;&lt;font size="3"&gt;On the BizTalk Server&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="3"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Installing the MSMQ Services&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The same is as for the SQL Server.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Creating the MSMQ queue&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Start / Administrative Tools / Computer Management, &lt;br /&gt;
on the left pane open the “Services and Applications”, &lt;br /&gt;
open the “Message Queuing”, and open the “Private Queues”.&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Right-click the “Private Queues”; choose New; choose “Private Queue”.&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in"&gt;&lt;span&gt;3.&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;Type the Queue name as &lt;span style="line-height: 115%; color: red; font-size: 9pt"&gt;’myapp.myqueue'&lt;/span&gt;; check the “Transactional” option.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Creating the WCF-NetMsmq receive port&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;I will not go through this step in all details. It is straightforward. &lt;br /&gt;
URI for this receive location should be &lt;span style="line-height: 115%; color: red; font-size: 8pt"&gt;'net.msmq://localhost/private/myapp.myqueue'&lt;/span&gt;.&lt;/div&gt;
&lt;div style="margin: 10pt 0in 0pt"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd"&gt;Notes&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&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;The biggest problem is usually on the step the “Registering the CLR assembly”. It is hard to predict where are the assemblies from the assembly list, what version should be used, x86 or x64. It is pity of such “rude” integration of the SQL with .NET.&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;In couple cases the new WCF-NetMsmq port was not able to work with the queue. Try to replace the WCF- NetMsmq port with the &lt;b&gt;WCF-Custom&lt;/b&gt; port with &lt;b&gt;netMsmqBinding&lt;/b&gt;. It was working fine for me.&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;To test how messages go through the queue you can turn on the Journal /Enabled option for the queue. I used the &lt;b&gt;QueueExplorer&lt;/b&gt; utility to look to the messages in Journal. The &lt;b&gt;Computer Management&lt;/b&gt; can also show the messages but it shows only small part of the message body and in the weird format. The QueueExplorer can do the better job; it shows the whole body and Xml messages are in good color format.&lt;/div&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/143377.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2011/01/06/biztalk-and-sql-alternatives-to-the-sql-receive-adapter.-using.aspx</guid>
            <pubDate>Fri, 07 Jan 2011 03:23:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/143377.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2011/01/06/biztalk-and-sql-alternatives-to-the-sql-receive-adapter.-using.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/143377.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/143377.aspx</trackback:ping>
        </item>
        <item>
            <title>MVP Global Summit 2010. Pictures</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2010/10/09/mvp-global-summit-2010.-pictures.aspx</link>
            <description>&lt;p&gt;&lt;img alt="" src="http://images20.fotki.com/v534/photos/1/31551/8492681/DSC_0038_1-vi.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;It was a long ago.&lt;/p&gt;
&lt;p&gt;Smart guys from all across the world were in one place, at Microsoft campus.&lt;/p&gt;
&lt;p&gt;There are pictrures from the MVP (Microsoft Most Valuable Professional) Summit 2010 in Bellevue and Redmond, WA.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://images112.fotki.com/v184/photos/1/31551/8492681/DSC_0028_1-vi.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://images20.fotki.com/v534/photos/1/31551/8492681/DSC_0035_1-vi.jpg" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; All pictures are here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://public.fotki.com/leogan/cities_and_countries/usa/2010_mvp_summit/"&gt;http://public.fotki.com/leogan/cities_and_countries/usa/2010_mvp_summit/&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Here are mostly BizTalk and CSD MVPs.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
See list of BizTalk MVP here &lt;a href="https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=BizTalk" rel="nofollow" target="_blank"&gt;https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=BizTalk&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
list of the Connected System Developer MVP -&lt;br /&gt;
&lt;a href="https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=Connected+System+Developer" rel="nofollow" target="_blank"&gt;https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=Connected+System+Developer&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/142206.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2010/10/09/mvp-global-summit-2010.-pictures.aspx</guid>
            <pubDate>Sat, 09 Oct 2010 17:23:02 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/142206.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2010/10/09/mvp-global-summit-2010.-pictures.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/142206.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/142206.aspx</trackback:ping>
        </item>
        <item>
            <title>UDDI standard is a niche technology. Why?</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2010/09/07/uddi-standard-is-a-niche-technology.-why.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;New standard the UDDI was announced several years ago [see the history in &lt;a href="http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration"&gt;Wikipedia&lt;/a&gt;]. The UDDI future was promising. I was sure for that. I thought, the future is for Web-services [WS], and it is. Isn’t that mean, we need services to search Web-services in internet, some Registries/Catalogs of the Web-services? &lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;How we could find the WS in internet? Google Search was not effective in this; it is still not effective now. By any means, the UDDI idea should win; all WS-s should work with UDDI Registers. There was no way to live without UDDI. WS-s should be everywhere and to find the right one we should use the UDDI. We thought so.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;The big companies started to invest in UDDI: IBM, Microsoft, SAP, and more. Smart people were writing UDDI standard, developers were writing UDDI systems. Big companies announced about public UDDI Registers in internet. Future was without clouds.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;What happens after this? Several years ago Microsoft, IBM closed they UDDI Registers in internet. Now there aren’t big public UDDI Registers. We have some but they are miserable. Seems, nobody wants to publish the WS-s in these Registers.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;Why the UDDI Registers are not popular as Google or Yahoo Search?&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;This all resembles to me the “pre-google” days, while each new site must be “promoted” into the search engines. We could register a new site in some engines without problems, in some engines only with payment or registration. Then the Google was born. Google is gathering new sites by itself and automatically included them to the Google register. Explicit procedures were changed to implicit, automatic procedures.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;Maybe the same was happened with the Registers for WS-s?&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;But what was happened, the most of the WS-s did not want to be “promoted”. Most of the WS-s are created for the limited user audience. Those users know all information about the WS, its address, its meta-information &lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;(Wsdl, Wsd-s, bindings, etc.). Moreover it is unlikely anybody outside of the circle of the &lt;b&gt;trusted&lt;/b&gt; users could access this information.&lt;br /&gt;
There were other reasons that let the UDDI standard go down.&lt;br /&gt;
One of the reasons was the standard itself. It was not simple, nor clear, nor easy to use standard. Creators make it all-embracing (maybe creators thought so) and designed in smallest details, &lt;b&gt;big&lt;/b&gt; and &lt;b&gt;clumsy&lt;/b&gt;. It was popular in these years creating internet standards in such fashion; include in standards all and everything. Standards of those years were set apart as monolithic and huge. Standards tended to include all knowledge of specific area. Of course, they were not as large as monster-standards like EDI or HL7. But they were not as laconic and segmented as modern standards (for example, the family of the WS-*  standards).&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;But the most negative factor was the fact the UDDI was substituted by other more advanced technologies. Now most of the Web-services show the meta-information on the predefined URL. All Wsdl-s, Xsd-s, and bindings are placed together with Web-service not in specialized Registers. In this way the Web-service makes itself independent, self-describing. User didn’t have to search the WS meta-information somewhere else. Users need to know only the URI (address) of the WS. It is not wise to use UDDI Registers to store only addresses. UDDI Registers are too complex, too overloaded with unused functionality for this simple task.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;As a result the UDDI standard and UDDI services are now used only in small, narrow areas. For example, the UDDI service is used in the Microsoft BizTalk Server (see &lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/dd876606.aspx"&gt;&lt;span style="color: #0060ff"&gt;ESB Toolkit 2.0&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;). Web-service Register has to be in the ESB, because the whole idea of ESB is based on principle, that user is publishing messages in ESB and the Bus knows what services should process the messages, knows all addresses, knows all format transformations.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;But if we are returning to the generic case of the Web-service, all we need to know is the address of this WS.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;UDDI let us find the WS by key words as it is in the Yahoo Directories. It happens this feature is not a user requirement at all.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;The UDDI standard in the niche standard not universal so far.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family: Symbol; color: #333333; font-size: 10.5pt"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;—————————————-&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;Links&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;&lt;br /&gt;
[&lt;/span&gt;&lt;u&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #0060ff; font-size: 10.5pt"&gt;UDDI. &lt;/span&gt;&lt;/u&gt;&lt;u&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #0060ff; font-size: 10.5pt"&gt;Official site&lt;/span&gt;&lt;/u&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;]&lt;br /&gt;
[&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'"&gt;&lt;a href="http://uddi.microsoft.com/about/FAQshutdown.htm"&gt;Why are IBM, Microsoft and SAP discontinuing the operation of the UDDI Business Registry&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;]&lt;br /&gt;
[&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;&lt;a href="http://www.microsoft.com/windowsserver2003/technologies/idm/uddi/default.mspx"&gt;&lt;span style="color: #0060ff"&gt;UDDI in Microsoft&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;]&lt;br /&gt;
[&lt;/span&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10.5pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/dd876606.aspx"&gt;&lt;span style="color: #0060ff"&gt;BizTalk. &lt;/span&gt;&lt;span style="color: #0060ff"&gt;ESB Toolkit 2.0. UDDI &lt;/span&gt;&lt;span style="color: #0060ff"&gt;in&lt;/span&gt;&lt;span style="color: #0060ff"&gt; BizTalk&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/141669.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2010/09/07/uddi-standard-is-a-niche-technology.-why.aspx</guid>
            <pubDate>Tue, 07 Sep 2010 23:35:13 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/141669.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2010/09/07/uddi-standard-is-a-niche-technology.-why.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/141669.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/141669.aspx</trackback:ping>
        </item>
        <item>
            <title>Book “SOA Patterns with BizTalk Server 2009” by Richard Seroter, review</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2009/07/28/book-soa-patterns-with-biztalk-server-2009-by-richard-seroter-again.aspx</link>
            <description>&lt;div style="MARGIN: 24pt 0in 0pt"&gt;&lt;strong&gt;&lt;font size="6"&gt;&lt;font color="#365f91" size="5"&gt;Book “SOA Patterns with BizTalk Server 2009” by Richard Seroter, review&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 10pt 0in 0pt"&gt;Here is a page from publisher ([PACKT] Publishing)  &lt;a href="http://www.packtpub.com/soa-patterns-with-biztalk-server-2009/book"&gt;http://www.packtpub.com/soa-patterns-with-biztalk-server-2009/book&lt;/a&gt;&lt;/div&gt;
&lt;div style="MARGIN: 10pt 0in 0pt"&gt;&lt;strong&gt;&lt;font size="5"&gt;&lt;font color="#4f81bd" size="4"&gt;Questions:&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Who is the reader of this book? What is the &lt;font face="Arial"&gt;knowledge and experience &lt;/font&gt;level of the reader? How good is the book structure?&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I think the reader should be a seasoned BizTalk developer. It is not for an entry level developer. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;This book is for architects, but for architects with wealthy knowledge of the BizTalk. I would suggest it for a senior BizTalk developers, which is equal to an Integration Architect title.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;You can read the first three and the last four chapters of this book only for a quick review of your knowledge. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I highly recommended the chapters from 4th to 7th. They are from Richards’s wealthy experience. They are the heart and soul of the book. I would like to see much more such interesting things, maybe in next edition of this book?&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Is it about BizTalk 2009 or about BizTalk?&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Chapters from 9th to 12th are about BizTalk 2009 features and tools. Other chapters are more common and do not depend on the last version. They are &lt;strong&gt;more&lt;/strong&gt; than that, better than that.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Is it about SOA Patterns?&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Yes, it is.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Is it the “recipe” book?&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;The book contains a few good recipes, but indeed it is not a recipe book.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;Is it the button-to-button book?&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;No, luckily it is not.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;em&gt;&lt;font color="#4f81bd"&gt;How is the book covering the topics?&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Audience&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Level (1-5)&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Grade (1-5)&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 1: Building BizTalk Server 2009 Applications&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Architect&lt;br /&gt;
            Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;br /&gt;
            1&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;br /&gt;
            1&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 2: Windows Communication Foundation Primer &lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;1&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;1&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 3: Using WCF Services in BizTalk Server 2009&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 4: Planning Service-Oriented BizTalk &lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Architect&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;4&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 5: Schema and Endpoint Patterns&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer, Architect&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;5&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 6: Asynchronous Communication Patterns&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;4&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;5&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 7: Orchestration Patterns&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer, Architect&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;5&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;4&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;4&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 8: Versioning &lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 9: New SOA Capabilities in BizTalk Server 2009: WCF SQL Server Adapter&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 10: New SOA Capabilities in BizTalk Server 2009: UDDI Services&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;2&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 11: New SOA Capabilities in BizTalk Server 2009: ESB Guidance 2&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Developer&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;3&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 252.9pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="422"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt;&lt;span style="FONT-SIZE: 11.5pt"&gt;Chapter 12: What's Next&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 68.95pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="115"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt; &lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 72.2pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="120"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt; &lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 76.65pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="128"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 13.65pt"&gt; &lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Where &lt;strong&gt;Level&lt;/strong&gt;: &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.5in"&gt;1 – developers with entry level knowledge of BizTalk and no working experience&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.5in"&gt;2 – developers with entry level knowledge of BizTalk and small working experience&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.5in"&gt;3 – developers with fair level knowledge of BizTalk and fair working experience&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.5in"&gt;4 – developers with expert level knowledge of BizTalk and fair working experience&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.5in"&gt;5 – developers with expert level knowledge of BizTalk and expert working experience&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I have to say, that several parts of this book “&lt;strong&gt;must&lt;/strong&gt; be read” by every BizTalk developer. I insist these parts MUST be an essential part of the BizTalk Documentation from the early start and it is a shame of Microsoft these chapters are not included in the BizTalk Documentation. For example, the Schema Patterns, Chapter 5, how could developers work with Web-services without basic knowledge about basic principles of serializing schemas to .NET classes? &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Sometimes author jumps from really interesting discussions about patterns to examples of how to implement it in “too much details” fashion.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;When I ticked on the chapters with 2 or 1 grade, I thought “I cannot find any reason to include this chapter in the book. Here Richard presents only the general information but nothing from his experience. Geners description and general examples, but I would prefer to know the expert opinions, expert arguments, expert views, expert pros and cons.” I understand why these chapters are in the book. However, I strongly believe that the book worth reading if the author express his/her opinions in the text.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;For Chapter 11 about ESB I would suggest to see the webcast by Richard Seroter “&lt;span style="COLOR: black"&gt;A look at the ESB Toolkit 2.0 in BizTalk Server 2009&lt;/span&gt;” &lt;a href="http://cloudtv.cloudapp.net/ViewWebcast.aspx?webcastid=2521553277324634479"&gt;http://cloudtv.cloudapp.net/ViewWebcast.aspx?webcastid=2521553277324634479&lt;/a&gt;. It is kind of the up-to-date version of this Chapter.&lt;/div&gt;
&lt;div style="MARGIN: 10pt 0in 0pt"&gt;&lt;strong&gt;&lt;font size="5"&gt;&lt;font color="#4f81bd" size="4"&gt;Conclusion&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 10pt 0in 0pt"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd" size="3"&gt;Pros:&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;“SOA Patterns with BizTalk Server 2009” book contains several very interesting topics.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Book contains an expert point of view.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Book also covers several useful SOA patterns implemented in/with BizTalk Server.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;The best part of the book is not only about “how” but about “why” as well.&lt;/div&gt;
&lt;div style="MARGIN: 10pt 0in 0pt"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd" size="3"&gt;Cons:&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Apparently, the author includes some chapters just to pad the book. But the usable volume is still more than a half. This is good proportion. Yes, it is a good proportion. Usually books of this kind have smaller “performance index”.&lt;/div&gt;
&lt;div style="MARGIN: 10pt 0in 0pt"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;font color="#4f81bd" size="3"&gt;Conclusion&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;This book would be very helpful for the Integration Architects and BizTalk Developers. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Author is one of the most respectful BizTalk experts in the world and his point of view is always interesting.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Must have for every BizTalk Developer.&lt;/div&gt;
&lt;div style="MARGIN: 24pt 0in 0pt" align="center"&gt;&lt;strong&gt;&lt;font size="6"&gt;&lt;font color="#365f91" size="5"&gt;Highly Recommended&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/133768.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2009/07/28/book-soa-patterns-with-biztalk-server-2009-by-richard-seroter-again.aspx</guid>
            <pubDate>Wed, 29 Jul 2009 01:10:57 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/133768.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2009/07/28/book-soa-patterns-with-biztalk-server-2009-by-richard-seroter-again.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/133768.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/133768.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk WCF-BasicHttp adapter issue with http://www.w3.org/2001/XMLSchema namespace</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2009/06/29/biztalk-wcf-basichttp-adapter-issue-with-httpwww.w3.org2001xmlschema-namespace.aspx</link>
            <description>&lt;div&gt;&lt;font face="Arial"&gt;BizTalk WCF-BasicHttp adapter issue with http://www.w3.org/2001/XMLSchema namespace&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Arial"&gt;I am using the WCF-BasicHttp adapter to consume outer Web-service and getting the error (actually if I have retry&amp;gt;0, I am getting Warning first. See below:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;div&gt;&lt;font face="Arial"&gt;Event Type: Warning&lt;br /&gt;
Event Source: BizTalk Server 2006&lt;br /&gt;
Event Category: BizTalk Server 2006 &lt;br /&gt;
Event ID: 5743&lt;br /&gt;
Date:  ...&lt;br /&gt;
Time:  ...&lt;br /&gt;
User:  ...&lt;br /&gt;
Computer: ...&lt;br /&gt;
Description:&lt;br /&gt;
The adapter failed to transmit message going to send port "..." with URL "...". It will be retransmitted after the retry interval specified for this Send Port. Details:"Unable to read the stream produced by the pipeline. &lt;br /&gt;
 Details: The value 'd:date' is invalid according to its schema type 'http://www.w3.org/2001/XMLSchema:QName' - 'd' is an undeclared namespace. ".&lt;br /&gt;
...&lt;/font&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Arial"&gt;or (After retry the previous message the retry limit for this port)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;div&gt;&lt;font face="Arial"&gt;Event Type: Error&lt;br /&gt;
Event Source: BizTalk Server 2006&lt;br /&gt;
Event Category: BizTalk Server 2006 &lt;br /&gt;
Event ID: 5754&lt;br /&gt;
Date:  ...&lt;br /&gt;
Time:  ...&lt;br /&gt;
User:  ...&lt;br /&gt;
Computer: ...&lt;br /&gt;
Description:&lt;br /&gt;
A message sent to adapter "FILE" on send port "..." with URI "..." is suspended. &lt;br /&gt;
 Error details: Unable to read the stream produced by the pipeline. &lt;br /&gt;
 Details: The value 'd:date' is invalid according to its schema type 'http://www.w3.org/2001/XMLSchema:QName' - 'd' is an undeclared namespace.  &lt;br /&gt;
 MessageId:  ...&lt;br /&gt;
 InstanceID: ...&lt;br /&gt;
...&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;&lt;font face="Arial"&gt;Very srange. When I tried the same Web-service with &lt;strong&gt;SoapUi&lt;/strong&gt;, the result of the verification of the Response message is similar.&lt;/font&gt;&lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;div&gt; &lt;font face="Arial"&gt;&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;line 8: Invalid xsi:type qname: 'd:string' in element ...@http://...&lt;/font&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;What is wrong with response message?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Response Message:&lt;/strong&gt;&lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;e:Envelope &lt;font style="BACKGROUND-COLOR: #ffff99"&gt;xmlns:d="http://www.w3.org/2001/XMLSchema"&lt;/font&gt; xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:wn1="..." xmlns:wn2="..." xmlns:wn0="..." xmlns:e="http://schemas.xmlsoap.org/soap/envelope/"&amp;gt;&lt;br /&gt;
   &amp;lt;e:Body&amp;gt;&lt;br /&gt;
      &amp;lt;wn2:ActionResponse&amp;gt;&lt;br /&gt;
         &amp;lt;wn2:MyResponse i:type="wn2:MyResponseType"&amp;gt;&lt;br /&gt;
            &amp;lt;wn2:Detail i:nil="true"/&amp;gt;&lt;br /&gt;
            &amp;lt;wn2:MyMsg i:type="wn2:ArrayOfMyMsgType"&amp;gt;&lt;br /&gt;
               &amp;lt;wn2:MyMsgType i:type="wn2:MyMsgType"&amp;gt;&lt;br /&gt;
                  &amp;lt;wn2:MsgDescriptionText i:type="&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;d:string&lt;/font&gt;"&amp;gt;...&amp;lt;/wn2:MsgDescriptionText&amp;gt;&lt;br /&gt;
                  &amp;lt;wn2:MsgIdentificationID i:type="&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;d:string&lt;/font&gt;"&amp;gt;...&amp;lt;/wn2:MsgIdentificationID&amp;gt;&lt;br /&gt;
                  &amp;lt;wn2:MsgSeverityLevelCode i:type="wn2:MsgSeverityLevelType"&amp;gt;...&amp;lt;/wn2:MsgSeverityLevelCode&amp;gt;&lt;br /&gt;
                  &amp;lt;wn2:MsgSourceText i:nil="true"/&amp;gt;&lt;br /&gt;
               &amp;lt;/wn2:MyMsgType&amp;gt;&lt;br /&gt;
            &amp;lt;/wn2:MyMsg&amp;gt;&lt;br /&gt;
         &amp;lt;/wn2:MyResponse&amp;gt;&lt;br /&gt;
      &amp;lt;/wn2:ActionResponse&amp;gt;&lt;br /&gt;
   &amp;lt;/e:Body&amp;gt;&lt;br /&gt;
&amp;lt;/e:Envelope&amp;gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Investigation discovered that the issue is in the namespace prefix "&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;d&lt;/font&gt;". If I change it to the "&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;xsd&lt;/font&gt;", the error disappeared.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Questions:&lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;div&gt;How to work around this?&lt;br /&gt;
Is it the error in the response message?&lt;br /&gt;
Is it an error in the WCF-BasicHttp adapter?&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;How to work around this issue?&lt;br /&gt;
&lt;/strong&gt;I changed the WCF-BasicHttp port for the old SOAP port and SOAP port works fine.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Is it the error in the response message?&lt;/strong&gt;&lt;br /&gt;
I didn't find any limits for the "http://www.w3.org/2001/XMLSchema" namespace and for prefixes for it. The only limit is "don't use the prefixes, started with 'xml' letters". It is the common practice to use "xsd" prefix for the "http://www.w3.org/2001/XMLSchema" namespace. But it is not the rule. &lt;br /&gt;
Seems the WCF-BasicHttp adapter is "too smart".&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Is it an error in the WCF-BasicHttp adapter?&lt;/strong&gt;&lt;br /&gt;
possible...&lt;/div&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/133138.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2009/06/29/biztalk-wcf-basichttp-adapter-issue-with-httpwww.w3.org2001xmlschema-namespace.aspx</guid>
            <pubDate>Tue, 30 Jun 2009 04:31:51 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/133138.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2009/06/29/biztalk-wcf-basichttp-adapter-issue-with-httpwww.w3.org2001xmlschema-namespace.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/133138.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/133138.aspx</trackback:ping>
        </item>
        <item>
            <title>Review "MCTS Self-Paced Training Kit (Exam 70-503): Microsoft .NET Framework 3.5 Windows Communication Foundation (PRO-Certification)"</title>
            <link>http://geekswithblogs.net/LeonidGaneline/archive/2008/10/15/review-mcts-self-paced-training-kit-exam-70-503-microsoft-.net-framework.aspx</link>
            <description>&lt;font size="2"&gt;
&lt;p align="left"&gt;  &lt;/p&gt;
&lt;p align="left"&gt;Review "MCTS Self-Paced Training Kit (Exam 70-503): Microsoft .NET Framework 3.5 Windows Communication Foundation (PRO-Certification)" &lt;/p&gt;
&lt;p align="left"&gt;&lt;a href="http://www.amazon.com/MCTS-Self-Paced-Training-70-503-PRO-Certification/dp/0735625654/ref=sr_1_12?ie=UTF8&amp;amp;s=books&amp;amp;qid=1224042536&amp;amp;sr=8-12"&gt;http://www.amazon.com/MCTS-Self-Paced-Training-70-503-PRO-Certification/dp/0735625654/ref=sr_1_12?ie=UTF8&amp;amp;s=books&amp;amp;qid=1224042536&amp;amp;sr=8-12&lt;/a&gt; &lt;/p&gt;
&lt;p align="left"&gt;I like this series of books (SPTK - Self-Paced Training Kit) because the short theory here is always ended with real world examples. And these examples shows how the product is used in the real situations, to solve the real problems. It is like the prioritization of the functionality.&lt;/p&gt;
&lt;p align="left"&gt;In the WCF documentation on the MSDN there is no such prioritization, great list of the features is here and no clue what are the main features and what are the secondary, additional features.&lt;/p&gt;
&lt;p align="left"&gt;In the SPTK books there are no place to all features, the goals of these books are different. There are only the main features and steps how they are used to get the real result. For example, the part about MessageContract. A lot of information are in the MSDN, but it is realy hard to understand what the purpose of the MessageContract is. The real world example is shown in this book, how to use the MessageContract to transmit the license key to the client. Short example gives us the understanding of this artifact.&lt;/p&gt;
&lt;p align="left"&gt;I am working with Web-services more then 4 years, and last year mostly with WCF-services. I was using this book to review my knowledge to make it more systematic. I didn't use this book to prepare for exam ( See discussion about the sertification exams here &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3280207&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3280207&amp;amp;SiteID=1&lt;/a&gt; )&lt;/p&gt;
&lt;p align="left"&gt;I use every information source to *&lt;strong&gt;understand&lt;/strong&gt;* what is going on inside the product, why these features were included in the product, what alternatives were and are. Why so? Knowledge does not stucked in my brain without answers to this questions. I could not study the product in the *button-by-button* style as monkey.&lt;/p&gt;
&lt;p align="left"&gt;I have to know *&lt;strong&gt;why&lt;/strong&gt;*.&lt;/p&gt;
&lt;p align="left"&gt;Teaching technics usualy use the patterns how the product should &lt;strong&gt;not&lt;/strong&gt; be used, the samples of the &lt;strong&gt;improper practice&lt;/strong&gt;. Usualy it is hard to teach proper technics without list the improper practices. Sometimes one sample of the wrongdoing is worth dozens samples of welldoing. &lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;How does this series of books the SPTK is different from oother books published by Microsoft?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;Here are only described the *&lt;strong&gt;main&lt;/strong&gt;* product features. These features were selected by Microsoft itself and it works as a unofficial priotirizing. It is very important. &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;Here we see the *&lt;strong&gt;real world&lt;/strong&gt;* problems and ways to resolve them with help of the main product features. &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;In these books are the concisely description (and sometimes the history) what was the *&lt;strong&gt;source of these features&lt;/strong&gt;*. &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;Here we could see the samples of the *&lt;strong&gt;improper practice&lt;/strong&gt;*, how the product should not be used. &lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p align="left"&gt; &lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;Pros: &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;This book is the &lt;strong&gt;Microsoft vision&lt;/strong&gt; of what is the intend of the WCF, how the WCF should be used. &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;The concise information about WCF is concentrated in the *&lt;strong&gt;Lessons&lt;/strong&gt;*. The real world samples are placed near it. These samples are also concentrated on the main things. &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;I very like the *&lt;strong&gt;Lesson Summary&lt;/strong&gt;* parts. These lists are the lists of the *&lt;strong&gt;prime features&lt;/strong&gt;* of the WCF. &lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="left"&gt;&lt;strong&gt;Cons: &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;Sometimes the book gives us the method in the samples that are obsolete. Say, the generation of the classes from XSD with XSD.exe utility. Several generation of the Software Factory could make this and SvcUtil.exe so. &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;Sometimes the description are not perfect. I have feeling that authors did not squeeze out the whole information from the BizTalk team :) and this is not surprize me because of the huge WCF feature pool. (For instance, we are asked on page.66 to comment attribute the [XmlSerializerFormat...] and regenerate scheams again, then make sure these schemas are going to get big differences from the default schemas. All these exisises with regenerating are useless without detailed explanations.) &lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="left"&gt; &lt;/p&gt;
&lt;div align="left"&gt;&lt;hr /&gt;
&lt;/div&gt;
&lt;p align="left"&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;
&lt;p align="left"&gt;I know several good sources of the information about WCF for deep studing.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;Samples in .NET SDK &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;The Book "Programming .NET Components", 2nd Edition by Juval Lowy &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div align="left"&gt;MSND forums (&lt;a href="http://social.msdn.microsoft.com/forums/en-US/wcf/threads/"&gt;http://social.msdn.microsoft.com/forums/en-US/wcf/threads/&lt;/a&gt;  ) &lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="left"&gt;- and this book is good addition to this list.&lt;/p&gt;
&lt;p align="left"&gt;&lt;strong&gt;I mark this book with 5 stars.&lt;/strong&gt;&lt;/p&gt;
&lt;p align="left"&gt;It has flaws, but benefits of using it as a fast and reliable source to study WCF are great.&lt;/p&gt;
&lt;p align="left"&gt;Best regards!&lt;/p&gt;
&lt;p align="left"&gt; &lt;/p&gt;
&lt;div align="left"&gt;&lt;hr /&gt;
&lt;/div&gt;
&lt;div align="left"&gt;&lt;hr /&gt;
&lt;/div&gt;
&lt;/font&gt; &lt;img src="http://geekswithblogs.net/LeonidGaneline/aggbug/125873.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Leonid Ganeline</dc:creator>
            <guid>http://geekswithblogs.net/LeonidGaneline/archive/2008/10/15/review-mcts-self-paced-training-kit-exam-70-503-microsoft-.net-framework.aspx</guid>
            <pubDate>Wed, 15 Oct 2008 21:58:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/LeonidGaneline/comments/125873.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/LeonidGaneline/archive/2008/10/15/review-mcts-self-paced-training-kit-exam-70-503-microsoft-.net-framework.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/LeonidGaneline/comments/commentRss/125873.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/LeonidGaneline/services/trackbacks/125873.aspx</trackback:ping>
        </item>
    </channel>
</rss>
