Following are the principles of SOA:-
1. Re-usability of services : Services are designed in such a way that they can be reused in the future.
2. Stateless services : Services are designed so that their previous state information is not stored. This feature supports the loosely coupled nature.
3. Services share a formal contract : For services to interact they need to describe each services and the information to be exchanged.
4. Composable services : Logic is represented at different levels, this feature facilitates reusable.
5. Loose coupling : Services are not dependent on each other for operation.
6. Services are autonomous : Services are not dependent on each other within the explicit boundary.
7. Loosely coupled services : Services are designed in such a way that they interact with each other without the tight coupling and dependencies.
8. Services abstract underlying logic : Service exposed via service contract is visible to outside world. Underlying logic other than what is specified in the contract is invisible.