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…

Active Directory Authorisation Tokens in C#

Here is a quick tip for anyone trying to get an OAuth2 JWT token from an Azure AD 2.0 endpoint.

Client-Server Architecture using Azure AD B2C and Containers

This post demonstrated a simplified Client-Server Architecture using Azure B2C and Containers. The frontend application consists of a single page demonstrating three stages: Front-end request for a JWT from the…

Azure Computer Vision Image Recognition using C# .NET

The code below uses Azure Cognitive Services Vision to classify images accordingly. The images are classified with a confidence score.

Create a quick template engine for Power Platform

Here is a quick method for creating a templating engine for Microsoft Power Platform. Let’s say you have the following text that you want to turn into a letter:

Using Dependency Injection in Azure Functions

In Azure Functions 1.0, it was never possible to use Dependency Injection (DI). DI is a technique to achieve Inversion of Control (IoC) between classess and their methods. In Azure…

Write a Dynamics 365 CE Plug-in

This is a quick post demonstrating how to write a plugin in Microsoft Dynamics 365 Customer Engagement.

Azure.RequestFailedException: The request body is too large and exceeds the maximum permissible limit.

You might come across an error which prevents you uploading a file greater than 4MB to Azure Storage.

Handling Special Characters in a FetchXML query

Summary I was processing large quantities of FetchXML queries using Apache Kafka and ran into an issue where Kafka threw an Invalid XML error. The way to solve this issue…