Recently I'm tackling with a problem which has some dependencies with SOA architecture. It's where a question about SOA architecture comes out: "Does each service has its own data in SOAs?" After searching on the web I found different answers to this question. It seems that it depends on conditions!
Suppose if something happen in a point everything in the whole system, the process should be back to the earlier point because each task is independent of the others, right? In this case if every service has its own data, it will be easier to deal with the scenario. There is a solution for that: as in SOA architecture, every service can be hosted on different machine, so we can dedicate one of the service to data management (Data center).
In other way, Services can cache data of other Services. And any changes in the source of the data should be published so the subscribing Services can update their cache. Although this is cost effective solution, but it is a good one! It also increases the availability of a Service by preventing it from being dependent to the data of other Services. and if the other Service is not available, it can still do its job by its cache data.