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

Reducing risk in a major UK building society’s payment modernisation programme
When large financial institutions make any significant changes to their tech setup, they need a bulletproof plan for minimising as much risk as possible. Change

How we’re trying to shape the culture here at 345 Technology
The first time I tried to explain a “Culture” I was staring at something growing in a petri dish in a biology class. Now that

Come and meet us at South Coast Summit – 16 October 2021
At last! Get ready – for a real, in-person, face to face, humans actually walking-around-and-talking-to-each-other, event! When? On Saturday 16th October 2021 Where? The Ageas

Andrew is back to talk all things Biztalk – on the June 2021 edition of Logic Apps Live!
Andrew Rivers is here again, on the June edition of Microsoft’s Logic Apps Live – a regular YouTube show run by the Logic Apps product team.

How we help integration and migration projects happen
What do you do when you have a systems integration, modernisation or migration project to deliver in your business? Do you pull together an in-house

345 – Back on Logic Apps Live! Biztalk Migrator Special Edition, March 2021
345’s very own Andrew Rivers joins Bec Lyons from the Logic Apps team in Melbourne, and Daniel Probert from Affinus. They’re all back to talk