“There’s an ICEBERG!!!! Right ahead!!”. Well this iceberg is not the one that you should fear of (something like the one that sunk the mighty Titanic), but the one you should consider to get on board. What you see is just the tip of the iceberg, and this literally defines the latest version of BizTalk360 — BizTalk360 version 8.2. BizTalk360 v8.2 comes packed with lots of performance improvements under the hood and a new feature called Advanced Tracking Manager.
Planning & approach for BizTalk360 v8.2
We started planning BizTalk360 v8.2 with a clear goal of improving the overall performance of BizTalk360. We took a systematic approach in analyzing and identifying areas that had room for improvement on the database layer, service layer and UI layer of our application and we made use of various tools to achieve this. The identified areas had to be prioritized and we completely relied on customer feedback for this. It was a herculean task to aggregate feedback from our support portal and feedback forum. As a result of this meticulous planning and effort, we not only just delivered this release on schedule, but also managed to bring in the advanced version of Tracking Manager.
Improvements in BizTalk360 v8.2
- Advanced Tracking Manager for Administrators
- Performance Improvements
- UX Improvements
- Upgrading Build Framework
Advanced Tracking Manager for Administrators
Tracking Manager has been a part of BizTalk360 since the early 6.0 release. It provides the view of the tracking status of send ports, receive ports and orchestrations. However, it was only a read only view of the tracking information. To enable/disable tracking, you had to rely on BizTalk admin console and anyone who has worked on admin console knows how tedious it is to enable/disable tracking for ports or orchestrations for multiple applications. On top of that, admin console doesn’t give you the overall view of the tracking status of all applications.
In BizTalk360 v8.2 with the Advanced Tracking Manager, you are empowered to take complete control of Tracking from an application level to more granular level such as ports, orchestrations, pipelines and schemas. It also gives you a birds eye view of the tracking status of all the applications in a single screen. One interesting feature in the Advanced Tracking Manager is Quick Actions. Enabling tracking for all the ports or orchestrations in an environment can be achieved in a single click using Quick Actions.
Another major improvement to Tracking Manager is the addition of the Rules section. Now you can enable/disable tracking for Fact Activity, Condition Evaluation, Rule Firing and Agenda Updates right from BizTalk360. To know more about Advanced Tracking Manager, take a look at this blog post which talks about each functionality in detail and its future plans.
Tuning the database is much more than just adding indexes. It requires a clear analysis to identify the areas that need tuning and we have spent a considerable amount of time on this task. The results that we gathered provided a lot of insights and helped us to improve the ground rules for structuring and querying database. On the analytics side, we made some database restructuring after observing that it would make a major impact on the performance of a frequently used analytics service call “GetPerformanceMetricData”. By “improving”, we don’t just mean the response time; the resource consumption like CPU and Memory were also given equal weight-age here. When dealing with a large volume of data, this will be more pronounced. In our test environment, we observed performance improvement by up to 85%. While tuning queries that ran against critical databases like Tracking database, we were extra cautious and kept the queries as lean as possible.
For service layer performance improvements, we created dedicated environments with the simulated load in order to capture the service calls that consumed most resources and time. And one interesting fact that we observed is that the results of some expensive service calls doesn’t change that often. A great deal of computational work has to be done to get the same result time after time. We introduced an intelligent caching mechanism as a solution for this problem.
User experience improvements
User experience is a key area where we give a lot of focus. Every new screen in BizTalk360 goes through multiple iterations of mock-ups to make sure the user interactions are as slick as possible. Speed and responsiveness is also crucial when it comes to user experience. Instead of having a huge service call that get a lot of information that you may or may not view, its smarter to get them on the fly as per the user interactions. This required breaking up few of our core services into multiple lighter service calls and rewriting the UI logic.
If you have observed, BizTalk360 makes use of tabbed user interface quite a lot. It’s the best way to squeeze in a lot of useful information into a single screen with minimal user interaction. Applications module on the operations side is one such example which uses tabbed view. We observed that the number of initial service requests can be reduced from 12 to 8 by loading only necessary data such as orchestrations, receive ports, receive locations and send ports and making service request for send port groups, schemas, maps, pipelines, resources, business rules on the fly as the user clicks on those tabs, improving the overall loading time by 33%. By applying the same trick, we observed greater improvement on Hosts module, where we managed to reduce the number of initial service calls from 4 to 1, yielding an overall loading time improvement of 75%.
Another significant performance improvement what we observed was on the Messaging Patterns module under Analytics. Apart from allowing you to discover the patterns of messaging in your BizTalk environment, it also allows to drill further by exploring the properties of the ports and Orchestrations in a pattern. By decoupling the mapping data from the ports and orchestrations properties, we observed that the average loading time of the module reduces from 421.5 ms to 49.6 ms which translates to 88% improvement.
Upgrading Build Framework
We constantly update our libraries and frameworks to take advantage of their new features and performance improvements. A lot of effort was put into identifying the right build frame work for BizTalk360. It was after multiple POC (Proof of Concept) applications and extensive analysis we narrowed down on GULP for building our applications.
Download BizTalk360 v8.2
If you are already excited reading about advanced tracking manager and the improvements, why not try BizTalk360 for FREE? With the 14 days free trial, you will get to experience the entire depth of BizTalk360 feature set.