Service oriented architectures (SOA) refers to the principles and practices of designing a set of loosely integrated services, typically for distributed applications.
Four Tenets of SOA
Boundaries Are Explicit
- Interfaces should be clean and simple
Services Are Autonomous
- Service methods are loosely coupled and not rely on other methods to perform business transactions
- Atomic actions
Services Share Schema and Contract, Not Class
- Expose contracts and not implementation
- Communication as messages use platform neutral standards such as JSON and XML
Service Compatibility Is Based on Policy
- It should be well known and understood what services capabilities and constraints are.
ASP.NET Design Patterns Chapter 6