Friday, January 29, 2010

Benchmark my VPC

My colleague Gijs (BizTalk MVP) pointed me towards benchmark tool for BizTalk. This wizard checks the performance of your BizTalk Server installation using pre-existing scenarios and validates it against some known results. I thought I will give it a spin on my VPC (sandbox BizTalk 2009 environment with SQL Server 2008 Enterprise and Windows 2008 Enterprise). Installation process is describe on this blogpost. Run script:

Install Bench

If follow up the rest of process and you have your Benchmark tool set to go. Start Wizard, give correct database name, let check prerequisites and select a scenario:

Scenario Wizard

In this case a Single Server Installation with orchestration with singel messagebox.

Scenario Wizard 2

Scenario Wizard 3

Fill in details (server name, test duration), start Indigo service.

Scenario Wizard 4 

Test service:

Scenario Wizard 5

Run the test:

Scenario Wizard 6

and then finally the results as test is running:

Scenario Wizard 7

Scenario Wizard 8

This test runned inside my VPC, with 1024 Mb memory and 1 CPU (Centrino Vpro Dual Core). Test did succeed completly:

Scenario Wizard 9

I finished with report that creates PDF for you. I must say I am very pleased with this tool, easy to install and to setup tests via a scenario. Of course this is just a single machine and representative for a real scenario (i.e. High availability). I will use it again soon when I am going to set a high available environment (clustered SQL 2008, two BizTalk instances).


Technorati:

Monday, January 25, 2010

Microsoft Hotfix BizTalk Server 2009/VS 2008

I am currently quite active on BizTalk forums and must say it is a great experience for me helping out people in field. It gives me great satisfaction to be able to share some of experience and knowlegde around BizTalk Server and integration. You see some people having difficulties around VS 2008 and BizTalk Server 2009: like broken schema references. There is a hotfix out that will, I quote:

“On a computer that is running Microsoft BizTalk Server 2009, you use Microsoft Visual Studio to develop a BizTalk application. In your BizTalk project, you add a reference to another BizTalk project. In this scenario, you may see the following behavior:

  • The orchestrations in the referenced BizTalk project may show compiler warnings.
  • The changes that are made to the referenced BizTalk project are not propagated on to the referencing project.
  • When you edit the orchestrations of the referenced project, XLANG errors are thrown. These errors may disappear after the orchestrations are saved and recompiled.
  • After you deploy the referencing project, the local copies of the referenced project’s binaries are deleted.
  • After you deploy the referencing project, various errors or warnings occur in Orchestration Designer.”

belong to the past. You will need to send request to Microsoft to download it. Once you have it you can apply it on your machine. Extract hotfix zipfile type in password Microsoft has sent via email (with download link).Apply hotfix

You can check if has applied it by going to file directory of Microsoft.visualstudio.biztalkproject.dll (see screen below).

Apply hotfix 2

Hopefully this hotfix will give BizTalk Developers less pain and make them more productive.


Technorati:

Saturday, January 23, 2010

BizTalk and MSDTC

Microsoft Distributed Transaction Coordinator (MSDTC) is an important component in a BizTalk environment. Especially in multi-server environment it is mandatory and needs to setup and configured properly before one starts configuring BizTalk features like group, BRE or BAM. During configuration of these BizTalk features, databases like BizTalkMsgBoxDb, BizTalkMgmtDb, BizTalkDTADb (tracking archiving), BizTalkRuleEngineDb, or BAMPrimairyImport and other (BAMStar, ect) are created on database server. MSDTC is component inside Component Services (Windows 2003, Windows 2008). Below is a screen from DTC inside Component Services Windows Server 2008.

DTC 

By right clicking Local DTC you can configure it via three tabs (Tracing, Logging, and Security). To enable MSDTC on Windows Server 2003 or 2008 you can find that on this MSDN page.

Below is a screen from DTC inside Component Services Windows Server 2003.

MSDTC W2K3

There are three tabs available and first on is Tracing (this accounts W2K8):

DTC Tracing

Above screens show default settings (and is first tab shown if you right click local DTC –> Properties). There is an excellent explanation via official Distributed Services Support Team blog that explains what you can do here. Second tab is Logging:

DTC Logging

This tab self explanatory I think. The Microsoft Distributed Transaction Coordinator (MS DTC) log file is in the %windir%\system32\Msdtc directory by default. More on choosing where to put log file you can find here. The third tab is the most important one having DTC work properly:

DTC Security 

Note: DTC account can be changed, look here how and consider if it is necessary. It can be tricky depending on Operating Systems you are working.

Depending on your Operating System you need to set the following settings (above shows the default settings on Windows 2008).

 

Configuration Option Default Value W2K3 Default Value W2K8 Recommended value
Network DTC Access Enabled Enabled Enabled
Client and Administration      
Allow Remote Clients Disabled Disabled Disabled
Allow Remote Administration Enabled Disabled Disabled
Transaction Manager Configuration      
Allow Inbound Enabled Enabled Enabled
Allow Outbound Enabled Enabled Enabled
Mutual Authentication Required Disabled Disabled Enabled if all remote machines are running Win2K3 SP1 or XP SP2 or higher.
Incoming Caller Authentication Required Disabled Disabled Enabled if running MSDTC on cluster.
No Authentication Required Disabled Disabled Enabled if remote machines are pre-Windows Server 2003 SP1 or pre- Windows XP SP2.
Enable XA Transaction Disabled Disabled Enabled if communicating with an XA based transactional system such as when communicating with IBM WebSphere MQ using the MQSeries adapter.

To validate the connection between BizTalk Server and SQL Server machines you can use DTCPing. Also take into consideration that firewall can block access. To configure firewall on W2K3 you can go here and for W2K8 here.

Besides DTCPing there is also a tool called DTCTester. Latter utility is to verify transaction support between two computers, if SQL Server is installed on one of the computers. The DTCTester utility uses ODBC to verify transaction support against a SQL Server database. For more information about DTCTester see How to Use DTCTester Tool. DTCPing is to verify transaction support between two computers, if SQL Server is not installed on either computer. The DTCPing tool must be run on both the client and server computer. For more information about DTCPing, see How to troubleshoot MS DTC firewall issues.

To troubleshoot MSTDC you can also find valuable information at this MSDN page and summary of other useful tools here. I hope that if you are building a multi-server BizTalk environment that this information gathered here can help you setup and configure MSDTC properly before you start configuring BizTalk features.


Technorati:

Friday, January 01, 2010

BizTalk Server 2006 R2 Exam

I like to wish you all a happy new year to start with. Before end of 2009 I passed the 70-241 BizTalk exam. This exam has been around for quite a while and I kept postponing to take it for a long time, but I finally decided to take it. So now my logo looks like this (maybe not exciting and many of you may have similar logo’s but still I am proud to have achieved this):

MCTS(rgb)_1268_511 

As soon as there will be an exam for BizTalk 2009 I will take sooner and not wait for ever :).