In a middleware product like BizTalk Server, tracking is one of the key capabilities you get out of the box. By the time the message comes in and goes out of a BizTalk environment, it will get transformed into various forms. All the different components in BizTalk like pipelines, maps, orchestrations etc. has the ability to receive a message and change them if required. So it is important to understand at each point how the message and associated properties look like. This is very useful when you are diagnosing/troubleshooting a problem.
As you can see in the above picture (the typical BizTalk Publish Subscribe architecture diagram), every arrow shows a tracking point in the journey. Here is the list of items you can track in BizTalk Server.
- Receive Port – Bodies, Properties (request/response)
- Orchestrations – Events, Bodies, Properties
- Send Port – Bodies, Properties (request/response)
- Pipeline – Events, Bodies
- Schema – Promoted Properties
- Rules (Policy) – Fact activity, Condition Evaluation, Rule Firings, Agenda Updates
BizTalk Admin Console challenges with configuring Tracking
Even though BizTalk, as a platform, comes with a very sophisticated tracking mechanism, the configuration and maintenance of tracking settings via the standard BizTalk Admin Console is very unproductive. There is no easy option to set or visualize the tracking as whole. You pretty much need to go artifact by artifact, and then view the settings in the “Tracking Properties” window. Due to these administration limitations and the fear of performance impact because of not knowing exactly what’s the level of tracking that’s been enabled in the environment, customers tend to simply turn off tracking completely (by switching off the Global Tracking).
Advanced Tracking Manager in BizTalk360
We introduced a read-only version of Tracking Manager a long time ago (I guess it was version 6.0, a couple of years ago). After receiving a lot of feedback from our existing customers and watching community members getting to develop their own helper tools to address this problem, we decided to build “Advanced Tracking Manager” functionality which is now publicly available in BizTalk360 version 8.2.
Let’s take a look at some of the key features that’s included in Advanced Tracking Manager.
One Click Bulk Action
One of the main objective for us is to make it super simple to configure bulk tracking settings in your BizTalk Environment. As you can notice from the below screen, you can configure tracking for various artifacts across the environment with a single click on the Quick Actions section in Advanced Tracking Manager. You simply hover the mouse over the appropriate section and click the enable/disable button. This will configure the relevant settings across the entire environment.
You also have the option to turn on/off Global tracking easily using the same one-click technique.
Environment level Tracking Visualizer
One of the main challenges with BizTalk Admin Console is that you will not be able to visualize the level of tracking enabled at the environment level. You need to open the properties window for each artifact individually to see what level of tracking is enabled for each artifact. With BizTalk360 advanced tracking manager, you can visualize tracking settings easily. As shown in the above diagram, the settings are color coded Full, Partial, or Off based on the level of tracking enabled.
Bulk Actions on various BizTalk Artifacts Tracking
As mentioned earlier in this article, tracking can be applied on various BizTalk artifacts like receive ports, send ports, orchestrations, pipelines etc. Each one of them has different types of tracking settings. Let’s a take a look at how we improved the bulk tracking configuration options (both visualizing and setting) for various artifacts using BizTalk360.
Bulk Schema Promoted Properties Tracking Configuration
You can navigate at the BizTalk application level and have the option to visualize and set tracking for multiple property schemas and promoted properties at one go as shown below.
Bulk Tracking Actions for Receive Ports
At the BizTalk application level, you can select multiple receive ports together and set the tracking settings (4 to 8 settings, depending on one-way or two-way port). The most important thing is the ability to visualize all receive ports tracking configuration within an application in a single place.
Bulk Tracking Actions for Send Ports
At the BizTalk application level, you can select multiple send ports together and set the tracking settings (4 to 8 settings depending on one-way or request/response port). The most important thing is the ability to visualize all send ports tracking configuration within an application in a single place.
Bulk Tracking Actions for Orchestrations
At the BizTalk application level, you can select multiple Orchestrations together, view and set the tracking settings. In addition, you also have the ability to visualize all Orchestration tracking configuration within an application in a single place.
Bulk Tracking Actions for Pipelines
At the BizTalk application level, you can view and set the tracking settings for all the pipelines either in bulk or individually.
Individual Tracking Settings
In addition to all the bulk settings options we explained earlier, you also have the option to set up any individual tracking setting easily as well. You need to simply mouse over on the relevant setting. You’ll immediately see the enable/disable option as shown below (depending on the context). The configuration options are also available hierarchically, for example in the below screen you can either enable/disable at individual property level or you can do it at schema level (which will include all the properties available for tracking in the schema)
As a next step, we are planning to do further improvements to Advanced Tracking Manager. Here are some of the planned improvements
Environment Tracking Profiles
You may want to set the BizTalk Environment tracking settings to specific state. For example, enabling tracking for certain applications, pipelines etc., just for a short period to diagnose one type of issue. Some other time, you may want to set completely different tracking settings in the environment to diagnose a different problem. By configuring and storing it as profiles, you’ll be able to switch the profiles very easily.
Granular Bulk Action
At the moment, bulk actions set all the tracking properties for chosen artifact (on the applications list screen). In future, we will introduce the option to do selected bulk action. For example: “Tracked Message Bodies – Before Orchestration Processing”, similar to the one we currently have for artifacts list within application.
Multiple Applications Settings
You can choose a list of BizTalk applications and set the bulk tracking for multiple applications.
Warning for missing Tracking Host
In order to maintain a healthy BizTalk environment, you need to make sure at least one tracking host is configured. Otherwise, your BizTalk MessageBox will get bloated over a period of time because of not moving the tracked data from Message Box to DTA and BAM databases. In the next release, we will clearly put a warning on the page if we detect there are no tracking host/host instances configured.
Warning for Purge/Archive Tracking Jobs (if not configured)
Similar to tracking host, it’s crucial to make sure the tracking purge and archive jobs are correctly configured and running smoothly, else you’ll end up in bloated DTA database adversely affecting the performance. In the next release, we will check the status/configuration of these jobs and put a warning message in the UI hinting the administrator to take appropriate action.
We will continue to invest in BizTalk360 bringing some highly productive tool set like “Advanced Tracking Manager” and make life easy and efficient for BizTalk Administrators. If in case you haven’t tried BizTalk360 recently, why don’t you give it a try? We offer a fully functional 14 days trial version.