Number 9: The Price of Akka Reliability

In my previous post I introduced you to Number 9, a simple extension to Akka that supports reliable message delivery. I completed that post by discussing the trade offs of using Akka Persistence and its PersistentActor and AtLeastOnceDelivery traits … [Read more]

Making Akka Commands and Events Deliver Reliably

This post has been a long time in coming. I feel that it is high time to write about this because so many developers struggle with making message delivery with Akka a reliable procedure, and straightforward at the same time. Sure, there is the Akka … [Read more]

The Ideal Domain-Driven Design Aggregate Store?

At the 2014 DDD eXchange in NYC, a park bench discussion developed around storing Aggregates. The consensus among the DDD leadership was against Object-Relational Mapping (ORM) and the desire to come up with a better way to store Aggregates. There … [Read more]

An Approach to Composing Aggregate Boundaries

I was asked if I could provide any guidelines to composing Aggregate boundaries. One way of looking at the problem is how to break up large-cluster Aggregates and still maintain consistency boundaries that will protect true business invariants. With … [Read more]

Modeling Aggregates with DDD and Entity Framework

For everyone who has read my book and/or Effective Aggregate Design, but have been left wondering how to implement Aggregates with Domain-Driven Design (DDD) on the .NET platform using C# and Entity Framework, this post is for you. [NOTE: As … [Read more]

Effective Aggregate Design

This is a three-part series about using Domain-Driven Design (DDD) to implement Aggregates. Clustering Entities and Value Objects into an Aggregate with a carefully crafted consistency boundary may at first seem like quick work, but among all DDD … [Read more]

Dealing with Device Reads Using Akka

You have a device monitor actor. It must poll the device every time an internal expires. When data starts flowing, it flows a lot. Sometimes, however, the device will not have readable data for long periods of time (several seconds), and continuing … [Read more]

DDD with Scala and Akka Revisited

There were a number of issues with the code I wrote in the post Using Scala and Akka with Domain-Driven Design. I am addressing those problems in this post and cleaning up the code. The good thing about revisiting this topic is that you can learn … [Read more]

Using Scala and Akka with Domain-Driven Design

If you've been following my theme for a while I've spent a considerable amount of effort promoting Scala and Akka for use when Implementing Domain-Driven Design. Few seem to share my vision of a completely explicit use of Actors as Aggregates, with … [Read more]

Naming “Shadow” Concepts Across Bounded Contexts

I was asked why the concept named Tenant is used in all three Bounded Contexts for the example code for my book, Implementing Domain-Driven Design. Is it because a Tenant is the exact same thing in all three Contexts? Actually this is a good example … [Read more]