I see a lot of guidance in the DDD community around how to retrieve and use information from a remote bounded context (using an anticorruption layer, open host service, etc.), but hardly anything about how to handle storage of attributes that matter in the local bounded context for an entity that has its home in a remote bounded context.
For example, our Scheduling BC has a
Client, and we only need some of its attributes in our Accounting BC. Easy enough, just grab it through an anticorruption layer which creates a trimmed-down
Client for us.
But we also need to handle updating the billing address for
Client, and my understanding is that a downstream BC representation of an upstream BC entity should be read-only. But it's the Accounting BC that cares about the billing address, and we wouldn't even be asking for a billing address without the Accounting BC in place.
So doesn't it make sense that the Accounting BC would be the one to handle storing this information? If so, how?
This is just one example, but it seems like a common pattern, doesn't it? I'm sure it's been discussed somewhere, I just can't find it.
Update: This question gets at the very issue I’m concerned with, though there aren’t currently any satisfactory answers.