SlideShare a Scribd company logo
1 of 28
BIZTALK MIGRATOR
DEEP DIVE
DAN PROBERT
CTO @ AFFINUS WWW.AFFINUS.COM WWW.BIZBERT.COM
@PROBERTDANIEL
ABOUT ME
• Working with BizTalk since 2002
• Wrote a tool called DanSharp XmlViewer (some of you may have used it)
• Working with Azure since 2008
• Developed solutions using WABS/MABS (Azure BizTalk Services)
• Working with Logic Apps since private preview in 2014
• Worked on early Migration Tooling in 2015
• Have been involved in testing and using BizTalk Migrator since
before the private preview
AGENDA
• Overview of tool (short!)
• What it does and doesn’t do
• Basic Concepts
• Understanding the output
• Things you may not know
• Performance
• Advanced Features
BIZTALK MIGRATOR OVERVIEW
• Microsoft’s open-source tool for automating the migration of
BizTalk to Azure Integration Services
• Source code available here: github.com/azure/aimtool
• Install via Chocolatey: choco install biztalkmigrator --pre
• The tool takes in BizTalk MSIs and generates:
• A report outlining what’s in the MSIs, and what can be converted
• Azure ARM templates and Azure CLI scripts for converted resources
• A set of scripts that will deploy or teardown all resources
Convert
ReportParseDiscover
BIZTALK MIGRATOR OVERVIEW
HOW IT WORKS
MSI
Binding
File
DLLsExtrac
t
Source
Model
Report
Scripts/
Templat
es
Analyse
Target
Model
WHAT IT DOES AND DOESN’T DO
• Handles:
• FTP/File/Http Adapters
• Receive Ports/Send Ports, including Transforms
• XmlReceive/XmlTransmit Pipelines
• JsonDecoder, JsonEncoder, FlatFileDecoder pipeline components
• Simple Orchestrations
• Doesn’t Handle (yet):
• BAM, BRE, SSO
• WCF Adapters, SQL, SFTP, SOAP
• Complex Orchestrations (e.g. expressions, correlation sets)
• Batching/Debatching, Envelopes
BASIC CONCEPTS
Message Bus Core components used for any integration solution.
System
Application
BizTalk specific common components e.g. MessageBox, Pipeline
Components.
Scenario A unique path through an application i.e. adaptermsgbox,
msgboxadapter, msgbox msgbox. Every Receive Location, Send Port, or
Orchestration ends up as a scenario.
Intermediary A module that acts on a message as it flows through the bus, for an
example, a JSON Encoder Logic App.
Configuration
Entry
The values specific to a scenario, broken down by intermediary/endpoint.
Routing Slip The path that a message takes through the system for a scenario.
Routing Properties The properties to be promoted into or out of context.
Subscription Used to subscribe to messages from the MessageBox – either to start a
scenario, or to handle a request-response situation.
Checkpoint A pattern used in designing fault-tolerant systems, which allows for
rollback recovery. Used in all Logic Apps to simplify decision branching
and allow for resumption after failure.
UNDERSTANDING THE OUTPUT
• What Gets Deployed
• How much does it cost??
• Common Logic Apps
• Logic App Structure
• Envelope Structure
• Receive Adapter
• Send Adapter
UNDERSTANDING THE OUTPUT
WHAT GETS DEPLOYED
Message Bus
Config
Store
Routin
g Store
Artifac
t Store
APIM
Config
Mgr
Routin
g
Mgr
Messagi
ng
Mgr
Key
Vault
Storag
e
RSR
Function
s
System
Application
Service
Bus
JSON
Decod
e
JSON
Encode
Flat
File
Decod
e
Topic
Publish
er
Conten
t
Promot
e
Conten
t
Demot
e
Xml
Process
or
Xml
Translat
e
Xml
Validate
etc.
Your ApplicationReceiv
e
Adapte
r
Send
Adapte
r
Topic
Subscrib
er
Process
Manager
API
Connectio
ns
UNDERSTANDING THE OUTPUT
HOW MUCH DOES IT COST??
• All chargeable resources use a Free or Lowest-Cost SKU
• Integration Account: Free
• Azure App Configuration: Free
• Azure API Management: Basic
• Service Bus: Standard
• This does mean you may have a conflict where you can only
have a single Free SKU per subscription/region
• Polling defaults to 30s – trade-off between latency and cost
UNDERSTANDING THE OUTPUT
COMMON LOGIC APPS
Logic App Description
Message Constructor Creates a new envelope from the supplied content, encoding the content if
necessary. Envelope is equivalent to an XLANGMessage e.g. can have
multiple parts.
Routing Slip Router Looks up the next route in the Routing Slip, gets the address to the route
(usually a Logic App) and makes a call to this address, passing in the
envelope.
XML Message
Processor
Part of a logical “XmlDisassembler”, handles setting MessageType.
Content Promoter Part of a logical “XmlDisassembler”, looks up Routing Properties and
promotes them into context.
Topic Publisher Publishes an envelope to the MessageBox, along with any context
properties.
Topic Subscriber Subscribes to an envelope from the MessageBox, and creates a new
envelope.
This Logic App is specific to a scenario.
<X> Receive Adapter Receives content via a given protocol (e.g. File, FTP, HTTP), calls Message
Constructor, handles receipt of ACK/NACK.
This Logic App is specific to a scenario.
UNDERSTANDI
NG THE
OUTPUT
LOGIC APP
STRUCTURE
Step 2
Step 3
Step 1
UNDERSTANDING THE OUTPUT
LOGIC APP STRUCTURE
Trigger
Action 1
Succes
s?
Connector
1
Action 2
Connector
2
Succes
s?
Action 3
Action 3
Step 2
Step 3
Step 1
UNDERSTANDING THE OUTPUT
LOGIC APP STRUCTURE
Trigger
Action 1
Correct
Checkpoi
nt?
Connector
1
Action 2
Connector
2
Succes
s?
Action 3 Action 3
Correct
Checkpoi
nt?
Correct
Checkpoi
nt?
Succes
s?
Set
Checkpoint
Set
Checkpoint
Set
Checkpoint
UNDERSTANDING THE OUTPUT
ENVELOPE STRUCTURE
envelope
header
properties
state
routing
routingSlip
body
$part
$partType
$contentType
$contentTransferEncoding
$content
UNDERSTANDING THE OUTPUT
RECEIVE ADAPTER
Adapter
Message
Construct
or
APIM
Azure App
Config
Cach
e
Routing
Slip Router
Azure
Functions
API
Conn
Xml
Message
Processor
Content
Promoter
Xml
Translator
Topic
Publisher
Message
Box
ACK/NAC
K
UNDERSTANDING THE OUTPUT
SEND ADAPTER
Topic
Subscriber
APIM
Azure App
Config
Cach
e
Routing
Slip Router
Azure
Functions
API
Conn
Xml
Translator
Content
Demoter
JSON
Encoder
Adapter Endpoint
ACK/NAC
K
Message
Box
THINGS YOU MAY NOT KNOW
• You don’t need to use this tool with BizTalk
• The MessageBus and System Application resources can be used to build
an integration application which didn’t come from BizTalk
• The generated resources give you a good base for creating you own
application
• You can automate the refresh of the APIM cache
• APIM Caching is used to cache config, routing slips, schema names etc.
• Using Event Grid, we can clear the cache after config is updated
• You can change the route (e.g. add Flat File Decoder) via config
• The Routing Slip describes the path that a message takes – you can add
references in to other supplied intermediaries, or to your own
intermediaries
PERFORMANCE
• Performance is relative to your expectations
• Cold Start performance is not great – why?
• Inline Code start-up
• Azure Functions start-up
• Azure App Config start-up
• Integration Account Transform/Validate start-up
• Warm Start is better, but not as good as BizTalk – why?
• Polling Model – cost vs latency
• Latency involved with Logic Apps, APIM, Functions
• Unlike with BizTalk, your latency won’t increase as your throughput does
• You need to ask yourself: what latency can I live with, and what am I willing
to pay to get better latency?
PERFORMANCE
HOW TO GET BETTER LATENCY
• Decrease Polling Time for Receive Adapters and Topic
Subscriber
• Vote for Microsoft to produce an Event Grid version of the Service Bus
Trigger
• Use simpler routes e.g. XmlReceivePipeline
• Write a scheduler to “kick” each scenario to prevent Cold Start
• Move to Stateless Logic Apps
ADVANCED FEATURES
• Using your own APIM/Integration Account/Azure App Config
etc.
• Changing Configuration
• Changing the Routing Slip
• Adding the Flat File Decoder
• Converting an Orchestration
ADVANCED FEATURES
HOW DO I USE MY OWN APIM/INT ACCOUNTS/ETC.
• 2 ways of doing this:
• Search and replace in the deployment files
• Edit the generated target model file:
• Run the tool in Assess mode and use the option to output a model file (-o
<path>)
• Edit the model file
• Run the tool in Convert mode and use the option to import a model file (-m
<path>)
ADVANCED FEATURES
CHANGING CONFIGURATION
• Find your scenario in Azure App Config, look for the
ConfigurationEntry label:
• Edit the value (will be in a text box and hard to read)
• Paste into Notepad++ and format as
JSON (enable JSON Viewer plugin)
• Modify, and update it back into
App Config
ADVANCED FEATURES
CHANGING CONFIGURATION
• A Configuration File contains a section for each Intermediary called in
the route for this scenario
• Properties are a combination of BizTalk-specific properties, and other
properties specific to that Intermediary
• Note that some config values are actually specified as parameters in a Logic
App
• After you change configuration, you have to refresh the cache
• Can do this by making a call to get your config via APIM, and setting
the option to clearCache
• OR… write your own Event Grid triggered Logic App that does this for
you
• DEMO: Showing the Config Cache Updater
ADVANCED FEATURES
CHANGING THE ROUTING SLIP
• Follow same steps as for Config Entry, but use the RoutingSlip
label
• Add or remove values from the route
• Update the entry in Azure App Config
• Remember: update your config to match
• DEMO: Adding the FlatFileEncoder
ADVANCED FEATURES
CONVERTING AN ORCHESTRATION
• DEMO
Q&A
GET IN TOUCH
Dan Probert
dan.probert@affinus.com
https://www.linkedin.com/in/probertdaniel/

More Related Content

What's hot

Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRMBizTalk360
 
Integration Monday - Logic App Patterns
Integration Monday - Logic App PatternsIntegration Monday - Logic App Patterns
Integration Monday - Logic App PatternsBizTalk360
 
Hybrid Integration using BizTalk and Azure
Hybrid Integration using BizTalk and AzureHybrid Integration using BizTalk and Azure
Hybrid Integration using BizTalk and AzureBizTalk360
 
Serverless CQRS in Azure!
Serverless CQRS in Azure!Serverless CQRS in Azure!
Serverless CQRS in Azure!BizTalk360
 
Logic Apps and Azure Functions
Logic Apps and Azure FunctionsLogic Apps and Azure Functions
Logic Apps and Azure FunctionsDaniel Toomey
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsCallon Campbell
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalBizTalk360
 
Logic Apps & BizTalk Server 2016
Logic Apps & BizTalk Server 2016Logic Apps & BizTalk Server 2016
Logic Apps & BizTalk Server 2016Daniel Toomey
 
Workflow Automation with Logic Apps
Workflow Automation with Logic AppsWorkflow Automation with Logic Apps
Workflow Automation with Logic AppsBizTalk360
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic AppsBizTalk360
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsAvanade Nederland
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformBizTalk360
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functionsJustin Maurer
 
Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Daniel Toomey
 
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...ServerlessConf
 
Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Sandro Pereira
 
Connect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppConnect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppFrançois Boucher
 

What's hot (20)

Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRM
 
Integration Monday - Logic App Patterns
Integration Monday - Logic App PatternsIntegration Monday - Logic App Patterns
Integration Monday - Logic App Patterns
 
Hybrid Integration using BizTalk and Azure
Hybrid Integration using BizTalk and AzureHybrid Integration using BizTalk and Azure
Hybrid Integration using BizTalk and Azure
 
Serverless CQRS in Azure!
Serverless CQRS in Azure!Serverless CQRS in Azure!
Serverless CQRS in Azure!
 
Logic Apps and Azure Functions
Logic Apps and Azure FunctionsLogic Apps and Azure Functions
Logic Apps and Azure Functions
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration final
 
Logic Apps & BizTalk Server 2016
Logic Apps & BizTalk Server 2016Logic Apps & BizTalk Server 2016
Logic Apps & BizTalk Server 2016
 
Workflow Automation with Logic Apps
Workflow Automation with Logic AppsWorkflow Automation with Logic Apps
Workflow Automation with Logic Apps
 
Microsoft Azure Logic apps
Microsoft Azure Logic appsMicrosoft Azure Logic apps
Microsoft Azure Logic apps
 
Building Azure Logic Apps
Building Azure Logic AppsBuilding Azure Logic Apps
Building Azure Logic Apps
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API Apps
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functions
 
Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)
 
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
 
Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!
 
Connect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppConnect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic App
 

Similar to Integration Monday - BizTalk Migrator Deep Dive

Gib 2021 - Intro to BizTalk Migrator
Gib 2021 - Intro to BizTalk MigratorGib 2021 - Intro to BizTalk Migrator
Gib 2021 - Intro to BizTalk MigratorDaniel Toomey
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Uri Cohen
 
Elements for an iOS Backend
Elements for an iOS BackendElements for an iOS Backend
Elements for an iOS BackendLaurent Cerveau
 
GCP Deployment- Vertex AI
GCP Deployment- Vertex AIGCP Deployment- Vertex AI
GCP Deployment- Vertex AITriloki Gupta
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014scolestock
 
Advanced web application architecture - Talk
Advanced web application architecture - TalkAdvanced web application architecture - Talk
Advanced web application architecture - TalkMatthias Noback
 
Sumo Logic Quickstart Training 10/14/2015
Sumo Logic Quickstart Training 10/14/2015Sumo Logic Quickstart Training 10/14/2015
Sumo Logic Quickstart Training 10/14/2015Sumo Logic
 
Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrdMidVision
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrdMidVision
 
Spring MVC framework
Spring MVC frameworkSpring MVC framework
Spring MVC frameworkMohit Gupta
 
Sumo Logic QuickStart Webinar Oct 2016
Sumo Logic QuickStart Webinar Oct 2016Sumo Logic QuickStart Webinar Oct 2016
Sumo Logic QuickStart Webinar Oct 2016Sumo Logic
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development ServicesKabilan D
 
Serverless Solutions for developers
Serverless Solutions for developersServerless Solutions for developers
Serverless Solutions for developersJuan Pablo
 
Sumo Logic QuickStart - May 2016
Sumo Logic QuickStart - May 2016Sumo Logic QuickStart - May 2016
Sumo Logic QuickStart - May 2016Sumo Logic
 
Sumo Logic QuickStart
Sumo Logic QuickStartSumo Logic QuickStart
Sumo Logic QuickStartSumo Logic
 
Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Opevel
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deckbrightgenss
 

Similar to Integration Monday - BizTalk Migrator Deep Dive (20)

Gib 2021 - Intro to BizTalk Migrator
Gib 2021 - Intro to BizTalk MigratorGib 2021 - Intro to BizTalk Migrator
Gib 2021 - Intro to BizTalk Migrator
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Elements for an iOS Backend
Elements for an iOS BackendElements for an iOS Backend
Elements for an iOS Backend
 
GCP Deployment- Vertex AI
GCP Deployment- Vertex AIGCP Deployment- Vertex AI
GCP Deployment- Vertex AI
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
Advanced web application architecture - Talk
Advanced web application architecture - TalkAdvanced web application architecture - Talk
Advanced web application architecture - Talk
 
Sumo Logic Quickstart Training 10/14/2015
Sumo Logic Quickstart Training 10/14/2015Sumo Logic Quickstart Training 10/14/2015
Sumo Logic Quickstart Training 10/14/2015
 
Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrd
 
Datasheet weblogicpluginforrd
Datasheet weblogicpluginforrdDatasheet weblogicpluginforrd
Datasheet weblogicpluginforrd
 
Spring MVC framework
Spring MVC frameworkSpring MVC framework
Spring MVC framework
 
ServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptxServerLess by usama Azure fuctions.pptx
ServerLess by usama Azure fuctions.pptx
 
Sumo Logic QuickStart Webinar Oct 2016
Sumo Logic QuickStart Webinar Oct 2016Sumo Logic QuickStart Webinar Oct 2016
Sumo Logic QuickStart Webinar Oct 2016
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
 
Serverless Solutions for developers
Serverless Solutions for developersServerless Solutions for developers
Serverless Solutions for developers
 
Sumo Logic QuickStart - May 2016
Sumo Logic QuickStart - May 2016Sumo Logic QuickStart - May 2016
Sumo Logic QuickStart - May 2016
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Sumo Logic QuickStart
Sumo Logic QuickStartSumo Logic QuickStart
Sumo Logic QuickStart
 
Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011
 
Azure Functions - Introduction
Azure Functions - IntroductionAzure Functions - Introduction
Azure Functions - Introduction
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deck
 

More from BizTalk360

Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaBizTalk360
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaBizTalk360
 
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)BizTalk360
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesBizTalk360
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayBizTalk360
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondayBizTalk360
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBizTalk360
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...BizTalk360
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayBizTalk360
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformBizTalk360
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsBizTalk360
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsBizTalk360
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesBizTalk360
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksBizTalk360
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessBizTalk360
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformBizTalk360
 
One name unify them all
One name unify them allOne name unify them all
One name unify them allBizTalk360
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure ServicesBizTalk360
 
Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020BizTalk360
 

More from BizTalk360 (20)

Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
 
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development Experiences
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration Monday
 
No-Slides
No-SlidesNo-Slides
No-Slides
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration Monday
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-Terraform
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-Kubernetes
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-Tricks
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-Serverless
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-Platform
 
One name unify them all
One name unify them allOne name unify them all
One name unify them all
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure Services
 
Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Integration Monday - BizTalk Migrator Deep Dive

  • 1. BIZTALK MIGRATOR DEEP DIVE DAN PROBERT CTO @ AFFINUS WWW.AFFINUS.COM WWW.BIZBERT.COM @PROBERTDANIEL
  • 2. ABOUT ME • Working with BizTalk since 2002 • Wrote a tool called DanSharp XmlViewer (some of you may have used it) • Working with Azure since 2008 • Developed solutions using WABS/MABS (Azure BizTalk Services) • Working with Logic Apps since private preview in 2014 • Worked on early Migration Tooling in 2015 • Have been involved in testing and using BizTalk Migrator since before the private preview
  • 3. AGENDA • Overview of tool (short!) • What it does and doesn’t do • Basic Concepts • Understanding the output • Things you may not know • Performance • Advanced Features
  • 4. BIZTALK MIGRATOR OVERVIEW • Microsoft’s open-source tool for automating the migration of BizTalk to Azure Integration Services • Source code available here: github.com/azure/aimtool • Install via Chocolatey: choco install biztalkmigrator --pre • The tool takes in BizTalk MSIs and generates: • A report outlining what’s in the MSIs, and what can be converted • Azure ARM templates and Azure CLI scripts for converted resources • A set of scripts that will deploy or teardown all resources
  • 5. Convert ReportParseDiscover BIZTALK MIGRATOR OVERVIEW HOW IT WORKS MSI Binding File DLLsExtrac t Source Model Report Scripts/ Templat es Analyse Target Model
  • 6. WHAT IT DOES AND DOESN’T DO • Handles: • FTP/File/Http Adapters • Receive Ports/Send Ports, including Transforms • XmlReceive/XmlTransmit Pipelines • JsonDecoder, JsonEncoder, FlatFileDecoder pipeline components • Simple Orchestrations • Doesn’t Handle (yet): • BAM, BRE, SSO • WCF Adapters, SQL, SFTP, SOAP • Complex Orchestrations (e.g. expressions, correlation sets) • Batching/Debatching, Envelopes
  • 7. BASIC CONCEPTS Message Bus Core components used for any integration solution. System Application BizTalk specific common components e.g. MessageBox, Pipeline Components. Scenario A unique path through an application i.e. adaptermsgbox, msgboxadapter, msgbox msgbox. Every Receive Location, Send Port, or Orchestration ends up as a scenario. Intermediary A module that acts on a message as it flows through the bus, for an example, a JSON Encoder Logic App. Configuration Entry The values specific to a scenario, broken down by intermediary/endpoint. Routing Slip The path that a message takes through the system for a scenario. Routing Properties The properties to be promoted into or out of context. Subscription Used to subscribe to messages from the MessageBox – either to start a scenario, or to handle a request-response situation. Checkpoint A pattern used in designing fault-tolerant systems, which allows for rollback recovery. Used in all Logic Apps to simplify decision branching and allow for resumption after failure.
  • 8. UNDERSTANDING THE OUTPUT • What Gets Deployed • How much does it cost?? • Common Logic Apps • Logic App Structure • Envelope Structure • Receive Adapter • Send Adapter
  • 9. UNDERSTANDING THE OUTPUT WHAT GETS DEPLOYED Message Bus Config Store Routin g Store Artifac t Store APIM Config Mgr Routin g Mgr Messagi ng Mgr Key Vault Storag e RSR Function s System Application Service Bus JSON Decod e JSON Encode Flat File Decod e Topic Publish er Conten t Promot e Conten t Demot e Xml Process or Xml Translat e Xml Validate etc. Your ApplicationReceiv e Adapte r Send Adapte r Topic Subscrib er Process Manager API Connectio ns
  • 10. UNDERSTANDING THE OUTPUT HOW MUCH DOES IT COST?? • All chargeable resources use a Free or Lowest-Cost SKU • Integration Account: Free • Azure App Configuration: Free • Azure API Management: Basic • Service Bus: Standard • This does mean you may have a conflict where you can only have a single Free SKU per subscription/region • Polling defaults to 30s – trade-off between latency and cost
  • 11. UNDERSTANDING THE OUTPUT COMMON LOGIC APPS Logic App Description Message Constructor Creates a new envelope from the supplied content, encoding the content if necessary. Envelope is equivalent to an XLANGMessage e.g. can have multiple parts. Routing Slip Router Looks up the next route in the Routing Slip, gets the address to the route (usually a Logic App) and makes a call to this address, passing in the envelope. XML Message Processor Part of a logical “XmlDisassembler”, handles setting MessageType. Content Promoter Part of a logical “XmlDisassembler”, looks up Routing Properties and promotes them into context. Topic Publisher Publishes an envelope to the MessageBox, along with any context properties. Topic Subscriber Subscribes to an envelope from the MessageBox, and creates a new envelope. This Logic App is specific to a scenario. <X> Receive Adapter Receives content via a given protocol (e.g. File, FTP, HTTP), calls Message Constructor, handles receipt of ACK/NACK. This Logic App is specific to a scenario.
  • 13. Step 2 Step 3 Step 1 UNDERSTANDING THE OUTPUT LOGIC APP STRUCTURE Trigger Action 1 Succes s? Connector 1 Action 2 Connector 2 Succes s? Action 3 Action 3
  • 14. Step 2 Step 3 Step 1 UNDERSTANDING THE OUTPUT LOGIC APP STRUCTURE Trigger Action 1 Correct Checkpoi nt? Connector 1 Action 2 Connector 2 Succes s? Action 3 Action 3 Correct Checkpoi nt? Correct Checkpoi nt? Succes s? Set Checkpoint Set Checkpoint Set Checkpoint
  • 15. UNDERSTANDING THE OUTPUT ENVELOPE STRUCTURE envelope header properties state routing routingSlip body $part $partType $contentType $contentTransferEncoding $content
  • 16. UNDERSTANDING THE OUTPUT RECEIVE ADAPTER Adapter Message Construct or APIM Azure App Config Cach e Routing Slip Router Azure Functions API Conn Xml Message Processor Content Promoter Xml Translator Topic Publisher Message Box ACK/NAC K
  • 17. UNDERSTANDING THE OUTPUT SEND ADAPTER Topic Subscriber APIM Azure App Config Cach e Routing Slip Router Azure Functions API Conn Xml Translator Content Demoter JSON Encoder Adapter Endpoint ACK/NAC K Message Box
  • 18. THINGS YOU MAY NOT KNOW • You don’t need to use this tool with BizTalk • The MessageBus and System Application resources can be used to build an integration application which didn’t come from BizTalk • The generated resources give you a good base for creating you own application • You can automate the refresh of the APIM cache • APIM Caching is used to cache config, routing slips, schema names etc. • Using Event Grid, we can clear the cache after config is updated • You can change the route (e.g. add Flat File Decoder) via config • The Routing Slip describes the path that a message takes – you can add references in to other supplied intermediaries, or to your own intermediaries
  • 19. PERFORMANCE • Performance is relative to your expectations • Cold Start performance is not great – why? • Inline Code start-up • Azure Functions start-up • Azure App Config start-up • Integration Account Transform/Validate start-up • Warm Start is better, but not as good as BizTalk – why? • Polling Model – cost vs latency • Latency involved with Logic Apps, APIM, Functions • Unlike with BizTalk, your latency won’t increase as your throughput does • You need to ask yourself: what latency can I live with, and what am I willing to pay to get better latency?
  • 20. PERFORMANCE HOW TO GET BETTER LATENCY • Decrease Polling Time for Receive Adapters and Topic Subscriber • Vote for Microsoft to produce an Event Grid version of the Service Bus Trigger • Use simpler routes e.g. XmlReceivePipeline • Write a scheduler to “kick” each scenario to prevent Cold Start • Move to Stateless Logic Apps
  • 21. ADVANCED FEATURES • Using your own APIM/Integration Account/Azure App Config etc. • Changing Configuration • Changing the Routing Slip • Adding the Flat File Decoder • Converting an Orchestration
  • 22. ADVANCED FEATURES HOW DO I USE MY OWN APIM/INT ACCOUNTS/ETC. • 2 ways of doing this: • Search and replace in the deployment files • Edit the generated target model file: • Run the tool in Assess mode and use the option to output a model file (-o <path>) • Edit the model file • Run the tool in Convert mode and use the option to import a model file (-m <path>)
  • 23. ADVANCED FEATURES CHANGING CONFIGURATION • Find your scenario in Azure App Config, look for the ConfigurationEntry label: • Edit the value (will be in a text box and hard to read) • Paste into Notepad++ and format as JSON (enable JSON Viewer plugin) • Modify, and update it back into App Config
  • 24. ADVANCED FEATURES CHANGING CONFIGURATION • A Configuration File contains a section for each Intermediary called in the route for this scenario • Properties are a combination of BizTalk-specific properties, and other properties specific to that Intermediary • Note that some config values are actually specified as parameters in a Logic App • After you change configuration, you have to refresh the cache • Can do this by making a call to get your config via APIM, and setting the option to clearCache • OR… write your own Event Grid triggered Logic App that does this for you • DEMO: Showing the Config Cache Updater
  • 25. ADVANCED FEATURES CHANGING THE ROUTING SLIP • Follow same steps as for Config Entry, but use the RoutingSlip label • Add or remove values from the route • Update the entry in Azure App Config • Remember: update your config to match • DEMO: Adding the FlatFileEncoder
  • 26. ADVANCED FEATURES CONVERTING AN ORCHESTRATION • DEMO
  • 27. Q&A
  • 28. GET IN TOUCH Dan Probert dan.probert@affinus.com https://www.linkedin.com/in/probertdaniel/