- From: Christopher B Ferris <chrisfer@us.ibm.com>
- Date: Mon, 14 May 2007 08:01:11 -0400
- To: "Ashok Malhotra" <ashok.malhotra@oracle.com>
- Cc: "David Orchard" <dorchard@bea.com>, "public-ws-policy@w3.org" <public-ws-policy@w3.org>, "public-ws-policy-request@w3.org" <public-ws-policy-request@w3.org>
- Message-ID: <OFA94850D5.C6967AC5-ON852572D9.004E651A-852572DB.0041EC7E@us.ibm.com>
Ashok, Please see my comments below. Cheers, Christopher Ferris STSM, Software Group Standards Strategy email: chrisfer@us.ibm.com blog: http://www.ibm.com/developerworks/blogs/page/chrisferris phone: +1 508 377 9295 "Ashok Malhotra" <ashok.malhotra@oracle.com> wrote on 05/11/2007 05:50:00 PM: > OK. Good point! > You would not engage in the behavior indicated by C since you did > not select an alternative that included C. > You could have but did not. This is, I believe, for the basis for > the vocabulary based negation which is currently in the spec. > > My concern is with the behavior related to Z. Neither policy talks > about Z. Can I do it? In the context of the attached policy scope? No. At least, not as a result of policy framework processing. The policy framework says nothing about those behaviors that are 'applied' outside the scope of the policy framework processing. In your example, there is no mention of Z in either policy. How is behavior implied by Z applied in the context of policy framework processing if it is not in the alternatives in either policy? I am confused. Policy cannot say anything about behaviors applied outside the scope of policy framework/attachments processing. Of course, YMMV with regards to interop if you are applying behaviors outside the policy framework that might affect interop. Finally, there is the issue of applying behaviors implied by alternatives related to another policy scope. In the context of another policy scope, unrelated to the attached policy subject in the aforementioned example? Yes, you could apply Z, assuming that there is NO policy (as opposed to an empty policy) attached to that policy subject by the other party. For instance... let's assume that we have some policy subject (fictitious since there is no such subject specified in the Attachments spec) that you define for 'application' which applies to the processing of the messages received (I think you used the example of Logging in the past). If Z implied logging, then IMO, you are free to apply logging in that context assuming that there was no policy (again, as opposed to an empty policy) attached to that subject by the other party to the interaction. > > So, I have the following questions: > 1. Along with the policies I need to know the universe of all > possible assertions (behaviors) so that I can tell what was not > included in the policy. I don?t know how to specify this universe. See above. Policy says NOTHING about that over which it has no influence. Please read the proposal in my most recent note again. "Any behaviors not represented by policy assertions in that alternative are out of scope and not applied as a result of policy framework processing." The key phrase that we have added as a result of trying to understand your concerns is 'as a result of policy framework processing'. If Z is not in either policy, how can it be applied as a result of policy framework processing unless you are doing something contrary, such as injecting policy assertions into the intersected policy post intersection? > 2. If you say that assertions(behaviors) that are in the universe > but not in the selected alternative cannot be applied what about > assertions that are neither in the universe nor in the policies? I > guess we make no claims about them. See my comments above. Correct. Policy says nothing about that over which it has no influence. > > All the best, Ashok > > From: Christopher B Ferris [mailto:chrisfer@us.ibm.com] > Sent: Friday, May 11, 2007 1:59 PM > To: Ashok Malhotra > Cc: David Orchard; public-ws-policy@w3.org; public-ws-policy-request@w3.org > Subject: RE: Revised positions for closed/open world assumptions > > > Ashok, > > Maryann and I have been thinking about your concerns. Possibly, the > confusion relates to the scope to > which this proposal applies. > > It is our understanding that it applies to those aspects of behavior > that are controlled/influenced > by policy framework processing... e.g. those behaviors that are > engaged, configured, constrained by policy. > > Clearly, there is going to be behavior that is outside the domain of > policy. That is not relevant > to policy (though it may be relevant to interoperation, which I > believe may be Dale's point). > > There may even be behavior that is subsequently documented by policy > assertions that > are unknown to an implementation at the time of its deployment. > These too are out of > scope of consideration of the policy framework processing as it > relates to what is or is not applied in the > context of an alternative that does not include such unknown assertions. > > Does that make things any clearer? > > Consider the following example > > client policy: > > <Policy> > <A/> > <B/> > <C wsp:Optional='true'/> > </Policy> > > server policy: > > <Policy> > <A/> > <B/> > </Policy> > > intersection would yield: > > <Policy> > <A/> > <B/> > <A/> > <B/> > </Policy> > > Would you engage C anyway? > > It is our understanding that if you have an entity that engages C > (from your previous example) when C is IN the > alternative selected for interaction with the attached policy > subject, that it would NOT engage > that behavior when C is absent the alternative selected for > interaction with the attached > policy subject. > > Under the "makes no claims" regime, an implementation would be free > to do C even though it were not in > the intersected alternative, because the interpretation of that > alternative (A, B, A, B) says nothing about whether > C may or may not be applied. > > What is the point of performing intersection to determine the > compatible alternative(s) if the implementation > isn't going to bother to abide by the resulting policy to engage in > the interaction? > > This may seem like it is drifting back towards the notion of policy > vocabulary. But, the fact is that > I think as you point out, you need to at least know what you know > and behave in a consistent manner with > regards to what the policy says and the behaviors you apply in the > context of the interaction. > > The point of policy is to enable interoperation between Web services > components. In order for it to be > effective, there needs to be a shared understanding as to what the > policy means and we need > to have the respective endpoints behaving in a consistent manner > relative to the policies that are > used to determine the set of compatible alternatives from which to > choose for purposes of interaction. > > Maryann and I have been noodling on language that tries to capture > our intent better. So, rather than > add the "No other behaviors are to be applied" language, we think > that maybe if we added the following > prose to section 4.5 Intersection, just before the algorithm is > described, that that might clear up the confusion > while at the same time preserving the semantic that we believe to beimportant. > > New text for section 4.5: > > If the intersection algorithm produces a policy alternative, common > to both parties, it indicates that the behaviors > implied by the assertions in that policy alternative are an implicit > contract and will be applied for any interaction > based on that alternative. Any behaviors not represented by policy > assertions in that alternative are out of scope > and not applied as a result of policy framework processing. > > Cheers, > > Christopher Ferris > STSM, Software Group Standards Strategy > email: chrisfer@us.ibm.com > blog: http://www.ibm.com/developerworks/blogs/page/chrisferris > phone: +1 508 377 9295 > > > public-ws-policy-request@w3.org wrote on 05/11/2007 08:17:27 AM: > > > > > Note that 2 requires additional information, namely, all the > > assertions/behaviors in the closed world. How is this information > > conveyed to the policy engine? > > > > All the best, Ashok > > > > > -----Original Message----- > > > From: public-ws-policy-request@w3.org [mailto:public-ws-policy- > > > request@w3.org] On Behalf Of David Orchard > > > Sent: Thursday, May 10, 2007 2:11 PM > > > To: public-ws-policy@w3.org > > > Subject: Revised positions for closed/open world assumptions > > > > > > > > > Here's my revised estimate of the positions: > > > > > > Overview > > > There are roughly 3 positions that may be taken on the issue of the > > > meaning of assertions in alternative(s). > > > > > > 1. AIN Vocabulary flavour: > > > Any behaviour not implied by an assertion that is in a vocabulary should > > > not be applied (Roughly original chris proposal) > > > > > > No proponents. No further elaboration planned. > > > > > > 2. AIN Closed world flavour (revised MSFT/IBM proposal): > > > Any behaviour not implied by an alternative must not be applied. Any > > > behaviors implied by assertions in an alternative must be applied. > > > > > > Questions: > > > 1. Is it OK to omit Ignorable="true" Assertion? > > > 2. Is it OK to omit Optional="true" Assertion? > > > > > > Pros > > > This ensures that a provider will provide a "complete" description of > > > the behaviors and thus guarantee interop including optional/ignorable. > > > > > > Cons > > > Pending questions, may limit providers ability to apply behaviors. > > > > > > 3. AIN Removal (open world): > > > Any behaviour not implied by any assertions in an alternative may or may > > > not be applied. Any behaviors implied by assertions in an alternative > > > must be applied. > > > > > > Pros > > > Perception of "simpler" specification. Allows service fuller control > > > over application of behaviors. > > > > > > Cons > > > Provider might not provide "complete" description. Interop is > > > guaranteed but optional and/or ignorable behaviors may be missed by > > > clients. > > > > > > Cheers, > > > Dave > > > > > > >
Received on Monday, 14 May 2007 12:01:50 UTC