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…

Interface Definition Document

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

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.

Message Schema

This page provides details to implement the Azure Service Bus Message Schema. The properties have been extracted from the official Microsoft Azure Source.

Enterprise Integration Queue-Based Load Leveling Pattern

In a Point-to-point integration, a Sender may overwhelm the Receiver by sending large volumes of messages that the Receiver cannot process. One option here is to use the Competing Consumer…

Enterprise Integration Message Channel Outbox Design Pattern

The outbox pattern is a good application design pattern to use when a Sender has trouble sending messages to an Event or Message Broker. Messages can be persisted to an…

Event-Driven Enterprise Integration Pattern using Azure Functions and Stripe Payment Gateway

In this post, I’ll demonstrate how to build an event-driven integration using Microsoft Azure Functions and Stripe. This integration demonstrates the event-driven architecture design pattern; an event (state change) occurs…

Recipient List Enterprise Integration Design Pattern using Azure Service Bus

The Recipient List Enterprise Integration Pattern is a very good architecture when there are multiple Receivers that may act on a message. The Recipient List EIP doesn’t concern itself with…