[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] [NEW ISSUE] Wiring from a reference with no binding to aservice with a binding
This issue raises a general point about what justification is needed in order to open an issue. In general an issue should say that something is wrong and describe what the problem is. It may also give a proposal for a change to resolve the problem. The "something is wrong" could be an error or inconsistency in the spec, or it could be a real world use case that the spec does not address adequately. I don't think an issue should be raised based on an opinion that says "I don't like spec rule X and I prefer rule Y instead." With this issue I don't see any clear description of what is wrong with the current spec rules. The spec appears to be clear and consistent as it stands. All I see is an assertion that the rule in the current spec imposes an "unreasonable requirement". Why is this spec rule unreasonable? What real world use case has a problem because of this rule? IMO the rule is fine as it stands, and no change is needed. However, I'm prepared to be educated on this, and if the rule is causing a problem, then we we should look at the problem and see what spec change needs to be made to resolve the problem. The solution could be the one proposed, or there could be a different solution. Without a clear problem statement and use case to drive the discussion, the debate will come down to one person's technical opinion against another's, which is unlikely to be productive. Simon Simon C. Nash, IBM Distinguished Engineer Member of the IBM Academy of Technology Tel. +44-1962-815156 Fax +44-1962-818999 Mike Edwards/UK/IBM@IBMGB 27/11/2007 15:42 To "OASIS Assembly" <sca-assembly@lists.oasis-open.org> cc Subject [sca-assembly] [NEW ISSUE] Wiring from a reference with no binding to a service with a binding <This issue is transferred from the SCA Policy TC where it was dubbed POLICY-34> RAISER Michael Rowley (original) TARGET: SCA Assembly Specification DESCRIPTION: The algorithm in the policy spec says that it is _not_ possible to wire from a reference that does not declare a binding (i.e. uses binding.sca) to a service that declares one or more bindings. However, I think this should be possible. It is an unreasonable requirement to say that a service with a binding can only be the target of a reference that has that same binding. The default binding (binding.sca) should be treated as the "I don't care" binding, and should work with any binding available within the domain. Or, more precisely, any binding that can satisfy the required intents. Section 4.8.1 of the Policy frmework spec states: The wiring compatibility algorithm below determines the compatibility of a wire by a pairwise choice of a binding instance and the corresponding policySets on each side of the wire. This should be changed to the following: If either side of a wire does not specify a binding (or explicitly specifies binding.sca) the wire is considered to be valid for the purposes of policy processing. If both sides of the wire use binding.sca then the policies will be determined by the union of the required intents of both sides (policy sets aren't used with binding.sca). Otherwise, the bindings and policies used for the wire will be determined by adding the intents that are required by the binding.sca end of the wire to the other end of the wire and then following the section 4.10 algorithm in the Polcy Framework. If neither side of the wire uses binding.sca, then the wiring compatibilty algorithm below is used for determining compatibility. Note that there may be many binding instances present at each side of the wire. This algorithm determines the compatibility of a wire by a pairwise choice of a binding instance and the corresponding policySets on each side of the wire. PROPOSAL: The following should be added to the Wires section of the Assembly specification: If either end of a wire does not specify a binding (or explicitly specifies binding.sca) the wire is regarded as valid. In other words, binding.sca is regarded as being compatible with any other type of binding. Where other types of binding are applied to each end of a wire, compatibility of the two bindings is determined by the specifications for the two bindings involved, allied to the intent and policies attached at each end. In general, a wire which has two different binding types at each end (non binding.sca) is likely not to be valid. If both ends of the wire use binding.sca then the policies will be determined by the union of the required intents of both ends (policy sets aren't used with binding.sca). Otherwise, where one end of the wire uses binding.sca, the bindings and policies used for the wire will be determined by adding the intents that are required by the binding.sca end of the wire to the other end of the wire and then following the algorithm defined in the Policy Framework specification section 4.10. If neither end of the wire uses binding.sca, then the wiring compatibilty algorithm described in section 4.10 of the Policy Framework specification is used for determining compatibility. Note that there may be many binding instances present at each side of the wire. This algorithm determines the compatibility of a wire by a pairwise choice of a binding instance and the corresponding policySets on each side of the wire. Yours, Mike. Strategist - Emerging Technologies, SCA & SDO. Co Chair OASIS SCA Assembly TC. IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain. Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431 Email: mike_edwards@uk.ibm.com Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]