345 were invited to participate in Microsoft’s Logic Apps Live show on YouTube on 5th November 2020. Check out the video below to watch the playback:
Here are the main points covered in the session:
Design intent:
- Convert BizTalk Apps to AIS
- Be able to support multiple inputs (e.g. BizTalk, other integration techologies such as Tibco, IBM WebSphere, MuleSoft)
- CLI initially – but support other runners
- Be able to support multiple flavours of output (LogicApps v1 / v2 / on-prem / perf optimised / low-latency)
- Be extensible – ability to add more functionality easily
Talk through the design diagram:
- Last week we had a great explanation from Rebecca about what each stage does, this time we explore how this works from a design perspective
- Each of the phases of execution we call a stage, and each component that runs under each of these stages we call a stage runner
- Note that during each stage the tool is reading from and writing to an in-memory object model
What each repo is for:
- We have your BizTalk app on one side and your new shiny Azure app on the other
- In the middle is “Azure Integration Migration”
- Note that this is built up as separate packages that come together to compose a working application
- The GitHub repos correspond to the packages that make up the tool
- GitHub repos are prefixed with “aim” –> Azure Integration Migration
The repos and packages:
- aimcore (https://github.com/Azure/aimcore)
- This is the core runner for the migration process
- Each of the stages in the pluggable model is implemented as an interface
- At runtime the core runner will discover components implementing these interfaces ad build up a collection of them
- The tool then orders the components in each stage based on their priority (e.g. 10, 20, 30)
- Then executes each of the stages in turn, executes each stage runner in priority order
- aimtool (https://github.com/Azure/aimtool)
- Contains the code for the CLI (i.e. the executable that is run – aim.exe)
- Is the main repo for documentation and issues
- Contains all the ReadMe files
- aimmodel (https://github.com/Azure/aimmodel)
- Contains source and target models
- Source model: this is overridden by a model in ambiztalk
- Target model: this is baked into the package
- aimbiztalk (https://github.com/Azure/aimbiztalk)
- Contains a BizTalk-specific object model
- Contains source and config for parsing and converting BizTalk artifacts
- There is where you would control what is parsed, and what properties are supported
- There are a series of YAML files that control what Azure artefacts are created
- Contains test scenarios – BizTalk applications and MSIs that we can convert
- aimazure (https://github.com/Azure/aimazure)
- Contains source and templates for generating Azure artifacts
- Contains ARM templates and liquidised ARM templates and scripts for all created resources
- This is where you would change the definition for a deployed resource
Future extensibility:
- That’s the tool as delivered today
- If you wanted to deliver the tool in another format, maybe as a wizard or a website you could add packages in for this
- If you wanted to create specific output, for perf or an industry-specific output such as EDI, you would be looking in the templates area (add new package or extend the current one)
- If you wanted to convert from another integration technology, e.g. IBM WebSphere or MuleSoft, you could create packages to replace aimbiztalk
- Finally, this tool creates integration apps in AIS. You could create an app modeler that populated the target model and then use the code generation to build a working app in azure

345 Technology are a Microsoft Solutions Partner!
Here’s why this is great for you as a potential customer… 1. Expertise: As a Microsoft Solutions Partner, 345 Technology has demonstrated expertise and

Three ways to tackle thorny Azure integration challenges.
We all know that that final mile of integration is always the most challenging, which as Pareto’s law would suggest, leads to those 20% of

Why 345 embraces DevOps
Collaboration cracks it Here at 345 Technology we believe that the toughest challenges can be solved when highly skilled people work together, trust each other

What went wrong at Waitrose – how to avoid ERP integration failure
Putting out fires On bonfire night an explosive article in The Times blamed a faulty integration between Oracle and Blue Yonder (formerly known as JDA)

8 things you need to know to keep your enterprise integration project on track
What’s driving integration? While mergers and acquisitions used to be the biggest drivers of enterprise integration, today it’s the move to cloud, rapid organisational growth

Accelerating cloud-based enterprise service bus (ESB) implementation
The challenge A global energy company relies upon thousands of integrations to provide services to every part of the organisation. To transition from this resource-hungry