Interesting tech stuff I come across day-to-day. Mainly around Biztalk and .NET 3.0

New Biztalk Server 2004 Technical documents

Thursday, April 21, 2005

Understanding BizTalk Server 2004

BizTalk Server 2004 Performance Characteristics

Developing Integration Solutions with BizTalk Server 2004

Labels:




Direct Binding in Orchestration

Monday, April 18, 2005

Here is a quick tip/example to use direct binding in Orchestration.

It's quite simple if you do it correctly. Or else you'll end with the following error message:
The BizTalk compiler will not allow you to pass an 'implements' port to a 'uses' port parameter, or vice versa. (to find out what is 'implements' and 'uses', there is a great post by Charles Young in his blog)

Say, there are two orchestrations O1 (sender) and O2 (receiver) in the same assembly X.
Say, you define two ports P1 (in O1) and P2 (in O2) of type PT.

When running the port configuration wizard for P1 select "Direct Binding" and select "Port on Partner Orchestration" as "X.O1.P1".
Now, when running the port configuration wizard for P2 select "DirectBinding" and select "Port on Partner Orchestration" as "X.O1.P1". (yes, the same again!)
Aternatively, you could select "X.O2.P2" for both and that will work too aslong as you use the same port to do the direct binding on both ends of the binding.

Direct Binding Works based on the following Promoted Properties:
<Property Name="PartnerPort" Namespace="http://schemas.microsoft.com/BizTalk/2003/system-properties" Value="Send_RFQ" />
<Property Name="PartnerService" Namespace="http://schemas.microsoft.com/BizTalk/2003/system-properties" Value="Saravana.Biztalk.Learning.Orchestration.DirectBinding_Sender, Saravana.Biztalk.Learning.Orchestration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0ae8b79fc00802f5" />
<Property Name="Operation" Namespace="http://schemas.microsoft.com/BizTalk/2003/system-properties" Value="OneWayRFQPT_Opr" />

Labels:




Pipeline Performance

At the moment I'm working on one of the world's biggest civilian project and one of the world's biggest biztalk implementation. In order to achive strict SLA targets each and every milliseconds Biztalk takes inside the processing time frame is really critical for us.

I'm in the process of tuning performance in our custom pipeline component. We are taking different approaches to test the performance. I was experimenting with pipeline.exe -t option to calculate the time it takes after each stage.

I took a default receive pipeline (equivalent to pass through), and run the test with pipleline.exe, following is the result i obtained

Decode Stage: before Execute
Decode Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before Execute
Disassemble Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before GetNextOutputMessage
Disassemble Stage: after GetNextOutputMessage, elapsed time is 00:00:00
Validate Stage: before Execute
Validate Stage: after Execute, elapsed time is 00:00:00
ResolveParty Stage: before Execute
ResolveParty Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before GetNextOutputMessage
Disassemble Stage: after GetNextOutputMessage, elapsed time is 00:00:00

Pipeline execution overall elapsed time: 00:00:00.0311258

so, an empty Biztalk receive pipeline takes 31 millisecond to process without any custom coding on top of it. Of course there are lot of factors going to effect this figure (CPU speed, no of CPU's, memory etc, etc).

My next test will be to find the time from entry point to exit point with simple subscription. Let see how i'm going to achive this.

Labels:




Intersting tips I came across while preparing for the exam.

Here are some of the intersting points I came across while I was preparing for the Biztalk sever partner competency exam:

Point 1:

If you performed a custom installation including Development-only or Administration Tools-only, you must Join rather than Create a BizTalk group during configuration

Point 2:
You can upgrade from Partner to Standard, Partner to Enterprise, Standard to Enterprise, and Evaluation to Enterprise. You cannot upgrade from Developer to Partner, Developer to Standard, and Developer to Enterprise. Downgrades are not supported

Point 3:
Pipeline components should normally not be within the same solution as the projects that use these components, as the components get loaded by the pipeline designer and locked, so compilation would become rather hard

Point 4:
The master message box can only be scaled up but not out

Point 5:
When creating application ssomanage -createapps, in the application xml file set as follows

<appUserAccount>machineName\SSO Affiliate Administrators</appUserAccount >

Specifying any other value will result in Access denied error.

Labels:




My Blog moved to new location

Saturday, April 16, 2005

Hello All,
Thinking in a long term perspective, I've decided to move my blog to my own domain. So, in the future it gives me more flexibility to add more stuff.

Have done the job this weekend. Please update your subscription url to

http://www.digitaldeposit.net/blog

Cheers.

Labels:




Biztalk Health Monitoring Tool

Wednesday, April 13, 2005

The BizTalk Server 2004 Health Monitor tool is a Microsoft Windows® service that is designed to monitor application hosts for active messages based on conditions that are set in the configuration file. The user can specify how long (in hours) messages can be active and how many messages can be active before the tool reports a warning and logs data to a log file. The user also sets the interval time (in minutes) at which the tool should check for messages that meet these conditions.

The purpose of the tool is to help identify messages that are active for a period of time, therefore potentially identifying an unhealthy application host.

Download Location:

The tool is available under the title: BizTalk Server 2004 Health Monitor Windows Service

On the web site: Click here

Labels:




Passed 74-135 Biztalk 2004 Exam

Friday, April 08, 2005

Took the exam this afternoon and cleared it. Phew! One of toughest MS exams I've taken. Just theoretical knowledge will not help to pass this paper.

I feel some of the questions are really easy ones, which you can answer directly without thinking too much for example, having a key file to deploy the assembly (I'm not sure whether its counted to the final score, because in the beginning they gave me this warning saying some of the questions are dummy and doesn't add any marks to the final score).

Some of them are no way related to Biztalk, Example Whats the best way to store SQL username and password encrypted password?

Most of the questions you need to think hard. The questions are almost from breath of the products, some questions from Custom pipeline interfaces, some from Custom Adapter deployment, and even from Hub, Spoke seed.

So, If you are planning to take the exam, my sincere advice is prepare for it, don't just take it. Also, for those who are not aware "Vue is offering second shot free till June", so that gives you some peace of mind.

Good luck guys, I'll probably post a article regarding my exam preparation.

I would like to know if there are any one in UK cleared this exam so far.

Cheers,
Saravana

Labels:




Pipeline.exe for performance Improvement

Sunday, April 03, 2005

I guess many of you guys around will be working with custom pipeline components and I suppose you create biztalk artifacts (send/Receive port) to test your pipeline components.

Along with the SDK install comes this tool pipeline.exe which can be used for the following purposes:

* Debug third-party pipeline components outside of the server environment.
* Diagnose parsing engine error messages.
* Experiment with different schemas without the burden of compiling, deploying, undeploying, and recompiling.
* Explore flat file and XML assembler/disassembler behavior.
* View disassembler output and discover which message context properties are promoted and their values.
* Run send/receive pipelines without disassembler and assembler components (for example, you can view the output of the S/MIME decoder).
* Make fine-grained performance measurements of the pipeline alone (rather than the entire messaging subsystem).


The last point fine-grained performance measurements:

How to do that?

with pipeline.exe command line option, there is an option called "-t", which outputs the elapsed time after executing each stage. This is really helpful to see how much time it takes after each stage.

In my current project, we ended up changing lot of stuff inside an Disassembler component, this is the only way I can prove the new component is much more performant than the old version.

Look at the following command line entry and the output from a test project, now you know what I'm talking about.

C:\Program Files\Microsoft BizTalk Server 2004\SDK\Utilities\PipelineTools>Pipeline.exe "C:\My Stuff\Saravana.Biztalk.Learning\Saravana.Biztalk.Learning.Pipelines\TestReceivepipeline.btp" -d "C:\My Stuff\Saravana.Biztalk.Learning\Sample Messages\pipelinecomponenttest.xml" -c -t

Decode Stage:
before Execute Encode Pipeline Component pipeline component:
before Execute Encode Pipeline Component pipeline component:
after Execute, elapsed time is 00:00:00.0100144
Decode Stage: after Execute, elapsed time is 00:00:00.1001440
Disassemble Stage: before Execute
Disassemble Stage: after Execute, elapsed time is 00:00:00
Disassemble Stage: before GetNextOutputMessage
Disassemble Stage: after GetNextOutputMessage, elapsed time is 00:00:00
Validate Stage: before Execute
Validate Stage: after Execute, elapsed time is 00:00:00
ResolveParty Stage: before Execute
ResolveParty Stage: after Execute, elapsed time is 00:00:00

HTH

Labels:




Windows 2003/XP Laptop /LCD screen users

Saturday, April 02, 2005

Have you heard of ClearType?

ClearType is a font smoothing technology build on XP/2003. I been using Windows 2003 for a while now in my laptop, but haven't used this feature till I came across a post by accident when I was looking for some Biztalk Resources.

Follow this simple steps and I'm sure you'll be so delighted to see your screen after this.

Right click on the desktop and go to Properties
Click the Appearance tab
Click the Effects button
Select ClearType in the drop down list associated with "Use the following method to smooth ..."
Click Apply or OK

Enjoying using your screen now :)

Labels: