Ambassador Design Pattern

The Ambassador design pattern is typically used in microservice architectures, however, the same concepts can be applied to non-microservice architectures. Legacy applications that have limited features may not have the…

Application Adapter Design 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.

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.