I'm reading about SOA and the four tenets required to make a SOA application. I have tried different sources, but the explanations are twisting. I'm searching for something that is a bit less abstract. Is my interpretation correct?
The four tenets is:
- Services have explicit boundaries
- Services are autonomous
- Services share schema and contract, not class
- Services interoperate based on policy
My interpretation is:
- The methods that a client may use shall be easy to use and well defined.
- Services shall not be dependent on others. Change of one service shall not affect another in any way.
- A scheme represent the data that will be sent, contract contains the defined methods for a service. To make a system loosely coupled, you share scheme and contract instead of classes and objects.
- A policy to use a service may be that a particular type of binding is required so it may be used. Anyone that wants to use this service must connect to it with this type of binding.