<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gobbledygooks by Richard Hallgren &#187; Tools</title>
	<atom:link href="http://www.richardhallgren.com/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.richardhallgren.com</link>
	<description>.NET, BizTalk and integration focused scribbles</description>
	<lastBuildDate>Fri, 23 Apr 2010 07:13:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Third party BizTalk monitoring tools</title>
		<link>http://www.richardhallgren.com/third-party-biztalk-monitoring-tools/</link>
		<comments>http://www.richardhallgren.com/third-party-biztalk-monitoring-tools/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 15:18:11 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[BAM]]></category>
		<category><![CDATA[BizMon]]></category>
		<category><![CDATA[BizTalk 2006]]></category>
		<category><![CDATA[BizTalk 2009]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/third-party-monitoring-tools/</guid>
		<description><![CDATA[I’ll start this post by clarifying two important things

I am involved in the development and marketing of “BizMon”. Therefore I am biased and you have to decide for yourself if that affects the content of the post. As always it is best to try it for yourself and see if it is useful for you. [...]]]></description>
			<content:encoded><![CDATA[<p>I’ll start this post by clarifying two important things</p>
<ol>
<li>I am involved in the development and marketing of “BizMon”. Therefore I am biased and you have to decide for yourself if that affects the content of the post. As always it is best to <a href="http://bizmontool.com/buy" target="_blank">try it for yourself</a> and see if it is useful for you. </li>
<li>I have talked about BizTalk monitoring tools in a previous post and my goal then was then to start a an open source project. That did not happened and you can read why in the update to <a href="http://www.richardhallgren.com/aggregated-monitoring-of-biztalk-solutions-using-bizmon/" target="_blank">that post</a>. </li>
</ol>
<h2>Why “monitoring” for BizTalk?</h2>
<p><img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://www.richardhallgren.com/wp-content/uploads/2009/08/image1.png" width="246" height="186" /> I have worked as a BizTalk developer for many years but it was not until I really got in to maintaining a large integration solution that I realized that the tools I really needed was not there. I found myself using the following “tools” and techniques over and over again.</p>
<ol>
<li>Open the BizTalk Administration Console and query for suspended messages, running instances, routing errors etc, etc.      </p>
<p>But as I had to pull for this information it took time and discipline (two things I’m short of) to quickly find out when errors occurred. </li>
<li>I used the HAT to try and find out when the last messages was sent and received on the different applications. This gave me a “guarantee” that things worked as I accepted and that the solution had a “pulse” – messages at least moved back and forward.&#160;
<p>The problem is that the HAT tool is bad and it is hard to find what one is looking for (It is a bit better in BizTalk 2009 but it is still tricky to get useful information out of it.) </li>
<li>Some of the integrations in our environment used BAM to track messages and their state.
<p>The problem was that all solutions was developed by either myself or different consultants. This made it hard to get everyone to use the same tracking. It was also hard to convince management to go back and try and “instrument” old working integrations with BAM tracking. </li>
</ol>
<p>At the same time as we had the “tools” and techniques mentioned above available, management had the following requirements for us.</p>
<ol>
<li>Start working on fixing an error <em>within 10 minutes</em> after it occurred <em>24/7 all 365 days</em> … </li>
<li>Be able to delegate simple monitoring task to support personnel (a help desk). </li>
<li>Not have to actively “pull” for information but be quickly altered of errors and get the information “pushed” to us.
<p>The idea was that this would would save time as people don’t have to look for errors when everything is working fine. Time that people can use for other tasks … </li>
<li>Enable reporting so we can provide systems owners and other interested people with information on how much data has been sent received to the systems and parties they care about. </li>
</ol>
<p>All the above lead up to the realization that we needed some sort of tool.</p>
<h2>What are the existing options for BizTalk monitoring tooling?</h2>
<p>At the time we started looking for options all we could find was <a href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx" target="_blank">System Center Operations Manager (SCOM)</a>. We looked at <a href="http://msdn.microsoft.com/en-us/library/ee308798%28BTS.10%29.aspx" target="_blank">SCOM BizTalk Management Pack</a> and decided that <em>for us</em> this was not the right solution. It was too big, too complicated and it would be to hard to get it to the what we wanted to do. </p>
<blockquote><p>The decision to not use SCOM I think was right for us. We wanted something leaner and more specialized. I am however <strong><em>not saying </em></strong>that it is the right decision for you.</p>
<p>If you are successfully suing SCOM to monitor BizTalk I would love to <a href="mailto:richard.hallgren@gmail.com">hear about it</a>!</p>
</blockquote>
<h2>What we ended up with</h2>
<p>We ended up building <a href="http://bizmontool.com/">BizMon</a>. It does what we need and our help desk can now basically monitor about 100 different BizTalk application themselves. At the same time they do all the other support task they have to do. When something happens (and it does …) they are the first to know. Some easy tasks they can solve themselves, otherwise they make sure to notify the users and quickly call the developer that knows more and can help them.</p>
<p>Support personnel can now also setup custom reports that users can subscribe to, all based on BAM that they now easily can interject tracking points in existing solutions – both new and old ones.</p>
<p>As I said. This worked out out good and helped us. If you think that it could work for you as well – <a href="http://bizmontool.com/buy">give it a try</a>. </p>
<p>I am also really interested to how you have solved similar requirements as we had with your own tool or other solutions.</p>
<h2>What else is there?</h2>
<p>Recently <a href="http://www.frends.com/" target="_blank">FRENDS</a> released a beta version of their <a href="http://www.frends.com/product/monitoring-technologies/" target="_blank">FRENDS Helium</a> product that looks promising could potentially solve a lot of the same issues that BizMon does and that I have discussed in this post. </p>
<p>Check it out and let us know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/third-party-biztalk-monitoring-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Receiving scheduled MsgBoxViewer-reports via e-mail</title>
		<link>http://www.richardhallgren.com/receiving-scheduled-msgboxviewer-reports-via-e-mail/</link>
		<comments>http://www.richardhallgren.com/receiving-scheduled-msgboxviewer-reports-via-e-mail/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 16:37:01 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[BizTalk 2006]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/receiving-scheduled-msgboxviewer-eports-via-e-mail/</guid>
		<description><![CDATA[I attended a session the other day at TechDays here in Sweden with Microsoft Escalation Engineer Niklas Engfelt. The session was about troubleshooting BizTalk and Niklas of course showed the wonderful MsgBoxViewer (MBV) tool by Jean-Pierre Auconie. If you haven&#8217;t tested and looked deeper into this tool you need to do so. It&#8217;s great! 
I [...]]]></description>
			<content:encoded><![CDATA[<p>I attended a session the other day at TechDays here in Sweden with Microsoft Escalation Engineer <a href="http://bizspace.blogspot.com/" target="_blank">Niklas Engfelt</a>. The session was about troubleshooting BizTalk and Niklas of course showed the wonderful <a href="http://blogs.technet.com/jpierauc/pages/what-is-biztalk-msgboxviewer.aspx" target="_blank">MsgBoxViewer</a> (MBV) tool by <a href="http://blogs.technet.com/jpierauc/default.aspx">Jean-Pierre Auconie</a>. If you haven&#8217;t tested and looked deeper into this tool you <em><strong>need</strong></em> to do so. It&#8217;s great! </p>
<p>I worked with the tool before but now I wanted to schedule the tool and to have MBV-reports e-mailed to relevant persons within the company on a weekly basis. This is quite easy to accomplish as MBV comes in two version. One GUI-based (shown below) version and one command-line based.</p>
<p><a href="http://www.richardhallgren.com/wp-content/uploads/2009/03/windowslivewriterreceivingscheduledmsgboxviewereportsviae-f7aeimage-12.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="442" alt="image" src="http://www.richardhallgren.com/wp-content/uploads/2009/03/windowslivewriterreceivingscheduledmsgboxviewereportsviae-f7aeimage-thumb-5.png" width="640" border="0"></a> </p>
<p>The command-line version is of course perfect for scheduling using the <a href="http://www.iopus.com/guides/winscheduler.htm" target="_blank">Windows Task Scheduler</a>. </p>
<p><a href="http://www.richardhallgren.com/wp-content/uploads/2009/03/windowslivewriterreceivingscheduledmsgboxviewereportsviae-f7aeimage-10.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" alt="image" src="http://www.richardhallgren.com/wp-content/uploads/2009/03/windowslivewriterreceivingscheduledmsgboxviewereportsviae-f7aeimage-thumb-4.png" width="441" border="0"></a></p>
<p>If you feel uncomfortable running all the queries (there is <em>a lot</em> of them) on a schedule you can pick some you find important and configure the tool to only run those. Jean-Pierre has a post on how to do just that <a href="http://blogs.technet.com/jpierauc/archive/2009/03/11/mbv-how-to-run-only-some-specific-queries-in-the-console-version-of-mbv-btsdbcollect-exe.aspx" target="_blank">here</a>.</p>
<p>After MBV has completed all its queries and done its magic it will produce a html-report in the working folder (that&#8217;s the folder in the &#8220;Start in&#8221; field in the scheduled task example above). </p>
<p>We then use a tool called <a href="http://www.duodata.de/amlnt/index.htm" target="_blank">AutoMailer NT</a> (cost €20 &#8211; there is a 30 days trial) to:</p>
<ol>
<li>Poll the working folder for a *.html report file.
<li>Compress the file (using zip).
<li>Send the report to a configured list of recipients.
<li>Delete the report file. </li>
</ol>
<p>The AutoMailer NT installation is a bit rough (don&#8217;t miss to the <em><strong></strong></em><a href="http://www.duodata.de/amlnt/download.htm" target="_blank">separate download</a> (!) of the trial certificate). But once you have everything working it&#8217;s great to have a fresh MBV report in you inbox every Monday telling you how your BizTalk environment is doing and possible issues to attend to.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/receiving-scheduled-msgboxviewer-reports-via-e-mail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XPathmania and XPath on TV!</title>
		<link>http://www.richardhallgren.com/xpathmania-and-xpath-on-tv/</link>
		<comments>http://www.richardhallgren.com/xpathmania-and-xpath-on-tv/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 08:08:46 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=229</guid>
		<description><![CDATA[I&#8217;ve blogged about the Visual Studio extension XPathmania before. It&#8217;s a very simple little tool that lets you write and test XPath inside of Visual Studio 2005. No big deal if you already have tools like XMLSpy or XML Notepad but still. I like not having to start another application, opening the XML document I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve blogged about the Visual Studio extension <a href="http://www.codeplex.com/MVPXML/Release/ProjectReleases.aspx?ReleaseId=77" target="_blank">XPathmania</a> <a href="http://www.webhostingsearch.com/blogs/richard/reading-text-value-from-node-using-xpath-function-directly-in-biztalk-orchestrations/" target="_blank">before</a>. It&#8217;s a very simple little tool that lets you write and test <a href="http://en.wikipedia.org/wiki/XPath" target="_blank">XPath</a> inside of Visual Studio 2005. No big deal if you already have tools like <a href="http://www.altova.com/products/xmlspy/xml_editor.html" target="_blank">XMLSpy</a> or <a href="http://www.microsoft.com/downloads/details.aspx?familyid=72d6aa49-787d-4118-ba5f-4f30fe913628&amp;displaylang=en" target="_blank">XML Notepad</a> but still. I like not having to start another application, opening the XML document I&#8217;m working with and so on. Doing stuff inside of Visual Studio just feels&nbsp;right and saves some time anyway.
<p>One of the <a href="http://www.dnrtv.com/default.aspx?showNum=67" target="_blank">last episodes</a> of <a href="http://www.dnrtv.com/" target="_blank">dnrTV</a> hosted <a href="http://donxml.com/Default.aspx" target="_blank">Dom Demsak</a> (Don XML), the creator of XPathmania. The show is 30% about&nbsp;XPathmania and 70% about XPath and XPath syntax in general. It&#8217;s kind of basic XPath but&nbsp;I&nbsp;think it&nbsp;can be useful for someone who&nbsp;feels they&nbsp;haven&#8217;t got full control of the&nbsp;language.&nbsp;</p>
<p>During the show they touch on <a href="http://www.w3schools.com/xml/xml_namespaces.asp">XML namespaces and XML default namespaces</a>.&nbsp;However&nbsp;they don&#8217;t really explain&nbsp;the difference between them&nbsp;and how it effects the document.&nbsp;Something that&#8217;s sad as I feel that XML namespaces (and especially default namespaces)&nbsp;is something that&nbsp;most people haven&#8217;t fully&nbsp;understood.</p>
<p>Anyway, if you got some spare time watch it or forward it someone you think should watch it. <img src='http://www.richardhallgren.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/xpathmania-and-xpath-on-tv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developing and debugging orchestrations using DebugView and SOAPTrace tools</title>
		<link>http://www.richardhallgren.com/developing-and-debugging-orchestrations-using-debugview-and-soaptrace-tools/</link>
		<comments>http://www.richardhallgren.com/developing-and-debugging-orchestrations-using-debugview-and-soaptrace-tools/#comments</comments>
		<pubDate>Tue, 31 Jul 2007 07:38:33 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[BizTalk 2006]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=127</guid>
		<description><![CDATA[The main problem&#160;I&#160;have with&#160;developing BizTalk&#160;orchestrations is the fact that I&#8217;m so blind when it comes to follow the runtime processing.&#160;Using&#160;the debugger that&#160;is&#160;part of the HAT tool is slow and clumsy which IMHO&#160;makes the tool almost useless in everyday development. But there is hope!
DebugView
Sysinternals&#160;(Windows Sysinternal now -&#160;Microsoft bought them last year) DebugView is a wonderful little [...]]]></description>
			<content:encoded><![CDATA[<p>The main problem&nbsp;I&nbsp;have with&nbsp;developing BizTalk&nbsp;orchestrations is the fact that I&#8217;m so blind when it comes to follow the runtime processing.&nbsp;Using&nbsp;the <a href="http://msdn2.microsoft.com/EN-US/library/aa577988.aspx" target="_blank">debugger</a> that&nbsp;is&nbsp;part of the HAT tool is slow and clumsy which IMHO&nbsp;makes the tool almost useless in everyday development. But there is hope!</p>
<h2>DebugView</h2>
<p><a href="http://www.microsoft.com/technet/sysinternals/default.mspx" target="_blank">Sysinternals</a>&nbsp;(<em>Windows Sysinternal</em> now -&nbsp;Microsoft bought them last year) <a href="http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx" target="_blank">DebugView</a> is a wonderful little tool and is especially useful when it comes to figure out&nbsp;what&#8217;s actually going on inside an&nbsp;orchestration. Basically the tool listens to system wide debug output. From an orchestration it&#8217;s possible to write debug information using the .NET&nbsp;<em><a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.aspx" target="_blank">System.Diagnostics</a></em> namespace and the <a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.debug.aspx"><em>Debug</em></a>&nbsp;or <em><a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.trace.aspx">Trace</a></em> class.</p>
<h3>Decide on how to filter</h3>
<p>There are&nbsp;a couple of&nbsp;handy little tricks that makes DebugView a even better in BizTalk development. First one should try and have something in the debug messages&nbsp;that makes it possible to filter and distinct&nbsp;one&#8217;s own (as DebugView listens system wide debug output&nbsp;all running&nbsp;applications debug info will show up). Our team&nbsp;decided on &#8220;<a href="http://www.sogeti.com" target="_blank">Sogeti</a>&#8221; (our company name)&nbsp;for all our development and to have a method in our BaseLibrary component that outputs something like the below (the BaseLibrary is a small little&nbsp;.NET&nbsp;component with a couple of very useful classes we use company wide in our BizTalk related development).</p>
</p>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:6e0bc4c4-e36d-4073-a097-a0b72182280b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000; ">System.Diagnostics.Debug.WrtieLine(</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">Sogeti, your debug/trace message here</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">)</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>This make is possible to have a filter in DebugView and to for example have it look something like this.</p>
<p><a href="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1debugview133.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="210" src="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1debugview1-thumb13.jpg" width="500" border="0"></a> </p>
<h3>Trace full context of messages</h3>
<p>Another little useful trick is to trace the full context of messages. This is done be&nbsp;storing the message in a&nbsp;<em>XmlDocument</em> typed variable&nbsp;and get the <em>OuterXml</em> property&nbsp;of that variable. The below code is and example of this.</p>
</p>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:5dc56bda-f685-40fa-83aa-1f98f51c6bcb" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 509px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;;overflow: auto;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000; ">tempXml </span><span style="color: #000000; ">=</span><span style="color: #000000; "> msgFindPartyRequest.parameters;
System.Diagnostics.Trace.Write(System.String.Concat(</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">Sogeti, msgFindPartyRequest: </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">, tempXml.OuterXml));</span></div>
</pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
</p>
<p>Example of a full message trace.</p>
<p><a href="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1debugview253.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="224" src="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1debugview2-thumb13.jpg" width="500" border="0"></a> </p>
<h3>To Trace or Debug &#8211; that&#8217;s the question</h3>
<p>As stated earlier both <em>System.Diagnostics.Debug</em> and <em>System.Diagnostics.Trace</em> has methods (<em>Write</em>, <em>WriteLine</em> and so on) for outputting debug information. However there is only one that stays in your compiled code when switching from Development&nbsp;to Deployment compilation mode (guess which one <img src='http://www.richardhallgren.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). So make sure you choose the right class for the right information. I like to have some critical messages left using Trace and be able to trace these even on the test and production server.</p>
<h3>DebugView on a remote desktop</h3>
<p>When&nbsp;running&nbsp;DebugView on an other server (say a test&nbsp;or a production server)&nbsp;using&nbsp;<a href="http://www.microsoft.com/windowsxp/downloads/tools/rdclientdl.mspx" target="_blank">Remote Desktop</a>&nbsp;I&#8217;ve found that ones has to use the <a href="http://firechewy.com/blog/archive/2005/10/18/926.aspx" target="_blank">console user</a>&nbsp;on the server. This kind of makes sense as if we&#8217;re connection &#8220;normally&#8221; we&#8217;re&nbsp;creating a virtual session and that&#8217;s not were the debug information is written to.</p>
<h2>Microsoft SOAP Toolkit 3.0</h2>
<p>This is a totally <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&amp;displaylang=en" target="_blank">other tool</a> than DebugView but I thought it fit here any way.&nbsp;It&#8217;s a handy tool when working with SOAP based messages. Without it&#8217;s very hard to actually figure out how the raw request and response message look and why your orchestration web service is acting the way it does.</p>
<p><a href="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1soaptrace123.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="256" src="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1soaptrace1-thumb3.jpg" width="500" border="0"></a> </p>
<p>The trace tool is placed as a <a href="http://en.wikipedia.org/wiki/Reverse_proxy" target="_blank">reverse proxy</a> between BizTalk and the Internet. It&#8217;s setup by telling the tracing tool which localhost&nbsp;port to listen at (for example 9091 as in the example below) then we&#8217;ll redirect to that port by changing the setting in the BizTalk&nbsp;send port. </p>
<p><a href="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1soapsendport122.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="182" src="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1soapsendport1-thumb2.jpg" width="500" border="0"></a> </p>
<p>Finally we&#8217;ll set up the trace tool to listen to port 9091 and redirect all traffic to our web service URL at port 80 in this case. So basically the trace tool will catch all the traffic hitting the 9091 port and forward it.</p>
<p><a href="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1soaptrace222.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="358" src="http://www.webhostingsearch.com/blogs/richard/wp-content/uploads/2007/07/windowslivewriterdevelopinganddebugingorchestrationsusing-dfd1soaptrace2-thumb2.jpg" width="500" border="0"></a></p>
<p>That&#8217;s it!&nbsp;This is probably basic stuff for most of you but hopefully it&#8217;s useful for someone!&nbsp;</p>
<p>I&#8217;ve also noticed that the SOAP Toolkit is deprecated by Microsoft and I&#8217;d like to hear if anyone used something else (like <a href="http://www.fiddlertool.com/fiddler/" target="_blank">Fiddler</a> example) for tracing SOAP messages. I&#8217;d also love some other tips, tools and&nbsp;methods you use for debugging BizTalk orchestrations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/developing-and-debugging-orchestrations-using-debugview-and-soaptrace-tools/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Reading text value from node using XPath function directly in BizTalk orchestrations</title>
		<link>http://www.richardhallgren.com/reading-text-value-from-node-using-xpath-function-directly-in-biztalk-orchestrations/</link>
		<comments>http://www.richardhallgren.com/reading-text-value-from-node-using-xpath-function-directly-in-biztalk-orchestrations/#comments</comments>
		<pubDate>Tue, 24 Jul 2007 14:10:02 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[BizTalk 2006]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=110</guid>
		<description><![CDATA[The XPath function that&#8217;s available directly&#160;inside BizTalk orchestration is a powerful little tool. However I&#8217;ve seen a couple of project where&#160;developers just grown tired of it and started creating their own little libraries instead. I&#8217;ll be the first to admit that the XPath function&#160;isn&#8217;t perfect, and it sure doesn&#8217;t work&#160;like most of the other&#160;XPath engines [...]]]></description>
			<content:encoded><![CDATA[<p>The XPath function that&#8217;s available directly&nbsp;inside BizTalk orchestration is a powerful little tool. However I&#8217;ve seen a couple of project where&nbsp;developers just grown tired of it and started creating their own little libraries instead. I&#8217;ll be the first to admit that the XPath function&nbsp;isn&#8217;t perfect, and it sure doesn&#8217;t work&nbsp;like most of the other&nbsp;XPath engines (which is the biggest problem)&nbsp;but it&#8217;s still <strong>inside</strong> the orchestration and you can use it to both read and <a href="http://msdn2.microsoft.com/en-us/library/ms963270.aspx" target="_blank">assign values</a>&nbsp;to a message which is super useful! <strong>Basically I don&#8217;t see a valid reason for bringing more complexity into your solution by adding another library</strong> &#8211; as long as you&#8217;re just going to read or set value using XPath. </p>
<p>However there is one trick that you should know of when it comes to reading a text&nbsp;value from a node. Basically you have to use both the <a href="http://msdn2.microsoft.com/en-us/library/ms256180.aspx" target="_blank">string()</a> and <br />text()&nbsp;XPath functions. Both <a href="http://geekswithblogs.net/cyoung/archive/2006/12/12/100981.aspx" target="_blank">Charles Young</a> and <a href="http://www.sabratech.co.uk/blogs/yossidahan/2006/09/returning-text-only-from-xpath-in.html" target="_blank">Yossi Dahan</a>&nbsp;has good post on this subject. Also if your new to writing XPath expressions for complex schemas with loads of namespaces and stuff (like schemas&nbsp;in&nbsp;BizTalk) <a href="http://www.webhostingsearch.com/blogs/richard/nevermind-the-xml-namespaces-in-xpath-expressions/" target="_blank">this post</a> could be useful for you.</p>
<p>Finally&nbsp;a nice tool for writing and testing small XPath&nbsp;expression inside Visual Studio (if you don&#8217;t want to spend x minutes waiting for XmlSpy to start up &#8230;) is <a href="http://www.codeplex.com/MVPXML/Release/ProjectReleases.aspx?ReleaseId=4894" target="_blank">XPathmania</a>. Read about it <a href="http://donxml.com/allthingstechie/archive/2006/07/07/2792.aspx" target="_blank">here</a> &#8211; I use it all the time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/reading-text-value-from-node-using-xpath-function-directly-in-biztalk-orchestrations/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gmail and Opera Mini on the phone!</title>
		<link>http://www.richardhallgren.com/gmail-and-opera-mini-on-the-phone/</link>
		<comments>http://www.richardhallgren.com/gmail-and-opera-mini-on-the-phone/#comments</comments>
		<pubDate>Wed, 13 Dec 2006 11:51:46 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=34</guid>
		<description><![CDATA[A couple of months ago I found the new Gmail mobile application. It&#8217;s a clean small Java application that one downloads to the mobile phone&#160;for accessing the Gmail account.
The application has easy access to almost all of the features that the ordinary web interface has. There was (and probably still are) an mobile version of [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago I found the new Gmail mobile application. It&#8217;s a clean small Java application that one downloads to the mobile phone&nbsp;for accessing the Gmail account.</p>
<p>The application has easy access to almost all of the features that the ordinary web interface has. There was (and probably still are) an mobile version of the web interface but it didn&#8217;t have the easy access to all the different menus as this application has. I really&nbsp;like it and use it several times each day.</p>
<p>The supported devices are listed <a href="http://mail.google.com/support/bin/answer.py?answer=50425" target="_blank">here</a>&nbsp;and to get on your phone all you do is to visit this URL <a href="http://gmail.com/app" target="_blank">http://gmail.com/app</a> with your device.</p>
<p>Another cool little application is the <a href="http://www.operamini.com/" target="_blank">Opera Mini browser</a>. These a full feature list <a href="http://www.operamini.com/features/" target="_blank">here</a>. Basically it transforms the pages so that they fit the mobile screen, and it&#8217;s fast! It also has some special features for navigation on small screens. And it supports RSS bookmarks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/gmail-and-opera-mini-on-the-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BizTalk Deploy Tool</title>
		<link>http://www.richardhallgren.com/biztalk-deploy-tool/</link>
		<comments>http://www.richardhallgren.com/biztalk-deploy-tool/#comments</comments>
		<pubDate>Mon, 11 Dec 2006 14:44:13 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[BizTalk 2006]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=32</guid>
		<description><![CDATA[I&#8217;m currently&#160;working in a stabilization phase on a deployment application for BizTalk 2006 projects. We based the solution on the Enterprise Solutions Build Framework and the BizTalk Explorer Object Model. Basically our solution has a GUI that makes it possible to point out which artifacts one likes to deploy (from the developers&#160;local BizTalk server). 
The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently&nbsp;working in a stabilization phase on a deployment application for BizTalk 2006 projects. We based the solution on the <a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b4d6499f-0020-4771-a305-c156498db75e" target="_blank">Enterprise Solutions Build Framework</a> and the <a href="http://msdn2.microsoft.com/en-US/library/aa559050.aspx" target="_blank">BizTalk Explorer Object Model</a>. Basically our solution has a GUI that makes it possible to point out which artifacts one likes to deploy (from the developers&nbsp;local BizTalk server). </p>
<p>The application then figures out all the dependencies that the selected&nbsp;artifacts has (In our solution an Orchestration for example&nbsp;might have &gt; 20 dependencies to different schemas, pipelines, C# libraries etc, etc).&nbsp;</p>
<p>All&nbsp;DLL:s of the different&nbsp;artifacts are then extracted from the local GAC (where they exist when deployed to the local BizTalk). These DLL:s are then packed in to one single deployment package also containing a single XML file that keeps track of the dependencies and the order of witch they have to be deployed in BizTalk (the most depending schemas first and so on). The XML file also contains other meta data information such as&nbsp;ports the artifacts use etc. </p>
<p>This package is then loaded into another part of the application were it&#8217;s possible to point out the different servers&nbsp;one like to deploy to. This view&nbsp;then&nbsp;shows information about what has to be done on the server to make it possible to deploy without conflicts (One might have running Orchestration or suspended messages for example that has to be stopped or&nbsp;terminated.). At this stage we also check the naming of the different artifacts. These have to comply with the naming conventions that are configured in the config file of the applications (a warning is shown if the artifact doesn&#8217;t validate towards these). </p>
<p>When no warnings (its possible to override a warning)&nbsp;or conflicts are shown one can deploy. We&nbsp;then&nbsp;move the deploy scripts to the servers and use the <a href="http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx" target="_blank">MSBuild</a> tasks in the <a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b4d6499f-0020-4771-a305-c156498db75e" target="_blank">SBF</a> to deploy everything for us. We really saved some serious time with this approach and even if it took us a while to get everything working it&#8217;s been well worth it!</p>
<p>We have a huge feature list for the next phase of the tool and are planing to and support for <a href="http://www.gotdotnet.com/workspaces/workspace.aspx?id=85ef830b-5903-4872-8071-4d4123a5553b" target="_blank">BizUnit</a> tests in the DLL:s (so that one gets a warning when deploying a Orchestration without etc). We also like to add more meta data about the port and make it possible to configure new ports as a part of the deployment process. Etc, etc &#8230;</p>
<p>Feel free to comment or write we line for further information about this approach. It would also be interesting to hear about other approaches for deployment and what kind of features these solutions have.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/biztalk-deploy-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Virtual Desktop Manager in XP PowerToys</title>
		<link>http://www.richardhallgren.com/virtual-desktop-manager-in-xp-powertoys/</link>
		<comments>http://www.richardhallgren.com/virtual-desktop-manager-in-xp-powertoys/#comments</comments>
		<pubDate>Fri, 29 Sep 2006 08:57:21 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=29</guid>
		<description><![CDATA[Today someone complained about Windows XP&#8217;s lack of virtual desktops and that Mac had the possibility to have several desktops active with different content. I remembered that had tried something like that a couple of years ago and&#160;after&#160;a&#160;while&#160;I found Microsoft PowerToys for Windows XP&#160;again. 
The PowerToys package&#160;contains several small XP add-ins. For example the Virtual [...]]]></description>
			<content:encoded><![CDATA[<p>Today someone complained about Windows XP&#8217;s lack of virtual desktops and that Mac had the possibility to have several desktops active with different content. I remembered that had tried something like that a couple of years ago and&nbsp;after&nbsp;a&nbsp;while&nbsp;I found <a href="http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx" target="_blank">Microsoft PowerToys for Windows XP</a>&nbsp;again. </p>
<p>The PowerToys package&nbsp;contains several small XP add-ins. For example the <em><strong>Virtual Desktop Manager</strong></em>!&nbsp; </p>
<p><a href="http://richardhallgren.com/blog/wp-content/uploads/2006/09/WindowsLiveWriter/VirtualDesktopManagerinXPPowerToys_9965/desktops%5B1%5D.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="180" src="http://richardhallgren.com/blog/wp-content/uploads/2006/09/WindowsLiveWriter/VirtualDesktopManagerinXPPowerToys_9965/desktops.jpg" width="240" border="0"></a>
<p>As the image above show the manager makes it possible to have four separate desktops running at one &#8211; nice! A few configurations tips that I found useful was <strong><em>turn of the shared desktops option</em></strong> and to <em><strong>set the shortcut</strong></em> for showing the desktops to <em>alt-§</em> (that&#8217;s close to the <em>alt-tab</em> option).</p>
<p><a href="http://richardhallgren.com/blog/wp-content/uploads/2006/09/WindowsLiveWriter/VirtualDesktopManagerinXPPowerToys_9965/multitask%5B1%5D.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="196" src="http://richardhallgren.com/blog/wp-content/uploads/2006/09/WindowsLiveWriter/VirtualDesktopManagerinXPPowerToys_9965/multitask.jpg" width="240" border="0"></a> </p>
<p>An other cool application in the PowerToys package is the <em><strong>Alt-Tab Replacement</strong></em> that shows&nbsp;a small preview of the different windows one is multi tasking between (as&nbsp;shown in the image above).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/virtual-desktop-manager-in-xp-powertoys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resources &#8230;</title>
		<link>http://www.richardhallgren.com/resources/</link>
		<comments>http://www.richardhallgren.com/resources/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 05:59:16 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=18</guid>
		<description><![CDATA[I&#8217;ve started reading this list. Jisses! There&#8217;s is literally a ton of links to excellent resources here! 
Validation
I&#8217;ll work my way down&#160;the list when I have some more time. However I found this, seems like it could have saved my a lot if I&#8217;d known about earlier. It&#8217;s a package with validation controls for ASP.NET [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started reading <a href="http://www.hanselman.com/blog/ScottHanselmans2006UltimateDeveloperAndPowerUsersToolListForWindows.aspx" target="_blank">this list</a>. Jisses! There&#8217;s is literally a ton of links to excellent resources here! </p>
<p><strong>Validation</strong></p>
<p>I&#8217;ll work my way down&nbsp;the list when I have some more time. However I found <a href="http://www.peterblum.com/VAM/Home.aspx" target="_blank">this</a>, seems like it could have saved my a lot if I&#8217;d known about earlier. It&#8217;s a package with validation controls for ASP.NET for&nbsp;every situation. Looks really good.</p>
<p><strong>Date</strong></p>
<p><a href="http://www.peterblum.com/DateControls/Home.aspx" target="_blank">This</a> seems like another usefull resource. Loads and loads of different&nbsp;date controls. I&#8217;ll have to remeber this site the next time I&#8217;ll nedd one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Regulator!</title>
		<link>http://www.richardhallgren.com/the-regulator/</link>
		<comments>http://www.richardhallgren.com/the-regulator/#comments</comments>
		<pubDate>Tue, 29 Aug 2006 14:26:30 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.richardhallgren.com/?p=16</guid>
		<description><![CDATA[I had to write a few regular expression for a project&#160;today. As always I couldn&#8217;t remember the syntax. After a bit of searching I found this excellent free tool!
It saved me a lot of time. It even generates .NET code.
]]></description>
			<content:encoded><![CDATA[<p>I had to write a few regular expression for a project&nbsp;today. As always I couldn&#8217;t remember the syntax. After a bit of searching I found this <a href="http://tools.osherove.com/Default.aspx?tabid=185" target="_blank">excellent free tool</a>!</p>
<p>It saved me a lot of time. It even generates .NET code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richardhallgren.com/the-regulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
