W3C home > Mailing lists > Public > public-ws-policy-eds@w3.org > November 2006

2006/ws/policy ws-policy-guidelines.xml,1.13,1.14

From: Maryann Hondo via cvs-syncmail <cvsmail@w3.org>
Date: Tue, 28 Nov 2006 16:50:00 +0000
To: public-ws-policy-eds@w3.org
Message-Id: <E1Gp69g-0005kn-QN@lionel-hutz.w3.org>

Update of /sources/public/2006/ws/policy
In directory hutz:/tmp/cvs-serv21996

Modified Files:
	ws-policy-guidelines.xml 
Log Message:
changes to lifecycle section as per editorial action 77

Index: ws-policy-guidelines.xml
===================================================================
RCS file: /sources/public/2006/ws/policy/ws-policy-guidelines.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- ws-policy-guidelines.xml	28 Nov 2006 00:45:59 -0000	1.13
+++ ws-policy-guidelines.xml	28 Nov 2006 16:49:57 -0000	1.14
@@ -1155,9 +1155,26 @@
 			</item>
 			<item>
 				<p> Policy Language Extensibility </p>
+				<p>Over time, the Policy WG or third parties can version or extend the Policy Language with new 
+				or modified constructs.  These constructs may be compatible or incompatible with previous versions.
+				</p>
+				<p> Policy authors should review the WS-Policy Primer <bibref ref="WS-Policy-Primer"/> 
+				and the specifications <bibref ref="WS-Policy"/> <bibref ref="WS-PolicyAttachment"/>
+				for details on extensibility.
+				</p>  
+				<p> The current WS-Policy language <bibref ref="WS-Policy"/> provides extensibility points 
+				on 6 elements with a combination of attribute and/or element extensibility:</p>
+					<olist>
+						<item><p>Policy: element from ##other namespace and any attribute</p></item>
+						<item><p>PolicyReference: any attribute and a proposal to add any element ExactlyOne, All: element from ##other namespace, no attribute extensibility</p></item>
+						<item><p>PolicyAttachment:  element from ##other namespace and any attribute</p></item>
+						<item><p>AppliesTo: any element and any attribute</p></item>
+					</olist>
+					
 			</item>
 			<item>
 				<p> Subject attachment Extensibility </p>
+			<p>PolicyAttachment and AppliesTo also have extensibility points.</p>
 			</item>
 		</ulist>
 			<div2 id="Referencing_Policy_Expressions">
@@ -1203,198 +1220,6 @@
 					</example>
 					<p>Best practice: use independent assertions for modeling multiple equivalent behaviors. </p>
 					<!-- EDS TO DO REconcile from Primer. GET THE REST FROM DAVE and Umit -->
-
-				<div3 id="versioning-policy-language"><head>Versioning Policy Language</head>
-        			<p>Over time, the Policy WG or third parties can version or extend the Policy Language with new or modified constructs.  These constructs may be compatible or incompatible with previous versions.  Some of the possible new constructs that have been mentioned previously are: new operators, operator cardinality, policy identification, compact syntax, Policy Inclusion, security, referencing, attachment points, alternative
-					priority, effective dating, negotiation. </p>
-					<p>WS-Policy provides extensibility points on 6 elements with a combination of attribute and/or element extensibility.  
-					The possible extensibility points with their current extensibility - including some outstanding issues related to extensibility - are:</p>
-					<olist>
-						<item><p>Policy: element from ##other namespace and any attribute</p></item>
-						<item><p>PolicyReference: any attribute and a proposal to add any element ExactlyOne, All: element from ##other namespace, no attribute extensibility</p></item>
-						<item><p>PolicyAttachment:  element from ##other namespace and any attribute</p></item>
-						<item><p>AppliesTo: any element and any attribute</p></item>
-					</olist>
-				</div3>
-				<div3 id="versioning-policy-framework"><head>Policy Framework</head>
-					<p>WS-Policy Framework 1.5 specifies that any element that is not known inside a Policy, ExactlyOne or All will be treated as an assertion.  The default value for wsp:Optional="false", which means after normalization it will be inside an ExactlyOne/All operator.  </p>
-					<p>Let us show an example with a hypothetical new operator that is a Choice with a minOccurs and a maxOccurs attributes, ala XSD:Choice, in a new namespace.  We use the wsp16 prefix to indicate a hypothetical Policy Language 1.6 that is intended to be compatible with Policy Language 1.5:</p>
-<example><head>Policy containing 1.5 and 1.6 Policies.</head>
-<eg><![CDATA[<wsp:Policy>
-  <wsp:ExactlyOne>
-    <wsp16:Choice wsp16:minOccurs="1" wsp16:maxOccurs="2">
-      ...
-    </wsp16:Choice>
-    <wsp:All>
-       ...
-    </wsp:All>
-  </wsp:ExactlyOne>
-</wsp:Policy>]]></eg>
-</example>
-<p>The normalization rule for wsp:Optional="false" would be applied to the wsp16:Choice, yielding the following expression:</p>
-<example><head>Normalized Policy containing 1.5 and 1.6 Policies</head>
-<eg><![CDATA[<wsp:Policy>
-  <wsp:ExactlyOne>
-    <wsp:ExactlyOne>
-      <wsp:All>
-         <wsp16:Choice wsp16:minOccurs="1" wsp16:maxOccurs="2">
-          ...
-        </wsp16:Choice>
-      </wsp:All>
-    </wsp:ExactlyOne>
-    <wsp:All>
-       ...
-    </wsp:All>
-  </wsp:ExactlyOne>
-</wsp:Policy>]]></eg>
-</example>
-<p>Alternatively, the wsp:Optional could be set to "true" on the choice, as
-in:</p>
-<example><head>Policy containing explicit wsp:Optional="true"</head>
-<eg><![CDATA[<wsp:Policy>
-  <wsp16:Choice wsp16:minOccurs="1" wsp16:maxOccurs="2"
-wsp:Optional="true">
-      ...
-  </wsp16:Choice>
-</wsp:Policy>]]></eg>
-</example>
-<p>The normalized form will be:</p>
-<example><head>Normalized policy</head>
-<eg><![CDATA[<wsp:Policy>
-  <wsp:ExactlyOne>
-     <wsp:All>
-         <wsp16:Choice wsp16:minOccurs="1" wsp16:maxOccurs="2">
-          ...
-        </wsp16:Choice>
-      </wsp:All>
-     <wsp:All/>
-  </wsp:ExactlyOne>
-</wsp:Policy>]]></eg>
-</example>
-					<p>Because the wsp16:Choice alternative isn't understood in either normalized form, it will not be chosen as one of the alternatives and will effectively be ignored.  Policy intersection may be more difficult with such compatible extensions.  For example, the previous will "look"
-					like it has a wsp16:Choice typed assertion.  To determine intersection with a Policy that does not have the wsp16:Choice type assertion, domain specific processing would have to be done.  However, there is an alternative that does not have the wsp16:Choice, so intersection would yield the expected result.
-					</p>
-					<p>Note: it is possible to add new names to the existing namespace, such as: </p>
-<example><head>Policy containing 1.5 and 1.6 Policies all in the 1.5 namespace</head>
-<eg><![CDATA[<wsp:Policy>
-  <wsp:ExactlyOne>
-    <wsp:Choice wsp:minOccurs="1" wsp:maxOccurs="2">
-      ...
-    </wsp:Choice>
-    <wsp:All>
-       ...
-    </wsp:All>
-  </wsp:ExactlyOne>
-</wsp:Policy>]]></eg>
-</example>
-
-					<p>Notice that using a new namespace can result in backwards and forwards compatibility if 
-					normalization results in an optional alternative. </p>
-
-					<p>Best practice: insert new elements in an optional alternative or mark with wsp:Optional="true".
-					</p>
-
-					<p>Incompatible versions of the Policy language may be indicated by a new namespace name for at 
-					least the new and/or incompatible elements or attributes.  Imagine that the Choice operator is 
-					required by a future version of Policy, then there will be a new namespace for the Policy element. 
-					We use the wsp20 prefix to indicate a hypothetical Policy Language 2.0 that is intended to be 
-					incompatible with Policy Language 1.5:</p>
-
-<example><head>Policy containing 2.0 only Policies.</head>
-<eg><![CDATA[<wsp20:Policy>
-  <wsp20:ExactlyOne>
-    <wsp20:Choice wsp:minOccurs="1" wsp:maxOccurs="2">
-      ...
-    </wsp20:Choice>
-    ...
-  </wsp20:ExactlyOne>
-</wsp20:Policy> ]]></eg>
-</example>
-
-					<p>The new Policy operator could be embedded inside an existing Policy element:</p>
-
-<example><head>Policy containing 2.0 (incompatible with 1.5) Policies embedded in wsp 1.5 Policy.</head>
-<eg><![CDATA[<wsp:Policy>
-    <wsp20:Choice wsp:minOccurs="1" wsp:maxOccurs="2">
-      ...
-    </wsp20:Choice>
-    ...
-</wsp20:Policy> ]]></eg>
-</example>
-
-					<p>This will be treated as an Assertion for normalization and intersection computation.  
-					This will result in only one alternative that requires the wsp20:Choice, the intended behaviour 
-					for incompatible changes.</p>
-
-					<p>Best practice: use a new namespace for new incompatible construct and insert inside either: new Policy element OR existing All for future incompatible policy extensions.</p>
-
-					<p>A future version of WS-Policy could support the current operators in the existing namespace, 
-					such as:</p>
-<example><head>Policy containing 1.5 operator in 2.0 Policy</head>
-<eg><![CDATA[<wsp20:Policy>
-  <wsp:ExactlyOne>
-    <wsp20:Choice wsp:minOccurs="1" wsp:maxOccurs="2">
-      ...
-    </wsp20:Choice>
-    ...
-  </wsp:ExactlyOne>
-</wsp20:Policy> ]]></eg>
-</example>
-
-					<p>It is difficult to predict whether this functionality would be useful.  The future version of WS-Policy doesn't appear to be precluded from doing this.</p>
-				</div3>
-				<div3 id="versioning-policy-attachment"><head>Policy Attachment</head>
-				<p>Policy attachment provides WSDL 1.1 and UDDI attachment points.  It appears that exchange of Policy will be in the 
-				context of WSDL or UDDI. WRT WSDL, the policy model is an extension of the WSDL definition.  As such, it is likely that future versions of Policy will be exchanged as multiple Policy expressions within a WSDL.  One alternative is that there would be a separate WSDL for each version of Policy.  The problem of how to specify and query for compound documents is very difficult, so it is more likely that each version of Policy will be exchanged within a WSDL.  </p>
-				<p>We show an example of a new version of policy that allows QName reference to Policies in the PolicyReference:</p>
-
-<example><head>WSDL containing 1.5 and 2.0 (compatible with 2.0) Policy References.</head>
-<eg><![CDATA[<wsdl11:binding name="StockQuoteSoapBinding" type="fab:Quote" >
-       <wsoap12:binding style="document"
-          transport="http://schemas.xmlsoap.org/soap/http" />
-	<wsp:Policy>
-	  <wsp:ExactlyOne>
-		<wsp:All>
-	       	<wsp:PolicyReference URI="#RmPolicy"
-wsdl11:required="true" />
-      	      <wsp:PolicyReference URI="#X509EndpointPolicy"
-wsdl11:required="true" />
-		</wsp:All>
-		<wsp:All>
-	       	<wsp:PolicyReferenceByQName ref="rmp:RMAssertion"
-wsdl11:required="true" />
-      	      <wsp:PolicyReferenceByQName ref="sp:AsymmetricBinding"
-wsdl11:required="true" />
-		</wsp:All>
-	 </wsp:ExactlyOne>
-	</wsp:Policy>
-  <wsdl11:operation name="GetLastTradePrice" > ....
-  ...]]></eg>
- </example>   
-
-			<p>The PolicyReference element is attribute extensible.  One example of an addition is a list of backup URIs for the PolicyReference:</p>
-
-<example><head>WSDL containing 1.5 and 2.0 (compatible with 2.0) Policy References.</head>
-<eg><![CDATA[<wsdl11:binding name="StockQuoteSoapBinding" type="fab:Quote" >
-       <wsoap12:binding style="document"
-          transport="http://schemas.xmlsoap.org/soap/http" />
-	<wsp:Policy>
-	  <wsp:ExactlyOne>
-		<wsp:All>
-	       	<wsp:PolicyReference URI="" wsp16:alternateURIs="URI*"
-wsdl11:required="true" />
-      	      <wsp:PolicyReference URI="" wsp16:alternateURIs="URI*"
-wsdl11:required="true" />
-		</wsp:All>
-	 </wsp:ExactlyOne>
-	</wsp:Policy>
-  <wsdl11:operation name="GetLastTradePrice" > ....
-  ...]]></eg>
-</example>
-				<p>The policy framework specification says that any unknown attributes are ignored. A Policy 1.5 processor will not understand the wsp16:alternateURI attribute, it will be ignored.  A Policy 1.6 processor will understand the alternate URIs so it won't be ignored.</p>
-
-				<p>PolicyAttachment and AppliesTo also have extensibility points.  We choose not to illustrate these at this time.</p>
-				</div3> 
 			</div2>	      
 		</div1>
 		
@@ -1997,6 +1822,9 @@
 							<loc href="http://lists.w3.org/Archives/Public/public-ws-policy-eds/2006Nov/0054.html">Umit</loc> to the list of editors.
 							Editors' action <loc href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/86">86</loc>.
 						</td>
+						<td>MH</td>
+						<td>Replaced section in Lifecycle with pointer to the text in the primer: related to action 77 
+						</td>
 					</tr>					
 				</tbody>
 			</table>
Received on Tuesday, 28 November 2006 16:50:42 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:20:59 GMT