As a small snapshot of my product, I have 2 bounded contexts, one which is a rich domain with defined events and invariants, operating on files implemented as CQRS/ES, and the other a CRUD store of corresponding files and data that will be used as a Customer/Supplier relationship with other exclusive contexts in the product.
For my UI, I would like to query across the two, and so far I have built a read model using the event stream to repopulate a database, but would also like to retrieve some information from the CRUD context. As the domain events don't contain all the information needed for queries (such as file size, additional data, and incidental information which is not required in the rich domain model) how would one approach denormalising the information?
At the moment, the entities reference the file store using a UUID, and when the event is denormalised, I query the file store to get the relevant additional information and create a local copy. I am expecting to also subscribe to any events issued from the CRUD store to update the local read-model at a later date.
My question here is whether this approach is appropriate, and what other proven implementations are for creating a projection from multiple contexts of differing infrastructure?