Book Image

BizTalk Server 2010 Cookbook

By : Steef-Jan Wiggers
Book Image

BizTalk Server 2010 Cookbook

By: Steef-Jan Wiggers

Overview of this book

BizTalk enables the integration and managment of automated business processes within or across organizational boundaries. To build a solid BizTalk solution, deploy a robust environment, and keep it running smoothly you sometimes need to broaden your spectrum, explore all possibilities, and choose the best solution for your purpose. By following the recipes in this book you will gain required knowledge and succeed in your implementation. With BizTalk Server 2010 Cookbook, you can leverage and hone your skills. More than 50 recipes will guide you in implementing BizTalk solutions, setting up a robust and well performing BizTalk environment, and choosing the right solution for monitoring it. As a developer or administrator you greatly benefit from taking these recipes to work. In this book a developer and administrator will see how to deploy, build, and maintain a BizTalk environment. How to apply patterns for robust orchestrations, messaging and testing. Administrators will learn to set up an environment using Microsoft best practices and tools to deliver a robust, performing and durable BizTalk environment. Besides setting up their environments administrators can also decide through a number of recipes how to monitor and maintain the environment. A developer can contribute to a healthy environment by implementing instrumentation in artefacts, applying well suited pattern(s) and testing the solutions built.
Table of Contents (17 chapters)
BizTalk Server 2010 Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Configuring MSDTC for multi-server BizTalk platforms


In a multiserver environment, the BizTalk Server runtime requires MSDTC. The runtime operations need MSDTC support to ensure that the operations are transactionally consistent. The runtime also depends upon some other components, such as SSO, BizTalk host instances, and any SQL Server instances that are connected to the BizTalk Server. In case MSDTC is not functioning properly, these components will get affected.

MSDTC is a component inside Component Services, as shown in the following screenshot:

As you can imagine, it is important in a multi-server environment to have MSDTC properly setup and configured. Especially, the security settings need to be set appropiately. This recipe will show how to use DTCPing and DTCTester to aid you in validating and troubleshooting the MSDTC configuration.

Getting ready

To validate the connection between the BizTalk Server and the SQL Server machines, you can use DTCPing and detect it if a firewall is blocking the access. Distributed Transactions (specifically OleTx transactions) use the Microsoft Remote Procedure Call (MSRPC) protocol to talk to MSDTC on the other machine. You have to make sure that the two machines are able to communicate with each other using the MSRPC protocol. With the DTCPing tool (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&DisplayLang=en) running on both the machines, you can test whether the normal Remote Procedure Calls (RPC) communication is working or not. After testing, download and unzip the file to a destination folder.

Another tool is the DTCTester (http://support.microsoft.com/kb/293799) utility to verify transaction support between two computers, if the SQL Server is installed on one of the computers (multi-server BizTalk environment). The DTCTester utility uses ODBC to verify the transaction support against a SQL Server database.

After you have downloaded the tool, you can run the self-extracting file and place it somewhere on your machine. You will have to create an Open Database Connectivity (ODBC) data source for your SQL Server through the ODBC utility in the Control Panel. DTCTester is a 32 bit tool, and accesses the ODBC for the 32 bit client. If you have a 64 bit environment, do not use the ODBC client that is in the administration console. To access the 32 bit client, you will have to open up c:\windows\syswow64\odbcad32.exe.c:\windows\syswow64\odbcad32.exe.

How to do it...

The following steps describe how to work with DTCPing:

  1. Run the DTCPing tool and in the Remote Server Name type in the right server name and click PING. If everything works fine, you should see the following message being returned by the tool:

    The DTCPing only works with NetBIOS name.

    Refer to the following screenshot:

  2. From the second machine you would see that the ping has been received. Refer to the following screenshot:

  3. From this machine you can ping back to the other machine and the test is complete. Refer to the following screenshot:

  4. DTCTester can be started from the command line, where it has been installed. Execute the following from the command line:

    dtctester <dsn name><user name><password>
    
  5. Replace the values in brackets as appropriate for your environment:

How it works...

When running DTCPing, it will provide output of any success or error messages obtained when attempting to communicate between servers. A ping from one server will be sent to another server, where an instance of DTCPing is running. Result of the ping is displayed in a running instance of DTCPing and from this instance a ping is sent back to the other server. The result of this ping will also be displayed. A user can verify if there are issues with communication between the two servers.

To be able to verify if an actual transaction in a database can be performed, DTCTester comes into play. When running DTCTester, it establishes a connection to the SQL Server by using a Data Source Name (DSN). It also provides the username and password that you provide on the command line by using the default network library. Then, a temporary table is created and the connection is enlisted in the transaction. An insert on a temporary table is done and this transaction is committed. The transaction is verified by the execution of a select statement. Finally, the connection is closed.

There is a clear distinction between both tools. DTCPing focuses on connectivity and DTCTester on transaction. An analogy to these tools is that you could see DTCPing as authentication and DTCTester as authorization.

There's more...

There are some resources regarding MSDTC and BizTalk you can benefit from:

See also

  • Refer to the Managing the SSO system recipe earlier in this chapter