[Question] Data from legacy system #102
-
First of all, i'm very grateful for your contribution, i also follow your blog and love to read your concepts and ideas, @kgrzybek, also big thanks to contributors. I'm currently trying to mockup the different modules in my domain, to see if i can structure a modular monolith, in a fine manner. In your key assumptions you wrote: In my domain i have the following modules:
This is a multi tenancy application, which means the database contains many companies, each company has it own set's of data. There is alot of crud, but also a big portion is operational. _The data currently comes from a legacy-system, how would you go about making an integration here? There will be an integration running a time intervall and sending data to the API, writing both up and down(keeping in sync). So basically i'm asking how to import existing data into the system and should not this problem be a distributed transaction? There may also be data imports from other systems. The reason the data needs to be kept in sync is because the legacy have to live for a longer while. How to implement an anti-corruption-layer from legacy system with god models, and the integration have to go both ways.. Thanks in advance. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
Hi @sebastiannordby , I don't get a synchronization issue. You want to synchronize your new system and legacy system both ways? I mean if you change something in a new system then this change should be applied to a legacy system as well? Or you talking about data synchronization between modules (WMS, SalesOrder) in new system. Some high level diagram will be helpful :) |
Beta Was this translation helpful? Give feedback.
-
Yes, i want to synchronize the new system with the legacy. Since the legacy is a monolith with god models, it would need to get a DTO with all fields when pulling down from the new system. This goes the same way then pushing data, one large DTO with all fields to the new system, which would have to be distributed among the modules. Please excuse my bad diagram skills. |
Beta Was this translation helpful? Give feedback.
-
The problem here is you don't have a master (single source of truth). As I understand one entity can be modified both in Legacy and New System. I see 3 solutions:
|
Beta Was this translation helpful? Give feedback.
The problem here is you don't have a master (single source of truth). As I understand one entity can be modified both in Legacy and New System. I see 3 solutions: