BizTalk XHTML Formatted Messages

BizTalk messages are very XML centric. A while ago there was a requirement to produce a neatly formatted XHTML report, which was destined to be emailed. At the time I stumbled across a customised version of the XslTransform pipeline component which ships with the BizTalk SDK. It demonstrates how to apply an XSLT transformation in the pipeline. The customised version I was playing around with, pulled up XSLT from a SQL data store. Regardless of where or how the transformation be done, we needed to produce an XHTML document as a result. The thing with XHTML is that is it just that. Its XML. A XSD schema can be produced from a well formed piece of XHTML. Therefore it is possible to create a strong message type (e.g. FooReport.xsd) which can then be pub/sub’ed with BizTalk. ...

December 21, 2008 · 1 min

BizTalk 2006 Install Problems on Windows XP

Today while doing some vanilla BizTalk 2006 R2 installs, discovered the installer was choking with: Error 5003.Regsvcs failed for assembly C:\Program Files\Microsoft BizTalk Server 2006\Microsoft.BizTalk.Deployment.dll. Return code 1. Awesome. Other cases of a malfunctioning regsvcs executable have been reported. For reasons that remain unknown to me regsvcs.exe stop functioning following the installation of SP1 for VS.NET 2005 and the .NET 2.0. regsvscs.exe appeared to be intact, but invoking any of it functionality (including listing its command line help) would return nothing—hence the return code 1 problem. ...

December 21, 2008 · 1 min

R&D Todo List

Now my post-grad studies are finalised ive got some spare time to inject into technology. I plan to inject some solid hours into running through the .NET 3.0 certification stream. Some areas that currently excite me, which I hope to spend more time with: ASP.NET MVC Advanced Windows Debugging Azure/Oslo/Dublin BizTalk Server 2009 Claims Security and BizTalk JQuery JSON/POX WCF EndPoints MsBuild NServiceBus OpenId PKI and BizTalk PowerShell SharePoint Services UDP Multicast based Pub/Sub Engine Workflow Foundation

December 17, 2008 · 1 min

Font Smoothing with Remote Desktop and Windows Server 2003

Microsoft has recently released a hotfix to enable font smoothing over remote desktop (RDP). If your addicted to font smoothing (aka ClearType) you will love this hotfix. At least Service Pack 1 is needed in order to install hotfix KB946633 on Windows Server 2003. On the client side you need at least RDC 6.0. In order for ClearType font smoothing to work it needs to be enabled per computer, on the remote desktop client and the user profile on the terminal server. ...

November 23, 2008 · 1 min

Why Enterprise Service Bus?

To provide a messaging infrastructure that will: Break the communication complexity problems associated with distributed software, such as the ability to deal with ongoing change, providing management mechanisms for the complex sea of distributed service interactions that typically take place in today’s IT environment. Provide reliable end-to-end messaging. Apply distributed software security. To provide a configurable, reusable architecture. Deal with common messaging problems generically—i.e. routing, transformation, exception handling and unification. Enforce consistency and unification. Leverage modern standards. Support legacy standards and interaction. Promote agility, through increased abstraction and loose coupling. Speed implementation turn-around, through configuration versus coding.

October 4, 2008 · 1 min

ESB Guidance - Dynamic Resolution

The goal of dynamic resolution is to avoid defining end-points anywhere statically. The responsibility of carrying and managing this knowledge, which is specific to the interaction, is frequently given to the consumer. That is, the consumer statically binds to the service endpoint/s that is consumes. If the responsibility be lifted from the consumer (or providers) itself, and given to an intermediate layer, such as the ESB, the byproduct are mechanisms for coping with change and dealing with infrastructural complexity. While the concept may appear to be trivial, its contribution toward providing a more managed distributed environment (many interacting end-points and data exchanges, etc) is significant. ...

September 10, 2008 · 5 min

Sequential Receives

Today I came across an interesting compile time error, given a scenario I had never exercised before. I had a vanilla orchestration that was receiving the same message type (same schema different message instance) using two different receive ports. I wanted to correlate the orchestration, so the first receive shape was set to activate with an “Initialising Correlation Set” and the second receive shape was set with a “Following Correlation Set”. This setup produced the following compile time error: ...

September 2, 2008 · 2 min

ESB Guidance Package

Lately I’ve been having heaps of fun playing with what’s known as the “ESB Guidance” (ESBG). A community/open source driven initiative as an attempt to fill the gap Microsoft currently have in the SOA/ESB space. At a high level it augments its existing messaging/integration engine, BizTalk Server, by adding extended functionality. The ESB guidance aims to: Demonstrate how to implement an ESB pattern using BizTalk Outline best practices Reduce the amount of “plumbing” clients would have to implement themselves Reduce the total cost and effort of an ESB implementation As of the November 2007 release it contains: ...

August 29, 2008 · 6 min

Recent Orchestration Activity

Here is a simple TSQL query for the BizTalk tracking database, to summarise the orchestration instantiation head-count for a given host. Your mileage with this query may vary depending on how frequently your tracking data archive job is scheduled for (i.e. this query might not have much data to work with if the data has just been archived and purged). SELECT [Service/Name], COUNT(*) FROM dbo.dtav_ServiceFacts sf WHERE [Service/Type] = 'Orchestration' AND [ServiceInstance/Host] = 'FooHost' GROUP BY [Service/Name] ORDER BY 2 DESC

July 27, 2008 · 1 min

XLANGMessage Deserialization Issues

There have been a few scenarios where the complexity of using a standard BizTalk map, have far outweighed using some custom code. This approach, prescribed in Professional BizTalk Server 2006 as the “Manual Mapping” technique, involves code generating types (xsd.exe) from the message schema and using some simple BizTalk object model to stream-in the message, craft a response and return it back to the BizTalk runtime. C# snippet: ...

July 27, 2008 · 2 min