> I don't see why it shuold be more advantageously to implement this
> as two different entity service ("Customer Service for Customer
> Support" and "Customer Service for Finance") or as two higher-level
> services like "Customer Support Service" and "Finance Service"
> respectively that encapsulates their own customer data.
For me the second approach should be simpler (as well as allowing
looser coupling of course).
The Finance system only stores the information about a Customer that
its interested to, this is probably far less than what the CRM system
handles. Plus the Finance system now controls its own representation,
so for example we can just load in Customer object from the system
before using it in whatever complex logic it has.
This is a lot easier than calling a CustomerService in CRM, dumping
50% of the data, augmenting it with the finance specific data from the
finance data store...all that before even beginning to work out how to
use this in any sort of complex business logic.
Thoughts?
-Colin