Data authority and autonomy in SOA

Sharing data in itself is not bad, but it is about what data you share. Data comes in different shapes and sizes. Some are more OK to share then others.

@Dennis in his presentations talking about not sharing data and letting others make decisions based on your data. Once you have shared data that others make decisions on, you have a hard time changing your data. You now have external dependencies.

What you want to do is look at the decisions that are made based on the data. Often you can pinpoint who is responsible for that decision, let them be responsible for the data and only share the result of the decision.

Sharing data about behaviors/decisions is usually OK.

Same applies with sharing Id’s. It’s OK to share Id’s.

See for example this discussion:
How not to share data across service boundaries in this scenario? - Architecture & Design - Discussion | Particular Software

It begins with sharing data about employees and their place in the company with other services. Why? Because other services need to make a decision. But if you look closely at the decision it’s not up to other services to make a budget decision. It belong to one service which can share the result of that decision.

1 Like