SlideShare a Scribd company logo
Dan Toomey
Escaping the T-
Rex
Deloitte
@daniel2me
A brief look at the BizTalk
Migrator
Coming up: Deep Dive
Dan Toomey
Deloitte
Senior Integration
Specialist
@daniel2me
/in/danieltoomey
Why migrate from BizTalk?
• Freedom from version bondage
• Licensing costs
• Maintenance costs
• Support windows
• Skills shortage
• Scalability
• Modern architecture
What about parity?
BizTalk Server Azure Integration Services
Messaging Engine Azure Service Bus
Receive / Send Adapters Logic Apps Connectors
Azure Functions
Event Grid
Orchestration Azure Logic Apps
Azure Durable Functions
Schemas & Maps Integration Account
Liquid Templates
Pipelines Logic Apps
Azure Functions
Business Rules Engine ??
BAM ??
The BizTalk Migrator tool
• Command line utility for migrating BizTalk applications to
Azure Integration Services
• Plug-in architecture
• Open source
• Capabilities:
• Discover/Parse
• Analyse
• Report
• Convert
Supported
• Adapters:
• File
• FTP
• HTTP
• Pipelines:
• XmlReceive
• XmlTransmit
• PassthruReceive
• PassthruTransmit
• Pipeline components:
• XmlDisassembler*
• XmlAssembler*
• XmlValidator
• JsonDecoder
• JsonEncoder
• FlatFileDecoder
• Orchestration entities:
• Variables
• Ports/Port Types
• Receive Shapes
• Send Shapes
• Construct Shapes
• Transform Shapes
• Transforms in Receive Ports/Send Ports
• Property Promotion and Demotion in pipelines
• Generates placeholders for unsupported
orchestration shapes
• Creates a library of common services and Logic
Apps that can be used by any integration
application (e.g. BizTalk.System application)
*Most common usage
only
Not supported
• Any adapter not listed in the last slide (e.g. WCF Adapters)
• Envelope handling (XmlAssembler/XmlDisassembler)
• Recoverable Interchange handling (XmlDisassembler)
• Inline C#
• Complex Orchestrations
• Correlation/Convoys
• EDI/Accelerators
What do I need?
• For installing and running the tool:
• Windows 10 or Windows Server
• Chocolatey (https://chocolatey.org/)
• For installing and running the output:
• Azure CLI
• Active Azure subscription
• Windows PowerShell or PSCore (use latest version!)
Installing the tool
• Install with
Chocolately in
PowerShell
• Use the
--pre flag
Converting an application
Optional parameters:
• Target integration
environment
(Consumption| ISE)
• Subscription ID
• Target
primary/secondary
region
• Unique deployment ID
• Etc.
Differences from BizTalk
• Flat File Decoding : Uses the FlatFile Encode/Decode Integration Account actions. These have a
small number of known compatibility issues, especially around the suppression of empty nodes.
• No Subscribers Found : In BizTalk, if a message is published and no subscriber exists, BizTalk
throws an exception. Service Bus does not do this: instead the message is published, and if no
Subscriber has picked up that message after a given length of time, the message is sent to the
Dead Letter queue
• Unknown Schemas : Slightly different defaults for handling scenarios where a message is
published but no Schema can be found. In general, these scenarios are allowed: the message will
be published, but because there is no MessageType property set, it is likely that there will be no
subscribers.
• Json Encode/Decode : as with BizTalk, Newtonsoft's Json.NET library is used to handle
conversion. Due to licensing issues (and the fact this is an open source project), this is NOT the
exact code that BizTalk uses (i.e. accustom JSON formatter for serialization/deserialization). This
means that there will be cases where the JSON emitted (for XML->JSON scenarios) may be
slightly different than what BizTalk emits.
• Orchestration Exception Handling : Logic Apps have no equivalent to the try/catch exception
blocks used in BizTalk Orchestrations. The tool does not even attempt to migrate them (at the
moment). Instead, the Orchestration flow is wrapped in a Scope, and standard Logic App RunAfter
functionality is used to check if there were any errors. If you need to execute specific code
depending on error scenarios, you'll need to manually add this.
Sample Scenario:
Orchestration with HTTP Request-Response
Messaging Engine
SQL Server databases
BizTalk System Application
Orchestration
2-way Receive Port
Receive
Location
HTTP
Adapter
Map 2 Pipelines
Receive Send
A
P
P
P
L
A
T
F
O
R
M
B
I
N
D
I
N
G
F
I
L
E
Sample Scenario:
Orchestration with HTTP Request-Response
Message Bus
API Management, Function Apps, Integration Acct, Logic Apps,
Key Vault, App Insights, Storage, App Config, etc
BizTalk System
13 Logic Apps, 3 API Connectors, Service Bus
2 API Connectors
(Service Bus)
PO Processor
Subscription
Req/Resp Port
Subscription
3 Logic Apps
Purchase Order
Receive
Purchase Order
Process
Request/Response
Port
R
E
S
O
U
R
C
E
G
R
O
U
P
S
A
P
P
P
L
A
T
F
O
R
M
Problems you may encounter
• Maximum string length for names
• https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-
rules
• Names are generated from concatenated sub-components, which can be lengthy
• FIX: Search & replace (e.g. “UK South”  “uks”)
• Duplicate references when multiple applications contain the same .Net types or port
names
• FIX: Run the MSIs through the migrator separately
• Existing resources/SKU levels and deployment errors
• Free Integration Account, free Azure App Configuration exists already (only 1 allowed per sub)
• FIX: Modify the deployment scripts to use the existing resources
• Unsupported scenarios
• FIX: Manually edit the converted application to include the missing functionality
References
• The BizTalk Migrator tool:
https://github.com/Azure/aimtool
• The BizTalk Migrator User Guide:
https://github.com/Azure/aimtool/blob/main/docs/user-guide/README.md
• Chocolatey:
https://chocolatey.org/
• Azure CLI installer:
https://docs.microsoft.com/cli/azure/install-az
• PowerShell Installer:
https://github.com/PowerShell/PowerShell
• Maximum lengths for Azure resource names:
https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules
• Flat File Decoding and Empty Nodes:
https://docs.microsoft.com/en-us/archive/blogs/david_burgs_blog/wheres-my-node-logic-apps-flat-file-decode-beware-suppress-empty-nodes-
unintended-effect
• Solentive InRule:
https://www.solentive.com.au/inrule-business-rules-engine/
• Atomic Scope:
https://www.atomicscope.com/
Key Runaways
Takeaways
• Apples vs. Oranges:
re-architecting for the cloud
• Jumpstart only:
you’ll still need to write code
• Highly extensible & open source
Thank you!

More Related Content

PPTX
Microsoft Azure News - August 2021
PPTX
Microsoft Azure News - November 2021
PPTX
Serverless iPaaS in Azure (IDU)
PPTX
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
PPTX
MegaPort: Creating a Better Way for Networks and Cloud to Interconnect
PPTX
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
PPTX
Microsoft Azure News - February 2022
PPTX
Microsoft Azure News - June 2021
Microsoft Azure News - August 2021
Microsoft Azure News - November 2021
Serverless iPaaS in Azure (IDU)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
MegaPort: Creating a Better Way for Networks and Cloud to Interconnect
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
Microsoft Azure News - February 2022
Microsoft Azure News - June 2021

What's hot (20)

PPTX
Microsoft Azure News - July 2021
PPTX
Azure app services 2 - Logic & Api Apps
PPT
Presentatie 20071121 Dutch Railways And Soa Avans (1x90min) V1.0
PPTX
Integration with Dynamics CRM
PPTX
Cloud computing
PPTX
MIUG 21-09-2017 Azure iPaaS
PPTX
Hybrid connectivity options with the microsoft cloud
PPTX
BizTalk Mapping Patterns and Best Practices
PDF
InfluxDB Live Product Training
PPT
20071204 Arc Ready Office As A Platform
PPTX
Microsoft Azure News - Feb 2021
PPTX
Microsoft Azure News - December 2021
PPTX
Design Strategy for Data Isolation in SaaS Model
PPTX
Azure Cloud PPT
PDF
Microsoft Azure : Microsoft Strategy for Cloud Computing
PPTX
ELEKS DevTalks #4: Amazon Web Services Crash Course
PPTX
Hybrid connectivity through Logic Apps (Glenn Colpaert - webinar)
PPTX
Windows Azure
PDF
Azure 101
PPTX
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
Microsoft Azure News - July 2021
Azure app services 2 - Logic & Api Apps
Presentatie 20071121 Dutch Railways And Soa Avans (1x90min) V1.0
Integration with Dynamics CRM
Cloud computing
MIUG 21-09-2017 Azure iPaaS
Hybrid connectivity options with the microsoft cloud
BizTalk Mapping Patterns and Best Practices
InfluxDB Live Product Training
20071204 Arc Ready Office As A Platform
Microsoft Azure News - Feb 2021
Microsoft Azure News - December 2021
Design Strategy for Data Isolation in SaaS Model
Azure Cloud PPT
Microsoft Azure : Microsoft Strategy for Cloud Computing
ELEKS DevTalks #4: Amazon Web Services Crash Course
Hybrid connectivity through Logic Apps (Glenn Colpaert - webinar)
Windows Azure
Azure 101
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
Ad

Similar to Gib 2021 - Intro to BizTalk Migrator (20)

PPTX
Integration Monday - BizTalk Migrator Deep Dive
PPTX
Micro services - Practicalities & things to watch out for
PPTX
Micro services
PDF
Building an Observability Platform in 389 Difficult Steps
PDF
The Patterns of Distributed Logging and Containers
PPTX
Designing microservices part2
PDF
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
PDF
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
PDF
Real time web apps
PDF
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
PDF
SoC Keynote:The State of the Art in Integration Technology
PPTX
Microservices-101
PDF
Introduction to Apache Kafka
PPTX
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
PPTX
Biztalk ESB Toolkit Introduction
PPTX
Serverless at Lifestage
PPTX
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
PDF
Apache Kafka - Scalable Message-Processing and more !
PPTX
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
PPTX
What you need to know about .NET Core 3.0 and beyond
Integration Monday - BizTalk Migrator Deep Dive
Micro services - Practicalities & things to watch out for
Micro services
Building an Observability Platform in 389 Difficult Steps
The Patterns of Distributed Logging and Containers
Designing microservices part2
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Real time web apps
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
SoC Keynote:The State of the Art in Integration Technology
Microservices-101
Introduction to Apache Kafka
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
Biztalk ESB Toolkit Introduction
Serverless at Lifestage
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
Apache Kafka - Scalable Message-Processing and more !
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
What you need to know about .NET Core 3.0 and beyond
Ad

More from Daniel Toomey (20)

PPTX
Microsoft Azure News - May 2025 - BAUG _
PPTX
Microsoft Azure News - February 2025 - BAUG
PPTX
Microsoft Azure News - January 2025 - BAUG
PPTX
Microsoft Azure News - December 2024 - BAUG
PPTX
Microsoft Azure News - November 2024 - BAUG
PPTX
Microsoft Azure News - October 2024 - BAUG
PPTX
Microsoft Azure News - September 2024 - BAUG
PPTX
Updates from the INTEGRATE 2024 Conference
PPTX
Microsoft Azure News - August 2024 - BAUG
PPTX
Microsoft Azure News - July 2024 -- BAUG
PPTX
Azure Logic Apps & AI - Building Integration & AI Solutions
PPTX
Microsoft Azure News - May 2024 - BAUG'24
PPTX
Azure Logic Apps and Copilot.pptx .
PPTX
Microsoft Azure News - April 2024 .
PPTX
Microsoft Azure News - Feb 2024
PPTX
Microsoft Azure News - Dec 2023
PPTX
Microsoft Azure News - Nov 2023
PPTX
Microsoft AzureNews - Oct 2023
PPTX
Microsoft Azure New - Sep 2023
PPTX
Microsoft Azure News - Aug 2023
Microsoft Azure News - May 2025 - BAUG _
Microsoft Azure News - February 2025 - BAUG
Microsoft Azure News - January 2025 - BAUG
Microsoft Azure News - December 2024 - BAUG
Microsoft Azure News - November 2024 - BAUG
Microsoft Azure News - October 2024 - BAUG
Microsoft Azure News - September 2024 - BAUG
Updates from the INTEGRATE 2024 Conference
Microsoft Azure News - August 2024 - BAUG
Microsoft Azure News - July 2024 -- BAUG
Azure Logic Apps & AI - Building Integration & AI Solutions
Microsoft Azure News - May 2024 - BAUG'24
Azure Logic Apps and Copilot.pptx .
Microsoft Azure News - April 2024 .
Microsoft Azure News - Feb 2024
Microsoft Azure News - Dec 2023
Microsoft Azure News - Nov 2023
Microsoft AzureNews - Oct 2023
Microsoft Azure New - Sep 2023
Microsoft Azure News - Aug 2023

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
sap open course for s4hana steps from ECC to s4
NewMind AI Weekly Chronicles - August'25 Week I
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Approach and Philosophy of On baking technology
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...

Gib 2021 - Intro to BizTalk Migrator

  • 1. Dan Toomey Escaping the T- Rex Deloitte @daniel2me A brief look at the BizTalk Migrator
  • 4. Why migrate from BizTalk? • Freedom from version bondage • Licensing costs • Maintenance costs • Support windows • Skills shortage • Scalability • Modern architecture
  • 5. What about parity? BizTalk Server Azure Integration Services Messaging Engine Azure Service Bus Receive / Send Adapters Logic Apps Connectors Azure Functions Event Grid Orchestration Azure Logic Apps Azure Durable Functions Schemas & Maps Integration Account Liquid Templates Pipelines Logic Apps Azure Functions Business Rules Engine ?? BAM ??
  • 6. The BizTalk Migrator tool • Command line utility for migrating BizTalk applications to Azure Integration Services • Plug-in architecture • Open source • Capabilities: • Discover/Parse • Analyse • Report • Convert
  • 7. Supported • Adapters: • File • FTP • HTTP • Pipelines: • XmlReceive • XmlTransmit • PassthruReceive • PassthruTransmit • Pipeline components: • XmlDisassembler* • XmlAssembler* • XmlValidator • JsonDecoder • JsonEncoder • FlatFileDecoder • Orchestration entities: • Variables • Ports/Port Types • Receive Shapes • Send Shapes • Construct Shapes • Transform Shapes • Transforms in Receive Ports/Send Ports • Property Promotion and Demotion in pipelines • Generates placeholders for unsupported orchestration shapes • Creates a library of common services and Logic Apps that can be used by any integration application (e.g. BizTalk.System application) *Most common usage only
  • 8. Not supported • Any adapter not listed in the last slide (e.g. WCF Adapters) • Envelope handling (XmlAssembler/XmlDisassembler) • Recoverable Interchange handling (XmlDisassembler) • Inline C# • Complex Orchestrations • Correlation/Convoys • EDI/Accelerators
  • 9. What do I need? • For installing and running the tool: • Windows 10 or Windows Server • Chocolatey (https://chocolatey.org/) • For installing and running the output: • Azure CLI • Active Azure subscription • Windows PowerShell or PSCore (use latest version!)
  • 10. Installing the tool • Install with Chocolately in PowerShell • Use the --pre flag
  • 11. Converting an application Optional parameters: • Target integration environment (Consumption| ISE) • Subscription ID • Target primary/secondary region • Unique deployment ID • Etc.
  • 12. Differences from BizTalk • Flat File Decoding : Uses the FlatFile Encode/Decode Integration Account actions. These have a small number of known compatibility issues, especially around the suppression of empty nodes. • No Subscribers Found : In BizTalk, if a message is published and no subscriber exists, BizTalk throws an exception. Service Bus does not do this: instead the message is published, and if no Subscriber has picked up that message after a given length of time, the message is sent to the Dead Letter queue • Unknown Schemas : Slightly different defaults for handling scenarios where a message is published but no Schema can be found. In general, these scenarios are allowed: the message will be published, but because there is no MessageType property set, it is likely that there will be no subscribers. • Json Encode/Decode : as with BizTalk, Newtonsoft's Json.NET library is used to handle conversion. Due to licensing issues (and the fact this is an open source project), this is NOT the exact code that BizTalk uses (i.e. accustom JSON formatter for serialization/deserialization). This means that there will be cases where the JSON emitted (for XML->JSON scenarios) may be slightly different than what BizTalk emits. • Orchestration Exception Handling : Logic Apps have no equivalent to the try/catch exception blocks used in BizTalk Orchestrations. The tool does not even attempt to migrate them (at the moment). Instead, the Orchestration flow is wrapped in a Scope, and standard Logic App RunAfter functionality is used to check if there were any errors. If you need to execute specific code depending on error scenarios, you'll need to manually add this.
  • 13. Sample Scenario: Orchestration with HTTP Request-Response Messaging Engine SQL Server databases BizTalk System Application Orchestration 2-way Receive Port Receive Location HTTP Adapter Map 2 Pipelines Receive Send A P P P L A T F O R M B I N D I N G F I L E
  • 14. Sample Scenario: Orchestration with HTTP Request-Response Message Bus API Management, Function Apps, Integration Acct, Logic Apps, Key Vault, App Insights, Storage, App Config, etc BizTalk System 13 Logic Apps, 3 API Connectors, Service Bus 2 API Connectors (Service Bus) PO Processor Subscription Req/Resp Port Subscription 3 Logic Apps Purchase Order Receive Purchase Order Process Request/Response Port R E S O U R C E G R O U P S A P P P L A T F O R M
  • 15. Problems you may encounter • Maximum string length for names • https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name- rules • Names are generated from concatenated sub-components, which can be lengthy • FIX: Search & replace (e.g. “UK South”  “uks”) • Duplicate references when multiple applications contain the same .Net types or port names • FIX: Run the MSIs through the migrator separately • Existing resources/SKU levels and deployment errors • Free Integration Account, free Azure App Configuration exists already (only 1 allowed per sub) • FIX: Modify the deployment scripts to use the existing resources • Unsupported scenarios • FIX: Manually edit the converted application to include the missing functionality
  • 16. References • The BizTalk Migrator tool: https://github.com/Azure/aimtool • The BizTalk Migrator User Guide: https://github.com/Azure/aimtool/blob/main/docs/user-guide/README.md • Chocolatey: https://chocolatey.org/ • Azure CLI installer: https://docs.microsoft.com/cli/azure/install-az • PowerShell Installer: https://github.com/PowerShell/PowerShell • Maximum lengths for Azure resource names: https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules • Flat File Decoding and Empty Nodes: https://docs.microsoft.com/en-us/archive/blogs/david_burgs_blog/wheres-my-node-logic-apps-flat-file-decode-beware-suppress-empty-nodes- unintended-effect • Solentive InRule: https://www.solentive.com.au/inrule-business-rules-engine/ • Atomic Scope: https://www.atomicscope.com/
  • 17. Key Runaways Takeaways • Apples vs. Oranges: re-architecting for the cloud • Jumpstart only: you’ll still need to write code • Highly extensible & open source

Editor's Notes

  • #5: Zona Research concluded in 2000, “The T-Rex is Loose!”
  • #7: Discover/Parse - pull out the BizTalk resources (currently BizTalk exported MSI(s) only). Analyse - look at what BizTalk resources we have, and what can be migrated and build a model of the AIS target. Report - Generate a report outlining what BizTalk resources were found, and what can be migrated. Convert - Generates a series of ARM templates and Azure CLI scripts, generates Logic Apps representing orchestrations.