HAT is a really cool tool, but as always: sometimes you'd just wish you could control everything yourself. (If you don't agree: you are not a developer are you? ;-) ) Especially for monitoring the health of your system and for automating certain operations, being able to code a little HAT yourself would be quite handy, wouldn't it? (Note: Microsoft Operations Manager is there as well to help you, provided that you are working with this application.)
Even more: in a real life scenario, the people monitoring your systems probably won't be BizTalk experts! Being able to give them some simplified views while:
- hiding all BizTalk "internals"
- written to show the health for just a particular application
- offering the very basic operations like "suspend" or "save this message", specialised for your application
would be a very cool thing to do won't it?
Now: here you are!! I just opened the GotDotNet floor for a little community collaboration in this area. And to make it even better: I even added a fully functional sample, showing some basics!
Now, what does the sample exactly offer you?
The BizTalk Server 2004 Tracking Playground is a little HAT-like winform application that supports:
- enumeration of orchestration types
- enumeration of pipeline types (including custom ones)
- enumeration of orchestration instances, filtered on the type of orchestration
- enumeration of pipeline instances, filtered on the type of pipeline
- enumeration of message instances related to a set of given orchestration instances or pipeline instances - that set of instances can be selected using a multi-select listbox
- saving both tracked and suspended messages to disk
Please note that the BizTalk Server 2004 Tracking Playground is not targetted at creating a full featured production quality coded framework for doing tracking operations. Rather its intention is to provide people who are planning to write their own customised tracking or querying, with a very good head start and some decent sample code!
Note: Since a lot of people on the BTS newgroups keep asking for more samples written in VB.NET, this one was written in VB.NET. Anyone who would like to rewrite: please let me know and we'll work something out!
So that'll be it for today :-)