- From: Yalcinalp, Umit <umit.yalcinalp@sap.com>
- Date: Tue, 3 Oct 2006 16:00:09 -0700
- To: <public-ws-policy@w3.org>
- Message-ID: <2BA6015847F82645A9BB31C7F9D64165024DDD4A@uspale20.pal.sap.corp>
Folks, As we have decided to divide the understanding the framework concerns from the assertion development concerns, below find the proposal for Optional Assertions as we would like to propose for the Author's Guidelines Document. In this proposal, it is assumed that the Primer will introduce an example as it does today and the Assertion Guidelines document will refer to the example by further guidance and illustration of pitfalls. These pitfalls that are covered below were also noted in the creation of this issue [3564] In developing this proposal, I realized that we have a separate issue with the Primer document, namely the choice of MTOM capability as an example for optional assertions. I am creating a new issue for that so it can be tackled separately. The current writeup, as it refers to the Primer, assumes that such an assertion exists but the text can easily be changed to refer to WS-RMP, or any other assertion that is currently in practice to be used with optional="true" marker. Therefore, please keep that in mind while reading this proposal. Thanks, --umit [3564] http://www.w3.org/Bugs/Public/show_bug.cgi?id=3564 ------------------------------------------------------------------------ ------------------------------------------------------- Section 5.7 Optional Policy Assertion: Optional assertions represent behaviors which may be engaged by a consumer. When using the compact authoring form for assertions, behaviors are marked by using wsp:optional attribute that has a value, "true". During the process of normalization, the runtime behavior is indicated by two policy alternatives, one with and one without containing the assertion. In a consumer/provider scenario, the choice of engaging the runtime behavior is upon the consumer although the provider is capable of engaging the runtime behavior. The Primer document contains an example that proposes MTOM as an optional behavior that can be engaged by a consumer. The primer proposes that this assertion identifies the use of MIME Multipart/Related serialization for messages to enable a Policy-aware clients to recognize the policy assertion and if they select an alternative with this assertion, they engage Optimized MIME Serialization for messages. The semantics of this assertion declare that the behavior is reflected in messages: they use an optimized wire format (MIME Multipart/Related serialization). Note that in order for an optional behaviors to be engaged, the wire message that would utilize the specific assertion must be self describing. For example, an inbound message to a web service that asserts MTOM, must evaluate, the protocol format of the message to determine whether the incoming message adheres to the Optimized MIME Serialization. By examining the message, the provider can determine whether the policy alternate that contains the MTOM assertion is being selected. Assertion authors should be aware that optional behaviors, like utilizing optional support for Optimized MIME Serialization require some care. + Since optional behaviors indicate optionality for both the provider and the consumer, behaviors that must always be engaged by a consumer must not be marked as "optional" with a value "true" since presence of two alternatives due to normalization enables a consumer to choose the alternative that does not contain the assertion, and thus making the behavior not being engaged in an interaction. + As demonstrated in the MIME optimization behavior, behaviors must be engaged with respect to messages that are targeted to the provider so that the provider can determine that the optional behavior is engaged. In other words, the requirement of self describing nature of messages in order to engage behaviors must not be forgotton with regard to the client's ability to detect and select the alternative if it is to participate in the exchange. It is recommended that authors not utilize optional assertions for outbound messages unless there is explicit, out of band mechanism (currently such a mechanism is outside the scope of WS-Policy Framework) that a client can use to indicate that the optional capability must be engaged. + When optional behaviors are attached with only one side of an interaction, such as an inbound message of a request-response, the engagement of the rest of the interaction will be undefined. For example, if a request-response interaction only specified MTOM optimization for an inbound message, it would not be clear whether the outbound message from the provider could also utilize the behavior. Therefore, the assertion authors are encouraged to consider how the attachment on a message policy subject on a response message should be treated when optional behaviors are specified for message exchanges within a request response for response messages. Leaving the semantics undescribed may result in providers making assumptions (i.e. if the incoming message utilized the optimization, the response will be returned utilizing the MTOM serialization). Similarly, if engagement of a behavior is only specified for an outbound message, it may be necessary to describe the semantics if the incoming messages also utilized the behavior. WS-RM Policy currently allows the incoming messages to utilize WS-RM protocol to be engaged although the assertion may only appear on an outbound message in a request response. + Optional assertion authors should explicitly state how the capability that is enabled by the assertion would be engaged when they are designing their assertion, whether by specific headers or some other means. ---------------------- Dr. Umit Yalcinalp Architect NetWeaver Industry Standards SAP Labs, LLC Email: umit.yalcinalp@sap.com Tel: (650) 320-3095 SDN: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/u/36238 -------- "First they ignore you, then they ridicule you, then they fight you, then you win." Gandhi
Received on Tuesday, 3 October 2006 22:55:34 UTC