BizTalk Customer Advisory Team Presentations
Download Microsoft PowerPoint presentations from the BizTalk Customer Advisory Team:
- BizTalk Server 2009: Performance Characteristics on Hyper-V and Physical Platforms; Ewan Fairweather and Paolo Salvatori
The BizTalk Customer Advisory Team quantifies performance of BizTalk Server 2009 vs. BizTalk Server 2006 R2, as well as performance of BizTalk Server 2009 on Hyper-V. The team also provides guidance on how to effectively do performance testing of BizTalk Server 2009. - BizTalk Server 2009 Performance; Ewan Fairweather, Tim Wieman, and Paolo Salvatori
The BizTalk Customer Advisory Team provides examples of successful performance labs. The team also provides information about the tools, techniques, and processes that were used to run effective BizTalk Server performance labs. - BizTalk Server End-to-End Performance Testing Guidance; Ewan Fairweather and Paolo Salvatori
The BizTalk Customer Advisory Team discusses how they run BizTalk performance assessments, demonstrate tools and techniques that used during the assessment, and introduce the BizTalk Server Performance Optimization Guide. - BizTalk Hyper-V Virtualization Guidance; Ewan Fairweather and Clint Huffman
The BizTalk Customer Advisory Team shares best practices for using BizTalk Server with Hyper-V. They also provide guidance on the performance characteristics of BizTalk Server on Hyper-V, and introduce the BizTalk Server Hyper-V Guide.
Tip of the Month
Excerpt from Paolo Salvatori’s blog
Four Different Ways to Process an XLANGMessage within a Helper Component Invoked by anOrchestration: Part 1
One of the most common scenarios in BizTalk applications is when an orchestration receives and processes an incoming XML document to produce a result message. Sometimes the latter can be generated just transforming the inbound message with a map. However, in other cases, the orchestration has to invoke a method exposed by a helper component that contains the necessary business logic to process the request document and produce a new XML response message. Usually the signature of this method is similar to the following code snippet.
public XmlDocument ProcessRequestReturnXmlDocument(XLANGMessage message)
As you can see, the method above does not return an XLANGMessage object as expected and the reason is quite straightforward: the only constructor exposed by the XLANGMessage class contained in the Microsoft.XLANGs.BaseTypesassembly is protected and inaccessible to user code. Developers commonly use XmlDocument to read the entire content of an XML message part using a single line of code (document.DocumentElement.OuterXml). They also use it to access the value of one or multiple elements using an XPath expression and the SelectSingleNode/SelectNodes methods exposed by the class. Using an instance of the XmlDocumentclass to manipulate the content of an XLANGMessageis a flexible and handy technique. However, it can easily lead to out-of-memory exceptions when dealing with large messages or with a significant amount of medium-size messages in the same host process. In fact, the use of an XmlDocumentinstance forces the message content to be entirely loaded into memory to build the object graph for the Document Object Model (DOM). The total amount of memory used by a single instance of this class can grow up to 10 times the actual message size. For more information, see the following articles:
Paolo Salvatori created a sample to compare the different techniques that can be used when invoking a helper component in an orchestration to process the request message and produce a response XML document. See his blog post for four use cases that have been fully tested on both BizTalk Server 2009 and BizTalk Server 2006 R2. Additionally, you can find a pointer to the BizTalk Server 2009 version of the code.
Get more tips >