Following figure depicts ideal services coupling. Services should be decoupled and should inteact with each other through "formal service interfaces"
A common problem in SOA deals with deciding data access with respect to services. Should each service have its own data model?Should one service be allowed to access another service data tables at cost of increased coupling?Should a common data access service be modelled?What about interaction / coupling between such a data access service and other functional services?
The following is one proposed approach for data access in context of SOA service design
the common data model size and keep it to minimal
the amount of access to common data model, instead prefering formal interfaces
the extent of access to common data model, prefer giving read access as compared to write access