2006/ws/policy ws-policy-guidelines.xml,1.58,1.59

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

Modified Files:
	ws-policy-guidelines.xml 
Log Message:
Updated 5.3 "Considerations when Modeling New Assertions" related to issue 3989 [Editorial Action 229] Restructured text to follow examples

Index: ws-policy-guidelines.xml
===================================================================
RCS file: /sources/public/2006/ws/policy/ws-policy-guidelines.xml,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- ws-policy-guidelines.xml	24 Apr 2007 18:26:05 -0000	1.58
+++ ws-policy-guidelines.xml	25 Apr 2007 13:42:04 -0000	1.59
@@ -593,19 +593,15 @@
          			assertions to define.  Interoperability testing of new policy
          			domains is recommended to ensure that consumers and providers
          			are able to use the new domain assertions.
-         			</p>
-					<p>New Assertion Authors are encouraged to look at <bibref ref="WS-RM-Policy"/> to see an example of a
+         			</p>        		
+          			<p role="practice" id="bp-assertion-start"><quote>Starting to Build an Assertion</quote><quote>Start with a simple working assertion that allows extensibility.
+          			As your design work progresses, you may add more parameters or nested policy assertions to meet
+            		your interoperability needs. </quote>
+          			</p>
+          			<p>New Assertion Authors are encouraged to look at <bibref ref="WS-RM-Policy"/> to see an example of a
          			relatively simple domain that has defined three assertions. Assertion Authors are encouraged to look at <bibref
          			ref="WS-SecurityPolicy"/> to see an example of a complex domain that has been decomposed into a set of policy expressions.
         			</p> 
-          			<p>How big should an assertion be? How many assertion parameters should the assertion
-            		enumerate? How many dependent behaviors should the assertion enumerate? It is always
-            		good to start with a simple working policy assertion that allows extensibility. As your
-            		design work progresses, you may add more parameters or nested policy assertions to meet
-            		your interoperability needs. 
-            		</p>
-          			<p role="practice" id="bp-assertion-start"><quote>Starting to Build an Assertion</quote><quote>Start with a simple working assertion that allows extensibility.</quote>
-          			</p>
         		</div3>
         		<div3 id="QName_and_XML_Information_Set_representation">
           		<head>QName and XML Information Set representation</head>
@@ -616,13 +612,22 @@
             		represent an assertion parameter as a child element (by leveraging natural XML nesting)
             		or an attribute of an assertion. The general guidelines on when to use XML elements
             		versus attributes apply.</p>
+            		
+            		<p role="practice" id="bp-unique-qnames"><quote>Unique QNames</quote><quote>Use a unique QName to identify the behavior and provide an XML outline
+            		(plus an XML schema document) to specify the syntax of an assertion. </quote> 		
+            		</p>
           			<p>The syntax of an assertion can be represented using an XML outline (plus an XML schema
             		document). If the assertion has a nested policy expression then the assertion XML
-            		outline can enumerate the nested assertions that are allowed.
+            		outline can enumerate the nested assertions that are allowed. An example is the following:
             		</p>
-         			<p role="practice" id="bp-unique-qnames"><quote>Unique QNames</quote><quote>Use a unique QName to identify the behavior and provide an XML outline
-            		(plus an XML schema document) to specify the syntax of an assertion.
-           </quote> 		</p>
+ <example>		
+ <eg>
+ &lt;wsrmp:RMAssertion [wsp:Optional="true"]? ...&gt; 
+   ...
+ &lt;/wsrmp:RMAssertion/&gt;
+ </eg>
+ </example>        		
+ 
         		</div3>	
         		<div3 id="self-describing">
 					<head> Self Describing Messages </head>
@@ -632,48 +637,42 @@
      				transaction) or interpreted by an intermediary; however, if information that is necessary to understand a message is not
      				available, these capabilities suffer.
      				</p>
-            		<p>Policy assertions should not be used to express the semantics of a 
-                           message. Rather, if a property is
-     		           required to understand a message, it should be communicated in
-     			   the message, or be made available by some other means (e.g., being
-     			   referenced by a URI in the message) instead of being communicated as a policy element. Note that there are other specifications that target specification of semantics of a message, such as <bibref ref="SAWSDL"/>. 
-     				</p>
-					<p>For example, if the details of a message's encryption ( e.g., the cipher used, etc) are expressed
-     				in policy that isn't attached to the message, it isn't possible
-     				to later decipher it. This is very different from expressing, in
-     				policy, what ciphers (and so forth) are supported by a particular
-     				endpoint, or those that are required in a particular message; the
-     				latter are the intended uses of the WS-Policy framework.
-     				</p>	
-					<p>As a result, the Assertion Authors should take into account that the following important concepts
-     				when designing assertions and documenting the semantics of the
-     				assertion types. 
-     				</p>
-     				<p>Firstly, an assertion type indicates a <emph>runtime</emph> behavior.  
-     				</p>
-     				<p>Secondly, Assertion Authors need to indicate how the runtime behavior represented in the assertion type can be inferred or indicated
-     				from a message at runtime.  If there is a need for the behavior
-    		 		to be represented in a persistent way or if there is a need for
-     				additional data or metadata that is present in a message to be
-     				persisted, it should be incorporated into the assertion design or
-     				in the message itself. In essence, the Assertion Authors should
-     				consider how to make messages self describing when utilizing
-     				their assertions by specifying additional properties, headers,
-     				etc. that must be present in a message as part of their assertion design.
+            		<p>Policy assertions should not be used to express the semantics of a  message. Rather, if a property is
+     		        required to understand a message, it should be communicated in the message, or be made available by some other means (e.g., being
+     			    referenced by a URI in the message) instead of being communicated as a policy element. 
+     			    Note that there are other specifications that target specification of semantics of a message, such as <bibref ref="SAWSDL"/>. 
      				</p>
 					<p>If the messages could not be made self describing by utilizing additional properties present in the
     				message as required by the assertion, it would be necessary to
     				determine the behaviors engaged at runtime by additional means. A
     				general protocol that aids in determining such behaviors may be
     				utilized, however a standard protocol for this purpose is
-    				currently not available to ensure interoperability. Thus, a private protocol should be used with care. </p>                     
+    				currently not available to ensure interoperability. Thus, a private protocol should be used with care. 
+    				</p>                     
             		<p>Another approach is to use of the assertion to selectively apply to subjects. For example, a
     				dedicated endpoint may be allocated to ensure the engagement of a
     				behavior that is expressed by a policy assertion. This approach
     				can be considered when messages cannot be self describing. 
      				</p>
-     				<p role="practice" id="bp-assertions-and-message-semantics"><quote>Assertions and Message Semantics</quote><quote>Policy assertions should not be used to express the semantics of a message.</quote>
+     				<p role="practice" id="bp-assertions-and-message-semantics"><quote>Assertions and Message Semantics</quote><quote>Policy assertions should not be used to express the semantics of a message.
+     				Firstly, an assertion type indicates a <emph>runtime</emph> behavior.  Secondly, Assertion Authors need to indicate how the runtime behavior represented in the assertion type can be inferred or indicated
+     				from a message at runtime.  If there is a need for the behavior
+    		 		to be represented in a persistent way or if there is a need for
+     				additional data or metadata that is present in a message to be
+     				persisted, it should be incorporated into the assertion design or
+     				in the message itself. In essence, the Assertion Authors should
+     				consider how to make messages self describing when utilizing
+     				their assertions by specifying additional properties, headers,
+     				etc. that must be present in a message as part of their assertion design.
+     				</quote>
      				</p>
+     				<p>For example, if the details of a message's encryption ( e.g., the cipher used, etc) are expressed
+     				in policy that isn't attached to the message, it isn't possible
+     				to later decipher it. This is very different from expressing, in
+     				policy, what ciphers (and so forth) are supported by a particular
+     				endpoint, or those that are required in a particular message; the
+     				latter are the intended uses of the WS-Policy framework.
+     				</p>	
      			</div3>				
 				<div3 id="single-domains">
 				<head>Single Domains</head>
@@ -681,8 +680,8 @@
       			  	new domain of policy assertions, it is important to identify
        			 	whether or not the domain is self-contained or at least if a
         			subset of the domain can be well defined.  A domain that
-        			expresses a broad set of capabilities will also need to have
-        			community supporting implementations to provide value to the
+        			expresses a broad set of capabilities will also need to have a
+        			community supporting implementations  of these capabilities to provide value to the
         			consumers.  Ultimately it is the consumers and providers that
         			will determine whether a particular set of assertions
         			correctly characterize a domain.  A new community should avoid
@@ -699,11 +698,9 @@
 					assertions or they will not include the assertions in
 					their service descriptions. 
 					</p>
-					<p>A review by a broad community is
-        			the best way to ensure that the granularity of a set of domain
-        			assertions is appropriate. 
-        			</p>
-        			<p role="practice" id="bp-assertion-duplication"><quote>Duplication of Assertions</quote><quote>Avoid duplication of assertions.</quote>
+        			<p role="practice" id="bp-assertion-duplication"><quote>Duplication of Assertions</quote><quote>Avoid duplication of assertions.
+        			A review by a broad community is the best way to ensure that the granularity of a set of domain
+        			assertions is appropriate. </quote>
             		</p> 
             	</div3>
             </div2>   
@@ -2124,7 +2121,13 @@
 						<td>Updated 5.5 Designating Optional Behaviors for 
 							<loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3989">issue 3989</loc>.  Added informative reference for MTOMPolicy. 
 							Added two best practices, one is similar to G16 but focused on optional. Revised practice that was there.</td>
-					</tr>     
+					</tr> 
+									<tr>
+						<td>20070425</td>
+						<td>MH</td>
+						<td>Updated 5.3 "Considerations when Modeling New Assertions" related to
+							<loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3989">issue 3989</loc>.  [Editorial Action 229] Restructured text to follow examples</td>
+					</tr>         
 				</tbody>
 			</table>
 		</inform-div1>

Received on Wednesday, 25 April 2007 13:42:14 UTC