I will use the typical e-commerce system as an example of my problem here.
The e-commerce system has bounded contexts like Sales
, Shipping
, Identity and Access
.
The Sales
could be a core bounded context. The Shipping
is a supporting bounded context. And the Identity and Access
is a generic bounded context.
The core bounded context should be self-built, but the supporting bounded context and the generic bounded context could use the third-party system.
Let's say we only use a third-party system for Identity and Access
bounded context.
Since each bounded context should have its own database, when the new user is registered in Indentity and Access
bounded context, we have to create a new buyer
, shipper
, etc.
But the third-party system has its own definition of user
data and when it changes, the UI and the server have to change too. This causes a lot of trouble when building a big system.
How would you integrate the third-party system to this system?