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.

Resources

ASP.NET Design Patterns Chapter 6