Posts by Year

2024

Replacing BizTalk Business Rules Engine

8 minute read

Having developed on BizTalk Server for many years, I’ve used the Business Rules Engine (BRE) in numerous solutions via both orchestration shapes and the BREP...

Automating Scanning For Secrets

6 minute read

Source control is the foundation of software development for many reasons including tracking changes, collaboration, and backup/recovery. One of the most pop...

Configuring Isolated Azure Function Logging

4 minute read

Logging is a crucial aspect of any application for understanding and debugging the behaviour of an app in different circumstances as well as analysing how us...

Customising HttpClient Logging

6 minute read

In Integration development, having sufficient logs is key to being able to debug issues. .NET has the well-established ILogger pattern which is available by ...

Azure Function Polling Resiliency

1 minute read

Polling is a common integration pattern for extracting data from one system to integrate it into another. Azure Functions makes implementing the scheduling i...

Restore Isolated Durable Function Tuple Support

2 minute read

With the release of Azure Functions on .NET 8 and feature parity of the in-process to the isolated model, I’ve started to migrate existing in-process functio...

Recreating WCF Service in DotNet Core from WSDL

4 minute read

When Microsoft started porting .NET Framework to .NET Core (now simply .NET), some features were to remain on .NET Framework. One such feature was the server...

Back to Top ↑

2023

Refreshing DevOps Service Connections

4 minute read

A while back I put together an application provisioning process using PowerShell and Azure Pipelines to automate delivering Azure application environments in...

Documenting Nullables in Azure Function OpenAPI

2 minute read

This post is about an issue a colleague and I encountered recently whilst developing a series of layered APIs. The issue was that nullable properties weren’t...

Integrating with Flat Files

5 minute read

With integration, there is often a need to integrate with ageing, legacy systems. This could be as part of a phased migration to a new system or that the leg...

Adding OpenAPI Service References

3 minute read

As an integration developer, one of the most common requirements I deal with is consuming APIs to integrate with different systems. There is still a wide var...

Mermaid JS Support for Minimal Mistakes

2 minute read

In the last 6 months I’ve started to use Mermaid JS to draft integration designs as well as document implemented integration applications. There is a lot of ...

Publishing Secrets to Key Vault

6 minute read

Most applications make use of configuration to allow an application or script to be used in different ways. A common scenario is when an application has a de...

Sharing Bicep Templates

8 minute read

This is the third in a short series of posts focused on Azure Bicep. In the first, we introduced Bicep by highlighting some of its benefits as well as how to...

Testing Azure Resource Templates

5 minute read

In the previous post we introduced Bicep, its benefits and how to deploy a template to Azure (specifically a resource group). In this post, we’re going to bu...

Introduction to Azure Bicep

6 minute read

Over the past couple of years, I’ve been primarily developing and deploying applications to Azure. Typically these deployments comprise 2 broad aspects:

Sharing Azure Pipelines Templates

6 minute read

I have been developing build and release pipelines since Team Foundation Server 2015 to deploy ASP.NET and BizTalk Server applications. Over the past couple ...

Securing your home lab using VPN and Tailscale

5 minute read

Over the last several years my home lab has grown from a single Raspberry Pi 4 to several in a Docker Swarm cluster. As the number of apps being hosted on th...

Build Multi-Platform Docker Images

4 minute read

Over the last couple of years I’ve been using Docker more for running my home-lab to learn about containerisation by both deploying community images as well ...

Back to Top ↑