BizTalk Server 2010 Cookbook: Review

Recently I had a chance to review BizTalk Server 2010 Cookbook by Steef-Jan. I really enjoyed reading the book.  I must say,It is well written and covers most of the important areas of BizTalk Server. The Book is equally interesting for Developers/Architects and Administrators.

In my opinion writing a technical book requires a lot of hard work and passion about the techonology, Steef-Jan has done a great job.

Structure

I really like the way the book is organised and my favourite is “There’s more” section. That is the thing which makes the book different. The structure is very nice and basic as:

  • Subject/problem – we first read about a topic or a problem/requirement
  • Getting ready       – then we see how we should get ready for the solution
  • How to do it         – then we see how to resolve the problem
  • How it works       – then we understand the solution
  • There’s more        – and yes there are more things related to our subject/problem/solution etc.
  • See also                 – this gives more information about the topic.

Chapters

  • Chapter 1– You will learn some of the most important things about starting/setting a BizTalk project & environment. Some of them are like
    • Requirement Gathering
    • Creating a solution Design
    • Tools to benchmark BizTalk Server Installation
    • Performance Analysis Tool (PAL)
    • SSO/MSDTC etc
  • Chapter 2– You will learn Patterns in this chapter, standard ways for designing BizTalk solutions. It is Well written with great examples.
  • Chapter 3– This is my favourite, You will learn about instrumentation/logging/tracing/error handling and in-depth about solution deployments.
  • Chapter 4–  You will learn about security and message encryption here. I really enjoyed reading this, it was very much useful for me.
  • Chapter 5–  The BizTalk and all about WCF. the examples are great and the subject is very clear.
  • Chapter 6–  All about BizTalk and AppFabric at one place. This was new for me, So I really enjoyed reading this chapter.
  • Chapter 7–  Very important one and well explained about BizTalk Server monitoring. This is very useful for the BizTalk administrators.
  • Chapter 8–  You will learn about BizTalk and the use of Business Rule Engine in BizTalk Solutions.
  • Chapter 9–  This is again very useful chapter dedicated for testing BizTalk solutions. MapTest framework and BizMock were new for me. I really enjoyed the examples, they were great!

My Conclusion

I would highly recommend this book to anyone who is working/interested or planing to work with BizTalk Server. This book is highly recommended for Developers as well as Administrators and Architects.

There is more

BizTalk Server community is  great! There is already some great review comments available about the Book, See the below list( there is no particular order). I would really recommend you to read them.

Thanks for reading 🙂

BizTalk Server: Few basic changes for performance optimization

There are tons of recommendations and guidelines to tune the BizTalk Server to achieve the required performance, however there are few basic and very common things which we always miss while setting up a new environment

I have published a technet wiki article about “BizTalk Server: Tuning and Optimization” however below are few which is very basic and should always be kept in mind IMO.

  • Host Distribution Scheme : There should be a host creation schema for the BizTalk environment, before creating anew host , It is always necessary to decide the right Host Instance Node within a BizTalk group. following should be some basic points while creating a host instance and a new host
       1- Do we really need a new Host?
       2- What about using an existing Host and create a new Host Instance rather.
       3- What is the current load on target BizTalk node , where the new host instance is going to be created
       4- Always maintain a list of Host and they Host instance deployed by application. It will be easy to get the idea
  • Group Level Tracking – Group level tracking should be turned off.
  • BizTalk Database health – It is always necessary to keep an eye of the BizTalk group database server and its Jobs. Make sure the jobs are always running and there are no error in the SQL Agent logs.
  • Dedicated Tracking Host – There should be a dedicated Tracking host for BizTalk group.
  • Log and Data Files- data and log files of the BizTalk SQL server should always be on a separate drive.

Following are my main resources when i am dealing with Performance issues:

  1. General BizTalk Server Optimizations
  2. BizTalk Server: Performance Tuning & Optimization

Thanks for reading!

New Technet wiki “BizTalk Server:Performance Tuning & Optimization”

In the series of Technet WIki articles , I have published my another article today “BizTalk Server: Performance Tuning & Optimization” It is all about BizTalk Server performance optimization and tuning. The article features following things which might be helpful while working with performance tuning and optimization with BizTalk Server product.

  • Identifying Performance bottlenecks
  • Guide of resolving performance issues
  • MSDN articles and Guide about performance tuning
  • Various articles about optimizing BizTalk server code and solutions
  • Links to various Blog Posts about tuning and optimization

Feel free to read and contribute!!

Thanks for reading!

My New Article on Technet-Microsoft BizTalk Server:ESB Survival Guide

In the series of Technet WIki articles , I have published my another article today “Microsoft BizTalk Server:ESB Survival Guide“. It is all about BizTalk Server and ESB. The article features following things which might be helpful while working with ESB and BizTalk.

  • Installation and Configuration of ESB
  • Links to various Blog Posts about configuration issues and Samples
  • MSDN links for the installation and Overview

Feel free to read and contribute!!

Thanks for reading!

DebugView Not working on Windows 7 64 bit

Mostly I use DebugView while developing my BizTalk projects for quick trace and logging purpose. However recently I had a strange experience with DebugView.

I started my BizTalk application of one of our Windows 7 machine and DebugView was not showing any output while execution. I dig a lot ,however nothing was working for me and it was becoming very touch for me to follow the trace of the application.

Then after trying different settings on DebugView, it finally started to show the output. The settings which i changed on DebugView is:

  • Started running DebugView with administrator rights on machine
  • Enabled “Capture Global Win32” from the menu.

Please see this blog post, about how to use DebugView.

Thanks for reading!

BizTalk Rule Engine Policies Not Working

I recently created one policy and deployed on my another development Box, But it was strange, because it was not modifying my input XML.

I checked the logic of my rule and imported few times, Also restarted my Rule Engine Services, however it did not work for me. The only change which i was doing is, deploying on a different operating system. My other development Box was running Windows 7, 64 bit.

I searched a lot about the issue but did not find much information.

My Rule us using XmlHelper class to modify the input xml using some decisions based on the supplied values in xml file.

Finally after searching more about this class, I figured out the problem and fixed it. The steps are below:

  • I had to make some changes in my registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BusinessRules\3.0\StaticSupport

  • I created the key and it started working fine.

About the Registry Key:

I had to set the value 2 of the above registry key, which tells BizTalk Rule engine to support usage of static objects , details are:

  • 2 – An instance of the object is NOT required, but the static method will be called at rule translation time (only if the parameters are constants). This is primarily meant as a performance optimization. However, note that static members used as actions will NOT be executed at translation time, but static methods used as parameters may be.

The Key was not there in my registry So i have created and set the value 2, It started working.

Finally I found more details about this problem in a blog post here by Richard. Please see the blog post for more details.

My First Article on Technet-BizTalk Server:Integration with MQ Series

I have published my first article on Microsoft Technet site today. In summary the article covers following points

  • What to use MQSC or MQSeries Adapter
  • List of common Hot fixes from Microsoft related with MQ Adapter
  • List of useful MSDN articles
  • List of useful discussions on msdn social forum
  • List of useful blog post by BizTalk community members

Please feel free to read and update the “BizTalk Server:Integration with MQ Series” wiki article.

Minimum BizTalk Hotfixes on Production Servers

If you have Microsoft BizTalk Server 2006 R1 on you production farm, I would recommend you to deploy following hot fixes.

KB 943165

KB 944426

KB 944838

KB 944158

KB 970070

    Always Check MS documentation before doing these on production.
    Thanks

    How to Debug BizTalk custom Pipeline component,Simple way

    When i did a Google of  “how to debug a custom pipeline” and i found following top 3 results

    http://www.biztalkgurus.com/blogs/biztalksyn/archive/2007/03/06/Custom-pipeline-component-debugging.aspx

    http://blogs.msdn.com/b/gzunino/archive/2004/07/01/171281.aspx

    http://blogs.msdn.com/b/skaufman/archive/2004/06/22/162421.aspx

     

    All the above link says common approach of using pipeline.exe or attaching BTSNTSCv.exe with visual studio.

    I have found a better and simple way of debugging custom BizTalk Pipeline component in Visual Studio.

    • Insert System.Diagnostics.Debugger.Break(); in the method where you want to break the debugger.
    • Build the solution in “Debug Mode”.
    • Copy the DLL of the component and paste it in %program files%Microsoft BizTalk Server 2006\Pipeline Components
    • Restart the BizTalk host
    • give the input to the receive location and it will launch the code in debug mode.

    Installing BizTalk 2010 On A Development Box-1

    For building a BizTalk 2010 Development machine following components will be required

    1. Windows 7 ultimate
    2. Visual Studio 2010 professional Edition Trial
    3. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=26bae65f-b0df-4081-ae6e-1d828993d4d0&displaylang=en

    4. SQL Server 2008 Enterprise Edition Trial
    5. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=265f08bc-1874-4c81-83d8-0d48dbce6297&displaylang=en

    6. SQL Server 2008 SP1
    7. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19&displaylang=en

    8. BizTalk Server 2010 Developer Edition
    9. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=938102b8-a677-4c20-906d-f6ae472b3a6a