Come piccola istantanea del mio prodotto, ho 2 contesti limitati, uno che è un dominio ricco con eventi e invarianti definiti, che funziona su file implementati come CQRS / ES, e l'altro un archivio CRUD di file e dati corrispondenti che sarà utilizzato come relazione cliente / fornitore con altri contesti esclusivi nel prodotto.
Per la mia interfaccia utente, vorrei eseguire una query tra i due e finora ho creato un modello di lettura utilizzando il flusso di eventi per ripopolare un database, ma vorrei anche recuperare alcune informazioni dal contesto CRUD. Poiché gli eventi di dominio non contengono tutte le informazioni necessarie per le query (come dimensione del file, dati aggiuntivi e informazioni accidentali che non sono richieste nel modello di dominio ricco) come ci si avvicina denormalizzando le informazioni?
Al momento, le entità fanno riferimento all'archivio file utilizzando un UUID e quando l'evento viene denormalizzato, interrogo l'archivio file per ottenere le informazioni aggiuntive pertinenti e creare una copia locale. Mi aspetto di iscrivermi anche a tutti gli eventi emessi dallo store CRUD per aggiornare il modello di lettura locale in un secondo momento.
La mia domanda qui è se questo approccio sia appropriato e quali altre implementazioni comprovate sono per la creazione di una proiezione da più contesti di infrastrutture diverse?