The contract standards accurately describe the data, functions, policy and resources of a Web Service. They serve as basis for the client-server binding required for service invocation.

Standard Reference Status Standards
organization
Sponsors
WSDL (Web Services Description Language) [Booth05] standard 2.0 --
WS-Policy [Schlimmer06] proposal -- , ...
WS-PolicyConstraints [Anderson05] proposal , ...
WS-Transfer [Geller04b] proposal -- , ...
WS-ResourceFramework [Czajkowski04] proposal -- , ...

The Web Service interface is described with WSDL and its data types are described with XML Schema. The interface defines an abstract contract with operations and messages. The interface binding defines a concrete contract stating the actual message representation and transport to use. The 1.1 version of WSDL is centred in the remote procedure call model while version 2.0 enables different message exchange patterns. The WSDL contract is necessary but not sufficient to describe a service. Beyond the interface, there are operational aspects, like which SOAP version to use, commercial aspects, like the usage costs, and non-functional aspects, like security.

The Web Service policy is defined with WS-Policy. The policy states additional requirements that must be fulfilled by the client and by the service so that the interaction between them can occur.
The normal form of a WS-Policy has the following structure:

<wsp:Policy ... >
    <wsp:ExactlyOne>
        ( <wsp:All> 
            ( <Assertion ...> ... </Assertion> )*
          </wsp:All> )*
    </wsp:ExactlyOne>
</wsp:Policy>
A policy states a set of configuration alternatives supported by the service. The client only has to support one of the alternatives. For each non-functional requirement domain, like security, there is a support library that should be used to implement the required standards.
WS-PolicyAssertions specifies the assertion grammar and policy operators. Each assertion is satisfied if and only if the requirement it specifies is fulfilled by the client and the service. The operators allow the union, disjunction and normalization of policies.
WS-PolicyAttachment specifies how to attach web service policies to WSDL, UDDI and other description or discovery methods.

WS-PolicyConstraints is an alternative approach to policy interpretation. It proposes that a policy should be executed with a single generic support library, instead of a set of specific support libraries.

WS-Transfer and WS-ResourceFramework are two competing standard proposals to describe and to explicitly manage Web Service resources as informational entities, with XML representation, identified by URI (Uniform Resource Identifier) that can be created, read, updated and deleted.


References

BibTeX entries

[Anderson05]
Anderson, A., WS-Security policy profile of WS-PolicyConstraints, OASIS, 2005
http://research.sun.com/projects/xacml/ws-security-profile-of-ws-policy-constraints-wd-04.pdf

[Booth05]
Booth, D. & Liu, C.K., Web Services Description Language (WSDL) Version 2.0, W3C, Hewlett-Packard, SAP Labs, 2005
http://www.w3.org/TR/2005/WD-wsdl20-primer-20050803

[Czajkowski04]
Czajkowski, K.; Ferguson, D.F.; Foster, I.; Frey, J.; Graham, S.; Sedukhin, I.; Snelling, D.; Tuecke, S. & Vambenepe, W., The WS-Resource Framework Version 1.0, Computer Associates International, Inc., Fujitsu Limited, Hewlett-Packard Development Company, International Business Machines Corporation and The University of Chicago, 2004
http://www.globus.org/wsrf/specs/ws-wsrf.pdf

[Geller04b]
Geller, A., Web Service Transfer (WS-Transfer), Microsoft, Systinet, Sonic Software, BEA, Computer Associates, 2004
http://msdn.microsoft.com/ws/2004/09/ws-transfer/

[Schlimmer06]
Schlimmer, J., Web Services Policy Framework (WSPolicy) Version 1.2, Microsoft, IBM, VeriSign, Sonic Software, SAP, BEA Systems, 2006
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policy.pdf