Application Adapter Pattern

Some legacy applications often communicate messages in proprietary formats, or messages the Receiver application needs to translate to make sense of. EDIFACT, X12 are common formats that often require translation/transformation.…

Event-driven Architecture using C# Observer Pattern

The Observer design pattern is a useful pattern when combined with Event-driven architectures to create reactive systems. A source system emits a state change; this change is observed by methods…

Connect to the Microsoft Dataverse via Databricks & Web API

It’s not possible to connect to the Microsoft Dataverse directly in Databricks. Some options include ingesting the Dataverse tables into Azure Data Lake and then retrieving them from inside a…

Azure Data Factory Partition Performance

There are various optimisation techniques available during the Dataflow Sink stage, in this post, I'm going to present some performance test results using various partition models. In this post, I…

Interface Definition Document

In this post, I’ve provided a sample Interface Definition Document.

Restrict Access to VM Applications by IP

For those that are unaware, a low-cost solution to hosting applications in Azure is to host them in Linux Ubuntu. I’ve been asked how to secure the apps at different…

Avro, Parquet, JSON, ORC Compression using ADF

The source file is a 126.48 MB CSV file which contains Postcodes and Local Authority data. In this post, I’ll be testing the file size of a transformation output to…

EIP Event-driven Message Types

In Enterprise Integrations there are many types of messages that a Sender will send to a Receiver. These can broadly be categorised as Command, Event and Query messages. In most…

Message Delivery Guarantee Models

This post summarises the various Delivery Guarantees available in Azure Service Bus.

Azure Service Bus Message Settlement

When sending a message to Azure Service Bus there are various ways to settle a message. This post discusses these methods.