by community-syndication | Sep 21, 2007 | BizTalk Community Blogs via Syndication
To identify performance issues in a BizTalk solution, you should rely on the performance counters that BizTalk Server uses. All the BizTalk performance counters should be added to the registry when you run the configuration wizard. If the registry keys were overwritten somehow, those performance counters were gone. You could use the configuration wizard to recreate those missing BizTalk performance counters, but it requires reconfiguring the features that use the performance counters. To do so you should unconfigure them first, which is something you might not want to do. Even though it is undocumented, you can manually populate those resister keys for the missing performance counters.
There are two types of the performance libraries that BizTalk Server uses:
1. BTSPerfMonExt.dll for the performance objects that the unmanaged code of BizTalk Server uses.
2. netfxperf.dll for the performance objects that the managed code of BizTalk Server uses.
- Note: netfxperf.dll is a .NET framework component. It is shared for all .NET performance counters. For more information about netfxperf.dll see .NET Performance Counters.
The following tables shows which performance library is used for each BizTalk performance object:
| Object |
Performance Counter Library |
Installer |
| BizTalk:Message Box:* |
netfxperf.dll |
Microsoft.BizTalk.MsgBoxPerfCounters.dll |
|
BizTalk:Message Agent BizTalk:File Receive Adapter BizTalk:File Send Adapter BizTalk:HTTP Receive Adapter BizTalk:HTTP Send Adapter BizTalk:POP3 Receive Adapter BizTalk:FTP Receive Adapter BizTalk:FTP Send Adapter BizTalk:MSMQ Receive Adapter BizTalk:MSMQ Send Adapter BizTalk:SOAP Receive Adapter BizTalk:SOAP Send Adapter BizTalk:SMTP Send Adapter BizTalk:SQL Receive Adapter BizTalk:SQL Send Adapter BizTalk:Messaging BizTalk:Messaging Latency
|
BTSPerfMonExt.dll |
BTSPerfMonExt.ini BTSPerfMonExt.h |
BizTalk: BAS TPM Management Web Service
|
netfxperf.dll |
Microsoft.BizTalk.KwTpm.TPMgmtWSPerf.dll |
| BizTalk: BAS TPM Publishing Web Service |
netfxperf.dll |
Microsoft.BizTalk.KwTpm.TPPubWSPerf.dll |
| BizTalk:Windows SharePoint Services Adapter |
netfxperf.dll |
Microsoft.BizTalk.KwTpm.WssAdapter.Runtime.dll |
| BizTalk:TDDS |
netfxperf.dll |
Microsoft.BizTalk.Bam.EventObservation.dll |
To recreate the performance counters using netfxperf.dll, you can use InstallUtil.exe in the .NET Framework. If the assembly is installed in the GAC, you can run InstallUtil.exe as follows:
Installutil /i /assemblyname “<InstallerFileName>, Version=<VersionNumOfTheInstaller>, Culture=neutral,
PublicKeyToken=<PublicKeyOfTheInstaller>“
For example,
InstallUtil /i /assemblyname “Microsoft.BizTalk.MsgBoxPerfCounters, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”
If it is not, you can run InstallUtil.exe as follows:
InstallUtil /i <Installer>
For example,
InstallUtil /i Microsoft.BizTalk.KwTpm.TPMgmtWS.dll
To recreate the performance counters using BTSPerfMonExt.dll, you can use lodctr.exe and unlodctr.exe as follows:
1. Copy the BTSPerfMonExt.ini and BTSPerfMonExt.h files to the %windir%\system32 folder.
2. At a command prompt, go to the the %windir%\system32 folder, and then type the following command to uninstall the damaged performance counters.
unlodctr “BTSSvc.3.0”
3. Then, type the following command to reinstall the BizTalk performance counters:
lodctr BTSPerfMonExt.ini
Thanks,
Young
by community-syndication | Sep 21, 2007 | BizTalk Community Blogs via Syndication
“The best reason to blog something is so that you can Google your own brain.”
— Poorly paraphrased Scott Hanselman, yet so very true.
In that spirit, today I’m posting a reminder of a very useful trick for promoting
properties out of Orchestrations. Kudos go to Saravana
Kumar and David
Hurtadofor posting about this long before I did, but I record this information
here to make sure I can find it when next I need it.
Normally when you assign a value to a message context property from within an Orchestration,
that property is not promoted, even if it was promoted prior to you assigning a value
to it. In order to promote a property within an orchestration we use an “elegant
hack” as detailed below:
-
Create a new Correlation Set, and as such likely a new Correlation Type, which contains
the property or properties which you wish to promote.
-
When you use a “Send” shape in your orchestration, there is a property called “Initializing
Correlation Sets”, check off your new Correlation Set from the drop down on this property.
-
Rejoice, you have now promoted those properties.
Now before anyone asks, no this does not create orphaned subscriptions in the Message
Box, we are never creating a Receive using this Correlation Set so
we’re never creating a subscription. This can be very useful, in particular
I’ve used it just this week on a 2006 R2 project I’m working on to enable batching
from an Orchestration. That is a long story, but the short version is we’re creating
a new message in the Orchestration which we then intend to immediately queue for batching,
so we need to promote these properties without ever having passed through a pipeline
with this message.
by community-syndication | Sep 21, 2007 | BizTalk Community Blogs via Syndication
If you’ve been in the BizTalk world long enough, you’ve probably heard that you can securely store name/value pairs in the Enterprise Single Sign-On (SSO) database. However, I’ve never been thrilled with the mechanism for inserting and managing these settings, so, I’ve built a tool to fill the void.
Jon Flanders did some great work […]
by community-syndication | Sep 20, 2007 | BizTalk Community Blogs via Syndication
As the saying goes, there’s always a first time, and this blog entry is a first for me.
My name is Thiago Almeida, I work for one of New Zealand’s largest IT companies as one of their senior integration specialists using Microsoft technologies. I work most of the time with Microsoft BizTalk Server (Mainly 2006 and […]
by community-syndication | Sep 20, 2007 | BizTalk Community Blogs via Syndication
A whirlwind (and extremely exciting!) 2 weeks it has been as we launch BizTalk server RFID world-wide and I wanted to share with you the excitement and the rich, robust RFID solutions (from the Enterprise to the SMB) that are being enabled world-wide…(read more)
by community-syndication | Sep 20, 2007 | BizTalk Community Blogs via Syndication
In transit with a little time to spare I thought I’d share some thoughts around an
area that is set to boom in the near future – ‘Business Activity Monitoring’
I know you must be thinking – What? why? who….? what’s Mick on about.
Let’s have a quick chat on my thoughts:
-
Within the next 3 yrs there is going to be even less ‘custom raw
code’ being written and more ‘integration code’ within the MS product stack. Of course
there will be specific needs, but in general across the board for business related
applications – why build it from scratch? will be the reasoning.
We can see this today heavily with the Sharepoint boom – why build an ASP.NET app
when you can plug your bits into a WSS V3.0/ASP.NET app?
Many other products such as OCS, Speech Server, MOSS etc etc. are all conducive to
integration code. (If you don’t have to write 20 000 lines of code – integrate and
customise and write 2000. But us developers want to do everything by hand….so in
some ways, we’re our own worst enemy)
It would not be uncommon to have several products making up a solution.
How do we keep an eye on that? (We could send the work experience kid around the the
servers to make sure they are all running well? but how many work exp. kids do we
have?)
-
BizTalk Services – if we look at the increasingly important role
that BizTalk is playing within organisations in providing THE Application Server where
WCF Services, Business Processes etc can all be hosted within. Out of the box slicing
and dicing of load/capacity and so on. (It will be an interesting time when the finer
details are nutted out with IIS 7 WAS – who does what)
As we start building all sorts of systems that require point to point or connectivity
between the components, typically we would look to WCF to provide that glue while
conforming to standards (e.g. WS-*) future proofing extensions.
We would then need to house those WCF Services and IIS could be an option…… BTS
provides fault tolerance and durability around these services as well.
BTS provides not only connectivity at the transport level, but also at the application
level such as SAP, Siebel…. all out of the box. Being able to consume, transform and
publish services/information at all these levels is one of the things that BizTalk
does very well!
Looking into BizTalk Services – things like ‘Event buses’ and ‘Subscribing’ to
these events seem to be possible. These may span end-to-end on the enterprise so departments
will be able to do their own local processing from a ‘corporate received event’ (just
my thoughts at this point) – similiar to MSMQ technology, but with ALOT more functionality.
-
Ok – onto the chase….(just had to go and pick my mobile up in the airport lounge
– left it somewhere….head’s not screwed on right 🙂
So in essence looking within the next 3 years, systems will be made up of many disparet
sub-systems each – we need to get a view of “How are we going?” (in
a business context – not the flux capacitor is running well)
-
Enter BAM (BizTalk) – Business Activity Monitoring:
-
Allows for the creation of ‘SQL OLAP Cubes’ from Business Key Performance Indicators
(a business person *can* sit down in Excel and define all these numbers – except my
winning lotto numbers…I’m still waiting 🙂 – then hand them the BAM and boom! a
cube is born.
This is the way *it MAY* be pitched – but my experience is that it’s a Techo that
does it – with the business person looking over the shoulder.)
e.g. Order Total, Order Time Taken, Order Average Fulfillment Time, Order Destination.
-
We can populate these cubes (& their values) from WF Workflows, custom .NET code,
Business Rules, BizTalk and WCF Services.
That friends is the missing piece to the puzzle. So as your system
is crunching away, business intelligence is obtained from the working system in the
context that you specify (a fancy way of saying – your business values).
The capture of this information is done through BAM Interceptors (different
flavours depending on if it’s a Biztalk process, WF Workflow, WCF Service, Buffered,
Direct…)
The cool thing is that BAM databases can be aggregated etc. So we
may have a business process running in Perth and a similiar in Syd with the end result
being viewed in Melb.
All in all – we’re in a cube. All the existing BI tools can hook into the
Cube as per normal.
-
How can I interpret and work with my cubes? I’ve heard MOSS has ‘dashboards’ and other
things that may help me……
ENTER THE DRAGON……no I meant to say “Performance Point” (what
a great movie that was!)
Perf. Point is driven out of MOSS (perfect for the whole sharing/caring/collab world
that Sharepoint pushes – alerts/presence info etc etc)
It provides intelligence and the ability to forecast/plan/manipulate information from
many different sources of which BAM is one. Perfect – you’re very own rockect scientist
on call.
You business processes is just another area that plugs into this 🙂
-
Tying it all together in a nutshell…..
systems – more integration code, less custom code/app silos -> complex solutions
comprising of many components -> how to intelligently track/monitor -> BAM ->
BAM -> Cube(s), easy, distributable -> Perf Point, MOSS based very easy
If I was a partner and wondering what technology to get into right now…..apart from
BizTalk R2 :)….. gotta be Perf. Point -> 18 months time, you won’t have enough
perf. point people! 🙂
Enjoy your Friday folks!
by community-syndication | Sep 20, 2007 | BizTalk Community Blogs via Syndication
I had a little time this week and thought I’d write a quick stsadm extension to enumerate
and set index ranking parameters, when querying MOSS indexes.
My main motivation was so you could change the ranking order of XLS files over PPT
files etc.
There seems to be a ancient art in setting these values.
So what’s included:
1. an XML file that needs to be copied to the \12\Config folder. Tells stsadm about
the new commands and what class to run.
2. A .NET assembly that needs to be GAC-ed so the stsadm doesn’t
have to look too hard to try and find the class.
Creating an extension is a pretty easy thing – extend an interface
as follows:
The next part was to interface with the indexing service as follows:
The keyValues collection are created by stsadm and passed
into your method – how good is that.
To get access to the Ranking and SearchContext classes
a few additional references are required. Such as:
– Microsoft.Office.Server
– Microsoft.Office.Server.Search
– Microsoft.Sharepoint.Search
These are all in the attached project.
Running the enumindexrankparams looks a little like this:
(these are some secret numbers to do with weightings of ‘click depth’, ‘url depth’,
language etc. A value of 0 is ignored. I’m still working through
what these exactly are – apart from the file type ones)
As I understand you can’t add additional weightings here for file types like PDF etc.
the commands to run this are:
1. stsadm -o enumindexrankparams -site <url to ssp>
2. stsadm -o setindexrankparams -site <url to ssp> -<rank name>
<rank value>
stsadm -o setindexrankparams -site <url to ssp> -filetypepriorlistitems
1
Have fun – the project shows you how to extend the stsadm and also start to get a
bit of a feel of the Search/Index APIs.
Grab the source here –
>
by community-syndication | Sep 20, 2007 | BizTalk Community Blogs via Syndication
For those people in Australia interested in BizTalk 2006 R2, Microsoft is running a two-day “jumpstart“ course around the country. I will be teaching the ones in Perth and Melbourne, while Mick Badran is taking Brisbane and Sydney. Check out this link for dates and more details.
https://www.local.microsoft.com.au/australia/events/register/home.aspx?levent=478264&linvitation
by community-syndication | Sep 19, 2007 | BizTalk Community Blogs via Syndication
BizTalk 2006 R2 is now availableon TechNet. It’s the free trial versionand I’m guessing it’s good for 120 days.
Download is here:http://technet.microsoft.com/en-us/bb738059.aspx
Also available is the BizTalk 2006 R2 Installation and Update Guide
by stephen-w-thomas | Sep 19, 2007 | Stephen's BizTalk and Integration Blog
The long awaited BizTalk 2006 R2 is now available as a trial version on Tech Net.
Download it here: http://technet.microsoft.com/en-us/bb738059.aspx