Interesting support cases 2018 – Part 2

Interesting support cases 2018 – Part 2

In my previous blog post, I have highlighted 5 interesting cases we received and solved in the past year. In this blog, I would like to add 5 more interesting support cases.

Let’s get into the cases.

Case 6: Data Monitor Dashboard slow to respond

In the year 2017, we have started a new initiative called ‘Customer Relationship Team. This team will get in touch with our customers regularly in the frequency of 3-4 months. The team will make sure about how the customers are using the BizTalk360 product, whether they are facing any problems, and if they have any queries.

If so, we will clarify the customer queries during the call. If can’t clarify the problem within the short time of the call, then we will create a support case for their queries and make sure we will solve the case.

In one such a call, a customer raised a concern about the Data monitoring dashboard being slow to respond and it takes more and more time.

Troubleshooting

During the investigation of the slowness, we came to know that the customer had configured 147 data monitoring alarms. Out of those, 110 data monitoring alarms were scheduled for every 15 minutes cycle, which will produce a huge result.

In more detail:

110 data monitoring results for every 15 minutes cycle.

110*4*8(business hours) = 3520 results.

110*4*24(whole day) = 10,560 results.

Loading 10k results in a single load, for sure it will take time to load all the results.

Solution

Most of the customers won’t use many schedules for data monitoring alarms. To handle such a huge load, we have improved the performance of the data monitoring dashboard, by having a filter option to select the specific alarms and corresponding status. The improved data monitoring dashboard is available from version 8.7 on.

Case 7: System resources configuration

A customer faced an exception ‘the network path was not found’ while trying to enable SQL Server System resources monitoring.

Troubleshooting

We have requested the customer to check the below things:

  1. The BizTalk360 service account is a local admin on the machine where SQL server is hosted
  2. The Remote Registry service is started or not
  3. Firewall ports are opened for SQL server
  4. From BizTalk360 server, can you connect to that SQL server through SQL Management Studio
  5. Connect to the remote computer (SQL Server configured for monitoring) from the BizTalk360 machine where the monitoring service is running

All other steps were passed, but in the Perfmon, while connecting the SQL Server on the BizTalk360 installed machine, they have faced the same exception.

Solution

To open the SQL server on another machine, port 1433 needs to be enabled. To monitor System resources of SQL machine, an additional port needs to be enabled ‘135’, which is for RPC and WMI. We have mentioned the depended ports what needs to be enabled in our existing blog.

Even after adding the port, still the problem persisted. At last, we found that the firewall rules were not activated/enabled, once after activating the rules we were able to solve the case. This is one such case in which we all missed to check the basic step that a rule should be activated because no one had access to view the rules other than the customer’s admin.

Case 8: SFTP Monitoring – PublicKeyAuthendication

A customer was trying to configure monitoring for an SFTP location and they were facing issues. It was working fine for the customer when the authentication was used with a simple username and password. However, once they configured for PublicKeyAuthendication, they faced issues during the configuration.

Troubleshooting

We started with the basic troubleshooting steps like authentication, access permissions and we understood that it has all rights to access the FTP site. During the investigation, we found that in a folder BizTalk was picking up the inner folders as well, instead of picking the files alone.

Solution

To find the exact root cause of the issue, we have developed a console application (with logs enabled) and provided it to the customer. It provided a clear picture of the problem, as mentioned earlier it has calculated the folder for PublicKeyAuthentication. Now, this has been fixed.

Case 9: Message Count mismatches

A customer faced a problem between the Receive and Send ports for the message count at Analytics Messaging Patterns.

Troubleshooting

The customer had a very simple scenario (see below) where a file is picked up and placed in a different location, but the Send Port count shows the Receive Port count twice. He gets similar doubling up on Receive and Send ports for other message flows as well.

Example:

Send Port – 12 messages

Receive Port – 6 messages

During the investigation, we have found that whenever BizTalk retries to submit the suspended messages the counts get double.

Solution

As of now, we are showing the message transfer count rather than the message count. We are doing this because this will help us to determine the message performance of BizTalk Artifacts in an environment. We are going to take this as a feature enhancement in the future.

Case 10: Not possible to expand columns in query outcome

Normally you can expand the column size of the query outcome in a grid. But customers were facing a problem that they were unable to expand the columns in the MessageBox Queries grid.

Troubleshooting

During the investigation the customers were facing this problem in Chrome,  but not in Internet Explorer and Firefox. They faced the same issue while opening the browser in an incognito window as well. This is really something very strange for us, because while using the same version we were not able to reproduce the same problem.

We have investigated at the code level and everything seems fine at our end. So, we have decided to go for a meeting. During the meeting, we were able to see the problem at the customer end and we had no clue at that time, requested a few days time and closed the meeting.

We analyzed the case and it was hard to reproduce the case at our end. It is working for most of our team members and only a few are facing this issue. The team member who faced the issue and the one who’s working fine worked together, they compared each component from scratch to find what’s the difference and we found the cause.

Solution

If the Chrome page is zoomed out or zoomed in, then the column resize wasn’t working for us and this happened at the customer as well.

It seemed that this was a problem with the Kendo Grid control in the latest version this issue was introduced by Kendo. We worked along with Kendo and solved the case.

Satisfaction does it!

As a support engineer, we receive different cases on a daily basis. Every support case is unique because the problem will be faced by different customers in different environment architecture. But some of the support cases are interesting by the root cause of the problem and the way of troubleshooting the case. I’m happy that I have worked on such challenging and interesting cases.

The post Interesting support cases 2018 – Part 2 appeared first on BizTalk360.

Interesting support cases 2018

Interesting support cases 2018

The year 2018 passed away just like few months have passed phew…! As a support engineer, we receive different cases on daily basis. Every support case is unique because the problem will be faced by different customers in different environment architecture. But some of the support cases will be interesting by the root cause of the problem and the way of troubleshooting the case.

We have already written a series of blogs about the interesting support tickets we often receive.

In a similar way, this blog post highlights 5 interesting cases we have received and solved in the past year. We are sure this consolidated blog will be useful for our customers if they come across any of them in the near future.

Case 1: Custom port number

A customer tried to upgrade BizTalk360 to the latest version 8.9.3153.0310. The installer ran the upgrade process till the end, however, for some reason, it failed without a failure warning or exception message shown in the installer.

Troubleshooting

During the troubleshooting, the customer informed that while installing the BizTalk360 default URL has been used.

Say for example:

http://localhost/biztalk360

Later they have changed the URL from HTTP (80) to HTTPS (443). Once after changing to the new URL, they have deleted the default port (HTTP: 80) in IIS.

In the log file, we found that the installer is still trying to find the default port.

Solution

Most of the customers will not delete or remove the default port from IIS. During the upgrade process, the installer will look for the registry values for the default port information. If there is any mismatch in the stored port information and available in IIS, the installer will be forcefully stopped, which leads to unsuccessful installation.

As a best practice, we recommend before deleting the default port, the new values (Custom Port number) required to be updated in the registry to experience a seamless installation.

Case 2: Unable to view the BizTalk360 API documentation section

Web APIs are becoming increasingly vital to the organization across all sectors. We exposed our APIs specifically to facilitate the creation of their own scripts to ease the use of BizTalk Server integration space much better. To access the BizTalk360 API documentation you must contact license@biztalk360.com as we are providing this feature as an Add-on pack.

In this case, a customer can access all the features except the API documentation menu, though they have a valid license to access it.  After the investigation, we have observed an error “Access is denied” in Internet Explorer browser.

Troubleshooting

Most of the customers wanted to access the BizTalk360 application in a secure way (HTTPS) based on their Organisation policy. As we progressed on our investigation, we had identified the root cause is because of deleted/removed the default port configuration in the IIS.

We suggested them to add the HTTP port into IIS and check the API. Yes, it helped after adding the HTTP and they were able to access the API documentation.

Solution

The interesting part was the fix to the problem. We are using Swagger for the API documentation. Since they removed the HTTP, Swagger kept on checking the HTTP as per mentioned in the configuration in the schemes. As a workaround, we recommended them to change the schemes upside down, it helped them to access the API documentation. Later we handled the part in the code for the permanent fix.

It took few months to solve this case because of the restricted access at a client side, we would like to appreciate the customer for their patience in this case as it took a long time to identify the root cause.

Case 3: Widgets moving around in the Dashboard

Sometimes we don’t believe our own eyes as the support ticket makes us think beyond the limit. One such interesting support case we have received is about the Analytics section. A customer added few widgets in the dashboard, but the changes were not persisted when they moved them around to different places and removed a few of the widgets.  We suspect it’s a ghost activity, absolutely it’s an old joke, have a smile! 😛

Troubleshooting

As it is difficult to identify the root cause, we went for a web sharing session and found that a few widgets don’t have any data. We presumed that the issue is related to “Event Log data count” widget.

There were 4 Event log data count widgets added with different server names, out of that 2 were with data and 2 were empty.

In the generated widget, we were able to see two problems.

  • Related to permission
  • And with custom sources

Solution

The Event Log widget will collect information from all the servers (if permission is provided). When we check for the permissions in all the enabled servers, we were able to see some server hadn’t had local admin permission. After providing the necessary permission, they were able to remove the event log data count widget from the dashboard.
The second widget is with custom sources, this was identified as an issue at our code and we provided the fix in the related stored procedure to resolve the issue.

Case 4: NT Service monitoring

Monitoring few NT services leads to an exception “no longer exist in the server” in the alert email.

Troubleshooting

We monitor the NT services by using the service name. Every time while logging off the user, the monitored services were removed from the server and when logging in to the machine or once after a reboot, a new NT service was created with the addition of some random number (at prefix for both service name and display name).

This led to the “Orphaned” status as the originally mapped service was not found by the BizTalk360 monitoring service in the actual server

Example: If the service name is CDPUserSvc_159f93a17 once after the logout and login or after a reboot, the name will be changed to CDPUserSvc_29174f

We investigated the usage of the services where those services are structured with user data like contact info, calendars, messages, and other content in Windows 10 and Windows Server 2016.

Solution

The Fix is available in our latest version, where it handles the new services created with random numbers.

Case 5: Cross-domain file monitoring

An issue is that file monitoring is getting Orphaned once after configuring it with an alarm.

Troubleshooting

We started with the basic troubleshooting steps and understood that the configured File path in BizTalk Server is present in a different domain configuration than the domain of the actual BizTalk server. Technically, BizTalk360 will monitor the specific file location without any issues because BizTalk360’s monitoring service account is being used to fetch the configuration information by providing the necessary permissions

Solution

To find the exact root cause of the issue, we have developed a console application (with logs enabled) and provided it to the customer. At last, we have found that it is an issue with authentication for the service account in cross-domain architecture. We have found this as an issue at our end and fixed the same in our latest version.

This case helps me to explore more in cross-domain architecture.

For more details on this case, please refer here.

Conclusion

Above are 5 interesting cases of 2018 which helped me to learn and explore new areas and technically learn new concepts. Wait for another blog post series where I would like to share another 5 more interesting cases.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

Different ways to install BizTalk360

Different ways to install BizTalk360

A few days back we have received a question from one of our customer on the possibility to install BizTalk360 on Windows Azure Virtual machine. We have replied with suggestions, and he was impressed by the option what we have provided to install BizTalk360.

That’s the moment of inspiration for this blog. Here, we are going to look at the types of installers available and different ways to install BizTalk360.

I would recommend you to have a look at the prerequisites that should be met to install and work with BizTalk360.

Installing BizTalk360 – What are the options

One of the common questions that customers raise to us. There are various deployment choices available for BizTalk360.

This is one of the common questions we have observed recently on our customer engagements.

The deployments are purely based on the organization needs and based upon the BizTalk environment architecture. Here are the options BizTalk360 provides:

  • Installing BizTalk360 On a BizTalk Server
  • Installing BizTalk360 On a Stand-Alone (non-BizTalk) Server
  • Installing Just the BizTalk360 Monitoring Service
  • Installing Just the BizTalk360 Analytics Service
  • Installing BizTalk360 on High Availability BizTalk Servers

How can you achieve the various deployment options?

If you are installing BizTalk360 for the first time, you can select the components that you wish to install on the server.

Option 1 – Installation on the BizTalk Server environment

You can install BizTalk360 in one of BizTalk Servers of the BizTalk Server environments (production, non-production etc.) and configure all the environments in one BizTalk360 interface.

Option 2 – Installation on a stand-alone server

This is another common scenario where customers don’t want to install BizTalk360 directly on their production environment.

BizTalk360 supports this scenario by allowing customers to install on a standalone server and access various environments. In this case, customers need to install BizTalk administration components (only) in the standalone server. Also, any third-party adapters must be installed on this server.

It is one of our recommendations to install BizTalk360 on a separate box for the customers who don’t want to install in their BizTalk Environment. The benefit is that once your BizTalk server goes down, your BizTalk360 server won’t go down along with it and be able to send notifications about your BizTalk server not being available.

Option 3 – Install Just the BizTalk360 Monitoring Service

The Monitoring Service plays a key role as it is responsible for fetching the status of artifacts from the BizTalk server to monitor them. Using this option, you can install the BizTalk360 Monitoring Service on a separate box and BizTalk360 database on a separate box.

This setup will be helpful in a scenario where the customer wants to have the BizTalk360 web services, user interface (IIS), BizTalk360 Monitoring service and the BizTalk360 Database all in separate boxes.

This setup can also be done when you want the BizTalk360 monitoring service to be in the high availability state. When monitoring service is installed in two servers in the high availability mode, when one service goes down, the other service will be up, where the monitoring of your BizTalk environment by BizTalk360 will be continued without any interruption.

Option 4 – Install Just the BizTalk360 Analytics Service

As like installing BizTalk360 monitoring service on a separate box you can install the BizTalk360 Analytics Service on a separate box as well.

Option 5 – Installing BizTalk360 on High Availability BizTalk Servers

You can install BizTalk360 on BizTalk high availability servers. At the same time, you can make BizTalk360 as a highly available setup.

Installing BizTalk360 on the single server environment is a straightforward task when the BizTalk server and database are existing in the same machine. You can simply run the BizTalk360 MSI from the Administrator Command prompt.

But in most of the cases, we have seen our customers use BizTalk360 in a High Availability mode to make it available all the time.

Different ways to install BizTalk360

To fulfil all the customer needs, there is a number of ways to install BizTalk360 and we provide different types of installer options:

  1. Default installation
  2. Silent Installation
  3. Azure Marketplace installer
  4. Azure easy installer

Default installation

The Default installation is the regular way of installing BizTalk360.

Once you have created and configured a machine with all the prerequisites met, download the latest version of BizTalk360 (.msi) and install it on the machine.

In which case will this be helpful?

When you have a physical/virtual server within an organization which may have or have not internet connectivity.

You can achieve all the various deployment choices,

  • Installing BizTalk360 on a BizTalk Server
  • Installing BizTalk360 on a Stand-Alone (non-BizTalk) Server
  • Just the BizTalk360 Monitoring Service
  • Just the BizTalk360 Analytics Service
  • BizTalk360 on High Availability BizTalk Servers

You can download the latest version installer of BizTalk360 from http://www.biztalk360.com/free-trial/ . You must enter the registration information in the form before downloading the BizTalk360 MSI.

Silent Installation

This is one of the interesting cases which came to us. One of our customers was trying to install BizTalk360. Although he was from Admin team, he was not a member of the BizTalk groups.

He proposed a request that is there any option to install BizTalk360 without the installer user interface or screen. We do have Silent installation support.

So, we assisted the customer with the command which they need to run the installer without the installer GUI. But with the silent installation, you can’t achieve all the various deployment choices as seen with the regular installation (Refer the section “Default Installation -> In which case it will be helpful”).

Azure easy installer

The move to the cloud eventually means that customers using BizTalk360 for managing and monitoring their BizTalk server environments will need their BizTalk360 setup to run on their Azure setup. Without BizTalk360 on their Azure setup, the only way for customers to manage their BizTalk environment (running on Azure) is by physically logging into the server through RDP connection.

Also, there is a challenge with the number of RDP connections (no. of users) who can access the server at a time. Therefore, the presence of BizTalk360 becomes an important factor – be it in an on-premise setup or on a remote server (Azure).

In which case will this be helpful?

 Any server which has BizTalk Server installed, with the help of BizTalk360 Azure Easy Installer, you can easily install BizTalk360 by executing a single PowerShell command on your BizTalk Server Machine.

Why did we introduce this?

As the technology and usability evolve, we would like to encourage customers who are already using BizTalk server in Azure, to move their BizTalk360 environment to the cloud as well.

The customers using BizTalk360 for managing and monitoring their BizTalk server environments in Azure will need their BizTalk360 setup to run on their Azure setup as well.

How easy to use is it?

With the BizTalk360 Azure Easy Installer, you can easily install BizTalk360 by executing a single PowerShell command on your BizTalk Machine. The installer will take care right from the scratch of creating a service account for BizTalk360, configuring the BizTalk server (optional), enabling HTTP feature, granting SQL permissions and IIS.

Azure Marketplace installer

This is helpful for customers having a Microsoft Azure account and provisioned BizTalk server machines in the cloud with a more complex setup such as a domain, Active Directory, and one or more BizTalk environments in the network.

With BizTalk360 in Azure, you get a complete deployment that can target your BizTalk environment running on-premise via VPN or ExpressRoute or on Azure IaaS Platform.

In which case it will be helpful?

With the help of BizTalk360’s Azure Marketplace installer, you can simply spin up and add a new BizTalk360 machine into your existing BizTalk environment. We support BizTalk Server 2013R2 and 2016.

Why did we introduce this?

To ease the installation process, where the customer has the BizTalk server setup in domain Azure architecture, this tool will be very helpful. In any architecture, to add a new application software will be a difficult job because so many changes need to be done right from the providing permission to other prerequisites.

Likewise, to install BizTalk360, set of prerequisites must be performed before installing. To make this job easier for the users, our Azure marketplace installer comes into the picture.

How easy to use is it?

While adding a new machine for BizTalk360, select new Virtual machine in the Marketplace and select the image according to your existing environment. As of now, we are providing support for BizTalk server 2013 R2 and BizTalk 2016.

It is just a simple process; once after the creation of the new BizTalk360 Virtual machine, the Azure Marketplace installer will be opened. Just providing the credentials, it will be added to the domain (the machine will be automatically restarted as a part of this process), and BizTalk360 installation will continue.

Upon successful completion, BizTalk360 will be installed and you will notice a browser window firing open with the BizTalk360 screen. We want to convey that using the BizTalk360’s Azure Marketplace installer, and the Azure easy installer is free of costs.

Conclusion

Keeping the user perspective in mind, we have built various deployment choices for BizTalk360 customers which would ease the installation and provide a user-friendly experience.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

Cross-domain file monitoring

Cross-domain file monitoring

One of the core features of BizTalk360 is it’s monitoring and notification capability. BizTalk Server is used in mission-critical environments to integrate different applications within the enterprise. While BizTalk Server can integrate with multiple applications and provide a one-stop solution for enterprises, it lacks the ability to allow the administrators to monitor, amongst others, the health of connected applications.

BizTalk360 understands the problems faced by enterprises and offers an out-of-the-box monitoring solution that assists administrators to monitor the BizTalk environments. BizTalk360 solves the purpose of being able to monitor BizTalk Server solutions in a simple and easy manner.

So, What Can BizTalk360 Monitor?

BizTalk360 allows administrators to set up alerts on specific components of BizTalk Server, such as:

  • BizTalk Applications and their Send Ports, Receive Locations, Orchestrations, Service Instances
  • Disks
  • Event Logs
  • NT Services
  • System Resources (CPU, Memory)
  • SQL Jobs
  • Web Endpoints
  • BizTalk Health Monitor, Errors and Warnings
  • Host instances (normal, clustered)
  • Azure services
  • Queues – MSMQ, Azure Service Bus, IBM MQ
  • File Location – File, FTP and SFTP
  • Database queries

I would like to explain the feature of File Location monitoring usage and the challenges we faced.

File Location Monitoring

File Locations Monitoring is one of the core monitoring capabilities which we had introduced in BizTalk360 v8.4. From our customers, we received many requests to introduce the ability to monitor Folder Level into BizTalk360.

How File Location monitoring works?

BizTalk360 has the capability of fetching the file locations which are configured in the BizTalk Admin console.

File Location Monitoring lists all the locations configured in the BizTalk Artifacts (Send Ports and Receive Locations) for the Transport Types (File, FTP, SFTP) respectively and shows them in the UI. Users can map only the file location of BizTalk Artifacts; file locations which are not mapped with the artifacts will not be monitored from BizTalk360.

Cross-domain

Just to give an overview of a domain

A domain is a group of computers and devices on a network that is administered as a unit with common rules and procedures. Within the Internet, domains are defined by the IP address. All devices sharing a common part of the IP address are said to be in the same domain.

Overview of Cross-domain

By cross-domain, we refer to the communication between different domains by creating trusts.

A trust is a relationship established between two different domains that enable users in one domain to be authenticated by a domain controller in the other domain. There are different types of trusts in the Microsoft Active Directory domain such as External, Realm, Forest and shortcut. An external trust is necessary when users of two different domains of two different business units want to utilize resources such as printers and file servers of trusted domains.

Cross-domain in BizTalk

In BizTalk, the receive locations or the send ports can be configured with the file locations present in the server. These locations may be in the same server or in a different server in the different domain. With the trust created between the domains, the file transfer would happen, and the message gets transferred.

File Location monitoring in BizTalk360

As said earlier, in BizTalk360 we have the capability to monitor file locations and trigger alerts based on the file count and directory size configuration.

The BizTalk360 monitoring service will check for the file count and directory size and trigger alert emails. So, as per the environment configuration, the service account running the monitoring service will need access permissions to the BizTalk environment to fetch the data of the BizTalk artifacts.

Often the support tickets raised by customers provide different learning experiences to the support team. One such ticket was an issue with the file monitoring.

Configure File Location monitoring

Configuring File Location monitoring is a very straightforward activity in BizTalk360. You have the option to configure with authentication mode as well as anonymous mode. BizTalk360 will automatically list down all the available file locations on the server.

Click the Gear icon to open the File Details blade and toggle on the Authentication button to enter the username and password. If the username and password columns are blank, it will be considered as anonymous authentication. Configure the warning and error rules for monitoring under the File Monitoring Configurations settings. Click Save Configurations to complete the process.

Scenario 1: Cross-domain file share

One of our customers raised an issue that a file share is getting Orphaned once after configuring with the alarm. We started with the basic troubleshooting steps.

We understood that customer configured a File path in BizTalk server which is a cross domain. In detail for the specific send port, they used a file adapter and while they provide a path they have provided a path where the folder is available in a different domain.

Troubleshooting the problem

We asked the customer to share if any exception appeared and we received that “the username and password are incorrect”.

Technically, BizTalk360 should monitor the specific file without any issues. This is the reason why we are using BizTalk360’s monitoring service account to fetch the details. If BizTalk360 monitoring service needs access across the domain, it should monitor without any problem.

To find the exact root cause of the issue we have developed a console application(with logs enabled) and provided it to the customer. Developing back and forth, we found that it’s an authentication issue and solved it in version 8.9 of the product.

Scenario 2 – Monitoring a cross-domain Linux server

It’s again an interesting case once after the release of version 8.9 (fix for cross domain file monitoring). One of our customers came with a feedback that he is facing a problem with file monitoring.

Once we engaged a call with our customer, we found that they are using a Linux machine for a folder path in the BizTalk server, which is a cross domain. In detail, for the specific send port, they used a File adapter and while they provided the path, they have provided a folder which is available in a different domain in a Linux machine.

Troubleshooting the problem

We asked the customer to share if any exception appeared and we received the same error that “username and password is incorrect”.

To connect the Linux folder location from the Windows machine, the customer used a tool called Samba share. We have enhanced our code to authenticate and connect the Linux machines with encrypt and decrypt, along with NT service mechanism.


Later, we have provided a console application to our customer which solved the problem. We have planned to include the fix in our upcoming version.

What about FTP and SFTP?

By default, FTP and SFTP are hosted in a web(domain)and we support cross-domain in FTP and SFTP file monitoring.

Conclusion

This was another support case which was interesting for me as it helped me to understand the code from a Developer perspective. I have explored a different kind of cross-domains from the Tester perspective. Working along with the customer gave satisfaction as a Support engineer. Hope I will receive “an Awesome” review from the customer side 😊

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

BizTalk360 Improvements and Enhancements Version 8.9

BizTalk360 Improvements and Enhancements Version 8.9

In very few days, we will release BizTalk360 version 8.9. As everyone is excited, I’m excited too as, in every release of BizTalk360, we constantly improve and include features based on the customer’s feedback and business needs. In the upcoming version, we have implemented a few features purely based on the customer’s feedback.

Here is the list of features which I’m going to cover in this blog:

  1. PDF Download
  2. Restore System Email XSLT Template
  3. Monitoring IBMMQ and Azure Service Bus Queues using Message Age
  4. Performance improvements

PDF Download

Based on the existing implementation in the Analytics reporting module, many of our customers requested the PDF download feature. We have implemented the PDF Download capability for the following modules:

  • Graphical Flow (Tracking)
  • Messaging Patterns
  • Operations Dashboard
  • Monitoring Dashboard
  • Analytics Dashboard

In Graphical Flow (Tracking)

The user views the entire flow of the message from where it entered the BizTalk server to the point where it left the BizTalk Server environment. All the message flows are indicated by arrow marks between the nodes, which will provide a clear indication of the message transactions.

Say, in a message flow a message is not sent to the expected node; this will become clear in the Graphical Flow (Tracking) feature.

Example: The Viewer shows you what messages a service instance (pipeline or orchestration) sent and received, and details such as the URL, port, and party used. You can also see which preceding service instances handled the messages coming into the service instance you are currently viewing.

You can link back to these instances and see the messages coming into and going out of these instances.You can also see the subsequent service instances that received messages from the service instance you are currently viewing, and link forward to these instances to see the messages coming into and going out of these instances.

In other words, you can walk through the entire path of an activation message through your business process.

In such cases, the new PDF download implementation will be helpful to download the flow and escalate the problem to the required team.

To capture the full message pattern, you can choose the full-screen view. Along with the zoom in and zoom out capability, we have introduced a new option PDF download feature.

The PDF will get downloaded and be given the name of a pipeline of the selected port. Say for example, in the graphical flow, if you choose a Receive Port and select the download option, the PDF will be downloaded and be given the name of the Receive Port pipeline.

Messaging Patterns

As you are aware, the message patterns are the unique flows that get recorded for the message transfers. To capture a message flow, choose the full-screen view option. Along with the zoom in and zoom out options, the PDF download button will now be visible

When the user wants to see a message flow, we display it as a graphical pattern with the artifacts involved.

Example: A message can be received by a receive port, split up and processed in separate orchestrations, after which the processed messages are being sent to external processes/systems. To capture a unique message flow and use it for reference in the future, the PDF download will be helpful.

Messaging Patterns will be downloaded with the name of the message pattern.

Operations Dashboard

BizTalk360 has a capability to add default widgets and create your own custom widgets. In such cases, you have configured important widgets into the dashboard.

Even though you have an option to make the dashboard as global, when you want to share within the team you would have to make screenshots. To avoid creating screenshots again, we have implemented the PDF download option.

When you navigate to the Operations Dashboard, at the top right corner, next to the Refresh button, the PDF button will be available.

When you download the Operations Dashboard, the PDF will get downloaded with the name of the dashboard.

Monitoring Dashboard

You may get the status of an alarm via notifications from BizTalk360 whenever the port goes down. You can also receive the complete status of the monitored artifacts, with the help of a regular health check alarm for each hour. But, when you want to share the immediate status of the alarm the PDF download option will be helpful.

The download option will be enabled, similar to the Messaging Patterns for the Operations Dashboard. You can choose the full-screen view option. Along with the zoom in and zoom out buttons, the PDF download button will now be visible.

As seen in the messaging pattern, when you download the monitoring dashboard, the PDF will be saved with the alarm name which you were viewing.

Analytics Dashboard

Like the Operations Dashboard, in the Analytics Dashboard, at the top right corner, next to the Refresh button, the PDF download button will be available.

When you download the PDF, it will get downloaded with the name of the dashboard.

Restore System XSLT

We constantly improve the email templates based on the customer requests and we provide the templates directly to the customers. After that, we make the changes on the default email template in the very next release.

To make use of the newly improved email template in both default and custom email templates which are already created, until now people had to update their template(s) manually. While doing the manual changes, there may be a chance of misconfiguring the template. To avoid the manual changes, we brought this new capability “Restore System XSLT”, directly from the user interface.

Monitor with Message Age

Another most requested capability is monitoring IBMMQ and Azure Service bus queues with message age.

Message age is the time a message exists in a Queue. Using the message age parameter, you can monitor the queue messages along with the time messages exist in a queue.

In a real-time scenario, a message should be processed and send out, as the queues serve as first in first out. If it is not being processed and still pending in the queues over a particular period, you will get notified with the implementation of Message Age parameter.

We have implemented Message Age parameter as an additional monitoring filter option, in two places.

  1. Azure Service Bus queues

  2. IBM MQ

As of now, using the Message Age parameter, you can monitor the message age from few seconds to 24 hours Say, for example, if you want to monitor a queue using the message age parameter, you can monitor the queue messages along with the time of the message when it is created.

Performance Improvement

For the table “b360_BizTalkDB_Tbl_sizes”, every minute a stored procedure in BizTalk360 will clear a table of old records and insert new records.

One of our customers started facing problems, that due to high CPU usage because of that query is being executed every minute. Also, while deleting an entry, a full table scan is done, every time the query is executed. In an environment, this causes 2 seconds of CPU usage and half a million of I/O’s per query. Also, there were duplicate entries in the table for different regional settings.

The cleaning takes place on both the MessageBox and the Tracking database. It causes 4 statements per minute, like the one above, and it leads to high CPU usage.

We found that a table index is missing for the table b360_BizTalkDB_Tbl_sizes. So, we have created an index for the table and also tuned the query for making entries. This will help to reduce the CPU usage.

Conclusion

We always keep track of our Feedback Portal and take up the valid suggestions and feedback.  Now, it is your turn to fill your business scenarios and features you are expecting to have in BizTalk360; please fill this questionnaire. Your valuable suggestions will help us to prioritize the next set of feature for upcoming releases.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

Support Deliberation

Support Deliberation

Support deliberation is a process of discussing the challenges we faced in support handling. It is an initiative which our CEO suggested, and we are following this to transfer the knowledge to the team. With the different levels of support, it is important to share the knowledge between the team members, so that it would help them to resolve customer issues efficiently, when they come across similar kind of issues. It’s not only for the support team, the entire product team, including the developers, QA and the documentation teams take part in this deliberation.

I would like to narrate this blog as a Q&A session, so that I can explain in detail.

What is deliberation?

As deliberation defines, it’s a place where we discuss in detail about the support process and the challenges we faced in resolving the issues related to the product. Every participant will share their view and add points to the discussion.

Who are all the stakeholders?

Everyone who is inside/part of the product will take part. People from Development, QA, Document and Support. The thumb rule is no one should skip the meeting. It is important for every team member to attend this meeting, because it would be helpful for everyone to gather more information about the product, as well as the customer’s expectations and queries.

Yes…!! We are the stakeholders of BizTalk360

What do we discuss?

At first, we used to conduct this meeting twice in a month for 30 minutes. We thought that we were delaying the process and for providing immediate attention to the support tickets, we cut down the days and currently we are conducting every week, Tuesday from 03:00 to 03:30 PM IST, sometimes it may extend a bit longer.

Each support person would come up with a list of interesting and challenging support tickets they had resolved the past week. The challenges include the support tickets, support articles, blogs, new feature requests and enhancements which were raised by customers.

What is the process?

The process is simple and clear, we will follow the below Agenda:

  • Discussing past one week important/challenging support cases
  • Discussing the solution provided
  • Gather inputs from the team members
  • What needs to be improved
  • Key Takeaways

Simple isn’t it?

What’s the flow?

We start with the updates and actions taken on what we discussed for the previous week, based on the key takeaways from the meeting. Then we will discuss the current week challenges.

What did we discuss in the present week?

Well, let’s dive deep into this. We will take past 7 days tickets for the discussion.

Interesting/challenging support tickets

We started the meeting with the interesting/challenging support tickets which we handled that week. Let’s take a support case.

When a customer tried to install BizTalk360 on a stand-alone machine, they faced below exception during BizTalk360 database creation.

At an initial stage, we thought it might be a permission issue. Later, after a lot of effort we found it’s due to the TLS versions enabled in that machine.

Key Takeaway

The development team would only have more knowledge about the product functionality, but they would be unaware of the security configuration at the customer end. This discussion will give them a better insight into the customer scenarios. As a takeaway, we have conveyed this to the developer team and testing team. So, that they will know the dependency of the installer and work/test accordingly.

Bugs

There is no perfect product and there is always more scope for the development of the product in the form of either bugs or enhancements. As BizTalk server is an ocean, we are trying to cover most of the functionality. Very recently we faced an issue with the customer side on Business Activity Monitoring (BAM). When they added a column, they received an error.

This issue happens when the end date column has NULL values and it was selected in the BAM query in BizTalk360.

Key Takeaway

We have passed this scenario to our team so that both developers and test engineers will be aware of it and they will include these scenarios in their test case checklist.

Creating team awareness

This topic is something interesting; even though it will be out of BizTalk360, it is still relevant.

Most of our customers started to face an exception in BizTalk360, once after installing a Windows Security patch update. We found the root cause, that not only BizTalk360 shows the exception, it is because BizTalk Server facing an exception, which is reflected in BizTalk360. We recommended removing the patch update and that solved their problem. Luckily Microsoft has re-issued the updated patch for the same on July 30, 2018.

Key Takeaway

Interesting isn’t it? We have conveyed to the team, so that they will be aware of the issue. If they face the same problem with BizTalk server, they will not wait for our system engineer to repair, but they will try to fix the issue in BizTalk Server. After that, the problem will most likely be fixed in BizTalk360 as well.

Improvement tickets

At BizTalk360, we evolve the product based on feedback we get from different forums like:

  1. Support tickets
  2. Customer relationship calls
  3. Feedback portal
  4. Direct feedback

Based on the customer’s feedback, the tickets will be discussed. The feedback may concern an existing feature enhancement, a new feature or a feature document.

Key Takeaway

Based on the discussion the action will be performed. Say for example, if the feedback comes to a documentation enhancement, one of us (as we are DevOps) will be assigned to complete the necessary changes.

For an existing feature enhancement or a new feature, we will discuss with the team. Based on the team members feedback, we will add the feature in the Feedback portal and make other customers vote for it. Based on the number of votes, we will include in the product or if it is already available in the portal, we will wait for the interest of other customers. If the team agrees to accept the feature for development, one of the persons will be assigned to develop or to improve the feature.

The Brainstorming session

This is an interesting part for me. We don’t want to run the session like a normal Knowledge Transfer session with the team and we always prefer an interactive session. So once after explaining the problem faced by the customer, we will ask the team what the best solution would be and what the necessary steps are to solve the problem.

Key Takeaway

The first point is to make the team understand the problem and get their opinion. It will help us to get the solution and their point of view and may provide a better dimension of that case. We have received a better suggestion from the team, every time. 

Hidden fact, it helps themselves, while developing, testing or documenting a feature. They will always be aware of how the customer is using a feature and act accordingly.

Minutes of Meeting (MOM)

Each meeting ends up with the key takeaways and MOM. This will help us to follow up and take necessary actions. During the next deliberation meeting, we start up with the past week’s MOM or with the tickets what we have discussed.

Why we started this process?

We wanted to break the dependency of individuals like Module owners and get more knowledge from our higher levels. As DevOps, we should be ready to accept any challenge while working in different roles . It’s also important to understand and be aware of the customer environment and business requirements.

I want to take this opportunity once again to thank everyone in and out of BizTalk360 for this wonderful opportunity and believing in us. We are looking forward, for much more opportunities.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

An interesting support experience – Troubleshooting External Notification Channel(Slack)

An interesting support experience – Troubleshooting External Notification Channel(Slack)

I can say last month was one another interesting month for me as a Support and Test engineer, as we have received quite a few interesting tickets.

Every support ticket gives us a different experience in its own way. But, some of the support tickets seem interesting, because it helps us to explore and learn new things. One of such tickets was related to the Slack Notification Channel.

Short intro about Notification Channels

BizTalk360 is embedded with a feature called Notification Channel. Not only does BizTalk360 support internal notification like emails and SMS, along with it, we support external notifications so that customers can write their own code to send alerts to the Notification Channel they use as per their organization policy.

External Notification Channel is another customer’s feature request, which we have developed and included in our product. As it can be very helpful to Support teams, we decided to create some inbuilt Notification Channels. Further, customers can create their own Notification Channel using their own code. Kindly find the blog for Custom Notification channel.

Feedback from the customer about custom Notification Channel

We have got very positive feedback from our customers about external Notification Channels and received quite a few requests to include some of the Notification Channels as an inbuilt feature. And we did so.

Also, we haven’t kept support aside; whenever customers face challenges with Notification Channels, we helped them to solve the issue at hand to our best. One such classic case is ‘Using BizTalk360’s Notification Channel to perform some action via a PowerShell script’.

Default Notification Channels

During the initial point of time, along with the version 8.0, we have provided BizTalk360 with some inbuilt Notification Channel such as:

1. Slack and
2. Webhook Notification Channel

Later as per the customer’s request, we have included two more Notification Channels and we have 4 now.

3. ServiceNow
4. Teams
Notification channel configuration in our latest version 8.8 looks like below.


Also, we have enhanced the Notification Channel feature as per the customer’s request. Such as,

Challenge in External notification #Slack

Last month, we received a support case regarding the Slack Notification Channel, that it’s not receiving any notifications from BizTalk360 and they faced the below exception in the log file:

2018-06-08 12:01:40 ERROR – Unable to connect to the remote server

We started to approach the case with the basic troubleshooting steps such as:

• Does the user have proper credentials?
• Any ports are blocked?
• Any security tools are blocking the connection?
• The URL what they used to connect slack?
•Does the proxy is blocking the internet connectivity?

The basic troubleshooting did not help us to solve the problem. So, we went into the screen-sharing session to investigate furthermore. At that point of time, we found that admin scope is missing for the application.

To give more insight about Slack:

In Slack,

• Groups are considered as #Channels
• Applications are predefined functionality, that is considered as #Apps
• Permissions are called as #Scopes

The flow is like:

1. You must create a Channel inside Slack
2. App creation will be followed by channel
3. Add necessary permissions/scopes to the created app
4. Generate Access Key/Token for the app
5. Add app inside the channel
6. Add the Access token for the app inside BizTalk360

We asked the customer to provide the admin scope and left the call. After few days customer came back with the same problem even though they have provided admin scope.

Creation of test environment

For Testing purposes, I have created a new Slack account and Channel, tested from the scratch and we have provided the same permission as the customer had.We got the same issue as the customer encountered, though the application has the scope admin.

What our code does?

We have analyzed with the source code level to find if anything is missing at our side. But found, the code is written in a generic way to push the plaintext message to any Notification Channel. So that, it could be sent to any platform. we have found that it is not a problem with sending a notification from BizTalk360, but it could be a permission issue.

After some testing and researching, we were not able to find the minimum permission what needs to be provided for the application in order to solve the customer issue. Later, we have decided to seek help from the Slack support team for further investigation.

Working with Slack Support

Daniel from the slack support team who worked with me throughout the way. I have created the support ticket along with the sample test application which had been created for testing. The conversation started with the basic questionaries and made sure the basic configuration is configured as per the actual expectation. However, everything is correct, still, we couldn’t make the app work. The direction of an investigation gone little deep and we will look it in the coming section in detail.

Troubleshooting with the permissions

Daniel conveyed, installed app in the test workspace has a valid token. But, looking through the logs, the application has enough permission (both admin & User identity) to receive the messages. Permissions are as below,

  1. https://api.slack.com/scopes/admin – Got Admin scope
  2. https://api.slack.com/scopes/identify – And got Identify Scope

Additionally, he suggested providing 

  1. Conversiontions:write &
  2. Converstions:read scopes

After following the suggestion, the app was not working. But the next suggestion made a trick.

What is the trick?!!

Later, we got a reply from Daniel “I took a closer look at your app, and it appears you haven’t added the chat: write scope. You’ll need this to make any chat:postMessage (https://api.slack.com/methods/chat.postMessage) calls with your app.
Providing the chat: write permission to the application indeed did the trick! The application writes a message in the Slack from BizTalk360. I have updated the same to the customer and that helped them to resolve their issue.

Satisfaction does it!

This was another support case which was interesting for me as it helped me to understand the code of Notification Channel from a Developer perspective. I have explored Slack along with BizTalk360 which provided more insight from the Tester perspective. Working along with the customer and Slack Support team gave satisfaction as a Support engineer. I have received “an Awesome” review from the customer side 😊

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

How we introduced DevOps during the release of BizTalk360 v8.8

How we introduced DevOps during the release of BizTalk360 v8.8

We are excited to launch version 8.8 of BizTalk360, where we have added improvements to existing features and resolved quite a few numbers of outstanding support tickets which were raised by our customers.

As others are excited, I’m even little bit more excited about the BizTalk360 new version release. The reason being, in this release every person in the team has transformed and performed as a DevOps in BizTalk360. Everyone on the team provided their contribution in the form of developing a new feature, enhancing an existing feature, testing, documenting, writing blogs and so on.

DevOps Transformation

2017 was a special year for BizTalk360 product support, we had learned many new things. We started this year with a lot of training. We all product support engineers underwent product training with the help of the respective developers who developed the product features and with the QA who tested.

In 2018, we evolved ourselves from support engineers to QA cum Product Support engineer this year!!! As a product-based and a start-up company, we have improved ourselves and have learned from previous practices.

Being a support engineer for a long time, I have been involved in the development activity. I take this opportunity to thank everyone in and out of BizTalk360 for this wonderful opportunity.

The Development Process of v8.8

This time we have changed our development process from Agile to Kanban as well. As the process changed, we are in a situation to monitor each task what we do.

In the version 8.7, few of us evolved as a DevOps and worked along with the release. With the hands-on experience in the version 8.7, we planned our 8.8 from the requirement of the features to the post-release validation.

Here is the task list what we followed in 8.8.DevOps at BizTalk360: Task list

Sprint plan

We planned for 2 months duration with 4 sprints, each sprint holding 2 weeks of duration in this release. As we have our own priority (like Support, QA, Dev involved) based on our availability, the tasks were allocated in each sprint.

During the completion of a sprint and to start another sprint, the feature allocated must be in the deliverable state.

DevOps at BizTalk360: Sprint plan

Task plan

The tasks will be assigned to the individuals based on the nature of their jobs. The assigned tasks must be completed before sprint completion. When I say fixing or enhancement of the feature for the sprint, it doesn’t mean just development. It includes:

  • development
  • testing
  • documentation of the feature
  • support document
  • mock Release notes

Documentation

For the Release Notes, we took a complete list of the development tasks and decided what needed to be added in the Release Notes and the support documentation.

If it’s a feature enhancement, we will change the existing documentation according to the feature enhancement. For a new feature, we created a new article in our support portal (https://assist.biztalk360.com). Also, we prepared a rough Release Notes article.

Screenshot of mock release notes.

DevOps at BizTalk360: Release Notes mock

Once we complete a feature enhancement or a new feature document, we will send it to one of the team members for internal review.  After review, we will pass it on to the Documentation team to add or make changes to the support document.

Here is a part of the list of the documentation index what we had done in 8.8.

DevOps at BizTalk360: Documentation Index

Post-release validation

The process does not end once the product is ready for release. We do have few activities for the post-release validations to make the release complete and we were also involved in these activities. The activities include the tasks needed to be done before the product is announced to the public.

Here is the sample list of post-release validation list.

DevOps at BizTalk360: post release validation checklist

Daily Stand-up

Meetings are always helpful for the team coordination and understand the activities and make sure everyone on the team is on the same page. Daily stand-up is one another way to update our daily task, to reveal our technical challenges what we had faced on the day before, the tasks what we have worked and what we are going to work on the day.

If there are any challenges faced, any one of the people from the team or from other teams will help you out to overcome the problem. Also, we get feedback and suggestion on the tasks. If we have any technical dependencies we will convey in the meeting so that within a team all will get to know who is working on what. It helped us to complete the task on time.

Along with the task update, we will also verify the development progress, testing, documentation of the feature, support and mock release notes.

Show and Tell

As the name implies, we show our developed feature and tell the progress of our development activity to the team. This is something different from the Daily stand-up as we would showcase the tasks performed for the entire week and demo the feature developed to have the feedback from the management.

Show and tell is conducted every Monday afternoon. We will showcase what we developed during the meeting to our CEO along with the external team members to get their feedback and suggestion. Based on the suggestion we will make changes.

Challenges what we faced

It is not that much easy to transform from a QA and Technical Support engineer to DevOps even though we handle technical things.

From our side, at the very beginning stage, we faced a problem with the priority and time consumption. At a very earlier stage, I was not able to focus completely on the development since we are handling the support. We receive support cases and our priority is to solve the tickets as soon as possible. We could overcome this by the practice in various sprints.

“Success is where preparation and opportunity meet”

From my personal point of view, since we handled from the requirement to post-release validation I would like to name it as contribute360. I personally take this opportunity once again to thank everyone in and out of BizTalk360 for this wonderful opportunity and believing in us. We are looking forward to much more opportunity.

Feedback portal

>>Which feature would you like to see coming in BizTalk360 in upcoming releases? <<

Now we would like to request you, our customers, to please take the time to fill this questionnaire. This helps us to prioritize the next upcoming feature tasks and will let us know what your main pain points are. This way we can further improve the product and make it a usable as possible for you.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

Monitoring multiple versions of BizTalk Environments using BizTalk360

Monitoring multiple versions of BizTalk Environments using BizTalk360

BizTalk360 is the one-stop monitoring tool for monitoring BizTalk server. It is possible to configure more than one BizTalk environments and monitor them in a single instance of BizTalk360. Recently in BizTalk360 technical product support, we received quite a few tickets regarding the BizTalk Server upgrade process. Some of the customers would like to test if their newly configured BizTalk environment is working as excepted and running without any issues. Also, the customer would like to test the new server using BizTalk360 as they like to monitor in future.

The customer scenario:

Most of the customers have a dedicated BizTalk360 server for their BizTalk environments. The scenario what customer required in the support ticket was to have two different environments configured on the same BizTalk360 machine for some days and then switch them when they go live onto the new environment. They just wanted to check if it is possible to setup two environments on the same BizTalk360 installation. And if possible, they requested us to provide a temporary license for migration.

One of the common queries from the customers is that, is it possible to monitor two different BizTalk environments in a single instance of BizTalk360. For example, the customer would like to monitor the old BizTalk Server 2013R2 environment and new BizTalk Server 2016 environment within a single BizTalk360 installation.

Monitoring multiple versions of BizTalk Environments using BizTalk360

What happens in BizTalk server?

It is not possible to monitor non-identical versions of BizTalk environments like BizTalk Server 2013 R2 and BizTalk Server 2016 within a single BizTalk360 installation. This cannot be achieved even within the BizTalk server. When you try to connect the existing database of BizTalk server 2013 R2 from the BizTalk server 2016, you may face the below exception.

Monitoring multiple versions of BizTalk Environments using BizTalk360

In the above error message, the 5th point explains the current scenario. It says the database is not compatible with the version of BizTalk server currently running. This message clearly tells the mismatch between the different BizTalk versions installed. The database of BizTalk server 2016 would not be compatible with BizTalk server 2013 R2.

At the same time when you connect to the BizTalk server 2013R2, you will not face any problem in connecting to the existing database.

Monitoring multiple versions of BizTalk Environments using BizTalk360

The reason behind this is, when you try to connect the existing database, it will verify the table BizTalkDBVersion in BizTalkMgmtDb database to confirm if the database version and the application version are same. If there is a difference it will throw an exception while connecting.

This is what happens in BizTalk360:

Let’s take a brief look within BizTalk360. During the installation of BizTalk360, one of the primary prerequisites is to install BizTalk Server components on BizTalk360 server. Once after the installation of these components, BizTalk360 installer allows you to proceed the installation on top of it. BizTalk360 directly calls the ExplorerOM to take any action against the BizTalk server artefacts. When you install BizTalk server components inside the BizTalk360 machine it will behave in the same way as the BizTalk server.

When you are trying to add another environment with different BizTalk Server version you will face the same exception and BizTalk360 will convey the exact problem with the below exception message.

Monitoring multiple versions of BizTalk Environments using BizTalk360

When you have multiple environments configured in BizTalk360 and if you are upgrading the BizTalk server, you must upgrade BizTalk servers in all the environments with the same version. If any machine is missed without upgrading, the below exception will appear while launching BizTalk360 UI.

Monitoring multiple versions of BizTalk Environments using BizTalk360

BizTalk360 works with any BizTalk version but it requires the Administration Tools from BizTalk to access the BizTalk API’s and since you cannot install multiple BizTalk version in one server you need to have separate BizTalk360 installations for each BizTalk version that you need to target.

What about the BizTalk admin components:

As mentioned earlier, BizTalk360 contacts BizTalk server through ExplorerOM with the help of the BizTalk admin components installed. Hence when we upgrade the BizTalk server in the server machines, we must also upgrade BizTalk admin components in the BizTalk360 machine. In BizTalk360 database, there are two tables in which the BizTalk version is stored, namely

  • b360_admin_BizTalkEnvironment -> BizTalk Version
  • b360_admin_GlobalProperties -> MS_BIZTALK_VERSION & MS_BIZTALK_INSTALL_LOCATION

So, when the BizTalk server and admin components are upgraded, the above-mentioned values must be changed manually in the BizTalk360 database for the new version to come into effect. The steps to be followed are:

1.We must deactivate the BizTalk360 license.

  1. Then upgrade BTS server & then admin components on the BT360 server (if it is standalone).
  2. Then if we activate BizTalk360 license it should pick up the new BTS version.
  3. Then update the BizTalk server version details in the two BizTalk360 database tables.

Conclusion:

But however, BizTalk360 can monitor multiple BizTalk environments with the same BizTalk server version. Hence, if you want to monitor different BizTalk server versions, there must be different installations of BizTalk360 for each BizTalk version with the respective BizTalk version components installed on the BizTalk360 machine. This way the database incompatibility error will be avoided. But we can monitor multiple BizTalk environments of the same version within the single instance of BizTalk360.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.

Can we create Custom widgets with cross domain URL?

Can we create Custom widgets with cross domain URL?

In my previous blog, I spoke about one of the issues we encountered during our support. In this blog, I will specifically be talking about the custom widgets in BizTalk360, which a lot of our customers use to display data that is important to them. Users are able to create custom widgets and associate them with a dashboard. Custom widgets allow integration with BizTalk360’s own API’s, as well as third-party API’s.

The below code in a custom widget shows analytical data in graphical form. In recent times, we received a support case where the customer was trying to create a custom widget referencing the blog. Following should be the result of the custom widget in the dashboard.

Can we create Custom widgets with cross domain URL?

Can we create Custom widgets with cross domain URL?

But the customer ended up with the below error after integrating the custom widget.

Can we create Custom widgets with cross domain URL?

A script for the custom widget:

<script>
//URL used to get JSON Data for the Charts
this.URL = 'http://rawgit.com/cyberkingvb/CustomWidgetWithChart/master/sales2016.json';

//Refresh interval in milliseconds 60000 milliseconds = 60 seconds
this.REFRESH_INTERVAL = 60000;
 
//flag to check if widget should auto Refresh
this.AUTO_REFRESH_ENABLED = true;
 
//Highcharts Options
this.HIGHCHART_OPTIONS = {
            chart: {
                type: 'line',
                zoomType: 'x'
            },
            exporting: {
                enabled: false
            },
            credits: {
                enabled: false,
                title: '',
                style: {
                    display: 'none'
                }
            },
            title: {
                text: 'Sales of 2016'
            },
            xAxis: {
                type: 'datetime'
            },
            yAxis: {
                min:0,
                title: {
                text: 'Units'
                },
            },
            tooltip: {
                crosshairs: true,
                shared: true,
                valueSuffix: 'Units'
            },
            legend: {
                enabled: false
            },
            series: [{
                name: 'Sales',
                data: []
            }]
        };
     
this.widgetDetails = ko.observable();
this.error = ko.observable(null);
var _this = this;
var getdata = function() 
    {
$.getJSON(_this.URL, function (data) 
            {
                _this.HIGHCHART_OPTIONS.series[0].data = data;
                _this.widgetDetails(_this.HIGHCHART_OPTIONS);
            _this.error(null);
            }).fail(function(errorObject,error) 
            {
    console.log(errorObject);
    _this.error(errorObject);
});
    }
 
//loading data for the first time
getdata();
     
//handles auto refresh
if(this.AUTO_REFRESH_ENABLED)
    setInterval(getdata, this.REFRESH_INTERVAL);
     
</script>
 
<!-- ko if: error() == null -->
<div data-bind="highCharts: widgetDetails()" style="height:380px; width:700px"></div>
<!-- /ko -->
 
<!-- ko if: error() != null -->
<div class="row">
  <div class="col-md-offset-4 col-md-4 bg-danger">
    <b>
      <p>Error occured while trying to fetch data </p>
        <span>Status : </span><span data-bind="text:error().status"></span><br>
      <span>Status Text : </span><span data-bind="text:error().statusText"></span>
    </b>
</div>
</div>
<!-- /ko -->

Script Explained

This code consists of 4 configuration variables.

URL

URL variable will allow you configure the API URL from where you fetch the JSON data. Based on the High charts options, the formatting for the data may also change. Here in the above example, the API returns the data as JSON array and date-time stamp as a Unix Timestamp.

AUTO_REFRESH_ENABLED

This flag determines if your widget should be auto-refreshed or not. For instance, if the service call that feeds your chart is very expensive and you don’t want to call that every now and then, then you can probably disable this flag or set the refresh interval to a higher value.

REFRESH_INTERVAL

Refresh interval lets you configure the interval after which the widget data should be refreshed. Note that the interval is in milliseconds. So, if you want it to refresh every one minute then you should set the refresh interval to 60000. Note that for an auto-refresh to work, AUTO_REFRESH_ENABLED flag must be set to true.

HIGHCHART_OPTIONS

BizTalk360 uses High charts for all data analytics. We already have the underlying binding handler framework to apply the options and this makes analytic widget creation a lot easier. To modify the charts, you simply need to update the HIGHCHART_OPTIONS. In this example,

the “data” property inside series array (where the data is supposed to be) is left as an empty array intentionally. It will be filled with the data that is retrieved from the URL that you have specified. High charts support a variety of charts and you can follow this link to get the type of chart that you want to bring into your custom widget.

The line chart that we have created here can be converted into an Area chart or a Column chart by simply changing “type” under “charts” options in HIGHCHART_OPTIONS.

Investigation of the Issue

Initially, we suspected that the customer might not be able to fetch the JSON data using the http://rawgit.com/cyberkingvb/CustomWidgetWithChart/master/sales2016.json URL. When we asked to browse the URL and they could browse and view the results. So, the next step was to isolate the case at the customer end. Whenever such a situation arises we require more information about the customer’s environment, we would go for a web meeting with a screen sharing session. We went for the screen sharing session and we started with the basic troubleshooting steps like checking the configuration, environment etc.

At last, we found that the customer is using https://localhot/biztalk360 and he is trying to monitor http://rawgit.com/cyberkingvb/CustomWidgetWithChart/master/sales2016.json.

Using HTTPS, there is a security code being generated and shared to accept the information between computers. (Say, in client and server architecture). This keeps the information safe from the hackers.

They use the “code” on a Secure Sockets Layer (SSL), sometimes called Transport Layer Security (TLS) to send the information back and forth.

Resolution Provided

When the HTTP is used inside the HTTPS URL, the HTTPS expected a “code” from HTTP. When the response from the widget URL was coming without the code it threw the error message “Access is denied” on the widget.

Hence, It is not possible to create custom widgets with the cross-domain URL. If the HTTPS is used, all the related URL must use the HTTPS.

If you have any questions, contact us at support@biztalk360.com. Also, feel free to leave your feedback in our forum.

Author: Sivaramakrishnan Arumugam

Sivaramakrishnan is our Support Engineer with quite a few certifications under his belt. He has been instrumental in handling the customer support area. He believes Travelling makes happy of anyone.