
I can also envision a day where there is a market for a tool that ONLY creates the domain layer, i.e. the business rules. This would move customizations out of the expensive ERP system. It would also make it far easier to test our business rules. Forward-thinking ERP companies would split this layer out too since the plug and play would make it easier to move to their platform.
Companies spend most of their customization (and subsequent upgrade testing) on embedding the business logic into the ERP system. If we had this layer above the ERP system, upgrades would theoretically faster. The domain model doesn’t need to know (nor should know) what a RowMod is. The only thing the domain level should do is emit domain events. From there, other services would subscribe to the events and that’s where the integration work, the hard part, would happen.
Domains would contain business capabilities and they would be implemented across the presentation, application, domain, and ultimately infrastructure layers.
This is one of many articles that describes the idea:
https://www.baeldung.com/cs/boundaries
To @mbilodeau,'s point, separating out the layers this way would make composable ERP much more doable.