Service Oriented Architecture (SOA) is not a product or a technology, but an approach comprised of key tenants and guiding principles to which your enterprise, solution and application architecture must adhere. SOA is the blueprint that affects the way solutions are designed, architected and developed. It uses a service model to enable integration across diverse systems and dictate how various components communicate and interact with each other. Some key tenants of SOA are:
- Loosely coupled
- Contract-based interface
- Explicit boundaries
- Policy-based access
Today’s businesses no longer just build an application—they create a service instead. For example, if you just purchased an accounting application, you’ll probably end up buying an accounting service. This service may include several sub-services, such as an accounting presentation service completely built on Microsoft’s next-generation Windows Presentation Foundation. Such services might facilitate a role-based user experience that allows data access via several devices such as desktops, smart phones and PDAs.