Using WS-Policy for something other than Security
Earlier this week the WS-RM Policy spec was published. WS-RM Policy provides guidelines for defining policy assertions related to the use of reliable messaging (WS-ReliableMessaging, that is).
Here is a simple example with some in-line explanations:
<wsp:UsingPolicy wsdl:required="true" /> <---WS-RM required
<wsp:Policy wsu:Id="MyPolicy" > <---Declare assertions
<wsrm:RMAssertion>
<wsrm:InactivityTimeout Milliseconds="300000" /> <--timeout in 5 min
<wsrm:BaseRetransmissionInterval Milliseconds="3000" /> <--- wait 3 secs to retransmit
<wsrm:ExponentialBackoff /> <--- exponential delay (start at 3 secs, up to 5 min)
</wsrm:RMAssertion>
</wsp:Policy>
I consider this more of a guideline than an actual spec (e.g. how to write assertions for reliable messaging).
This has me thinking about vertical applications of policy. Industries (or vertiical standards organizations) could start thinking about assertions they need for their service contracts. This would force service consumers within the same industry to be bound by such policies.
Imagine the possibilities...