The original goal of the Service Oriented Architecture (SOA) concept was to build flexible, loosely coupled systems. That meant removing or lessening the runtime dependencies between components or endpoints. One of the best, if overused, examples of loosely coupled systems is the way the Web works today. Routing, DNS, cookies, SSL handshakes, authentication, redirection, etc. are all handled by the infrastructure at runtime. Only a URL is typically required. In order to achieve this in the SOA world, contracts, requirement and capabilities need to be defined and automated through a declarative and manageable mechanism. WSDL is far from being adequate as a complete contract language for SOA. The required level of abstraction for SOA sits at the Policy level. Policies contain assertions about the operational interfaces for components in an SOA.