BizTalk 2020 and Beyond
Published: 2022-05-24 05:41:19

This blog gives a detailed overview of BizTalk Server 2020 and the future of BizTalk On-Premise solutions. This session also has an update on [BizTalk Migration](https://www.biztalk360.com/blog/biztalk-server-2020-migration-path/).

## BizTalk Server 2020
Valerie started the session with the information about the new release of BizTalk Server 2020 early this year 15th January. She gave a brief introduction of what’s new features and how the features of [BizTalk Server 2020](https://www.biztalk360.com/blog/biztalk-server-2020/) have been developed year on year (2017, 2018 & 2019) after the BizTalk Server 2016 release.


## BizTalk Beyond 2020 Version
It’s the most anticipated announcement from the Microsoft Product Team about the future of BizTalk Server. BizTalk Product Team has a plan about the vNext version with Cloud-Native and Hybrid Solutions. However, the timeline to release of the next version is not determined, but It could be as like of BizTalk Server 2016 incremental updates (Service Pack). It’s too early to predict the next version of BizTalk Server, it’s purely based on platforms that run on and update which version of Visual Studio/ SQL Server supports. In the below screenshots you can get a clear roadmap of the BizTalk Server from its first version.

## BizTalk to Azure Integration – Migration Tool

The announcement of the BizTalk to Azure Integration Tool is the next major update from the product team. Jon introduced the BizTalk Migrator Tool during the Keynote of Integrate 2020 Remote, but this session is completely about the tool.

Following are the highlights of BizTalk Migration Tool;

* It is a Command-Line Tool to assist with Migrating. This tool is under development and fall availability is planned.
*Runs against BizTalk MSI files to gather information about the BizTalk solution.
* If you want to migrate the BizTalk solutions, those msi’s need to be exported and run against in the new environment through this command-line tool.
* Will be Open Source as designed to be extensible and written in C#. Almost 80% of the scenario will be covered based on the major business scenario. If there is any other scenario need to be covered then community users /end-users are privileged to do the changes.
* Migration Tool has divided into six stages, each with their own interfaces for the extensibility.
* Discover, Parse & Analyze
1. Discover is the very first and it will be looking at all the msi and discover all the artifacts.
2. Once after that through parsing the tool will generate the XML file.
3. The generated file will be helpful to produce the HTML report of existing BizTalk applications for analyzing.
* Report, Convert
1. Based on the report everything (BizTalk Solutions & Artifacts) will be converted to Azure Components (Logic Apps, API Management, etc.,). Microsoft will provide the templates for conversion or else users are privileged to extend the code based on their business scenario to add the additional templates. (Here comes extensibility into the picture).
* Verify
1. This component will be helpful to test the exported BizTalk Solutions are working fine after the migration.

## A Detailed look at AIM
It is a command-line tool and the executable named “AIM” (Azure Integration Migration Tool). During the initial launch of the tool, the assessment will run with the command aim as mentioned in the screenshot.

In order to run the tool, there is a library used as “Chocolatey”. As explained in the previous section the tool will go through the first of the six stages “Discover” and then subsequent stages to do the migration.

Basically, the user can define the run mode of the tool. In the normal mode, the tool will run and do the migration and complete without any log. In the verbose mode, users can run the tool with extensive logging which will help them to identify the errors.

Migration Tool has other command-line options, but the important information is, you can run the tool only to Assess or either other stages individually (Migrate, Convert, Verify).

## Migration Report
Azure Integration Migration Tool will generate the HTML report with detailed information as shown in the screenshot.

They are

1. Discovered Resources
2. Each Application Artifacts migration – for example, FTP Adapter is migrating to FTP Connector in Azure but some manual intervention is needed to authenticate the FTP Server.

## Migration Path with an example
Here in this example, we can see how the content-based routing is happening and the abilities it has, and how it is using the context properties with the Service Bus Topics and APIM Routing Manager.

Let’s assume a message coming in from FTP,

1. It will investigate the FTP connector in the Logic app.
2. The message constructor will get some envelope or Routing slip and save that in Azure app config.
3. Then sends the message to the intermediary
4. Routing slip router till receiving the message. Then Azure management API is being used to resolve the routing address identification in order to send the message to the correct address (Subscribers).
**Note:** Logic apps are intended to run the same as BizTalk to send the messages.

5. Then next, Logic Apps use the Integration Account to convert Flat File schema into XML Schema. In this example, an XML validator is being used.
XML validator
6. Once the validation is completed then the message will be passed to the next stage respectively like RoutingSlipRouter, XML Transform, and again RoutingSlipRouter.
7. Finally, the message will be transmitted to the ContentBasedRouter and rooted to ServiceBus Topic to share the message with the respective senders.
ContentBasedRouter
Note: The users can keep all the business processes in a single logic app or split the flows to multiple logic apps it’s purely based on the business use cases.

## Conclusion
Microsoft has encouraged the customers of BizTalk On-premise to use the latest Azure technologies.  AIM is in the initial phase to migrate the BizTalk Solutions from on-prem to Cloud. Future of Integration will be focused on Cloud Native + Hybrid Integration.