[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ISSUE 6 - alternate proposal (AI 2007-11-06-1)
As per AI 2007-11-06-1, here is my alternate proposal for Assembly ISSUE 6. From the JIRA: If a component X has a reference with a binding attached to it (ws.binding or jms.binding) and with no target in SCA terms, and that component is used in a composite however the reference is NOT listed as promoted. Is the reference still operational and what should happen if the component code invokes it ? Answer: Simple answer is YES, the reference is usable (i.e. it will not return a NullPointerException in Java) and invocations of the reference will succeed, assuming that the binding is correctly configured and multiplicity rules are obeyed. It's this latter part that needs cleaning up. Proposal: I believe we need some words in section 3 Component [1]. Interestingly, there aren't specific sections for component services and component references. I propose that we replace the paragraph at line 274-280 [1] with the following. Note that a binding element may specify an endpoint address which specifies the target of the reference. A valid endpoint address is either a component/service within the SCA Domain or an address of a service outside the SCA Domain. A reference configured in this way does not need to be promoted (see promotion in section xyz) in order for the component implementation to invoke the reference at runtime. A reference MUST NOT mix the use of endpoints specified via binding elements with target endpoints specified via the @target attribute. For references with multiplicity 1..1 or 1..n, the assembler MUST ensure that references are properly configured according to one of the following rules, otherwise an error MUST be generated before the reference is invoked by the component implementation. For references with multiplicity 0..1 or 0..n, and where there is no target endpoint specified, the component implementation language specification MUST define the programming model for interacting with an untargetted reference. - Rule 1: If present, the @target attribute MUST point to a target service or services as constrained by @multiplicity, within the scope of the current composite. Any binding elements on the reference can only list one or more binding types that can be used for the wires identified by the target attribute. All the binding types identified are available for use on each wire in this case. - Rule 2: In the absence of the @target attribute, endpoints MAY be specified in the binding element(s). If any binding element specifies an endpoint, then all the binding elements MUST specify an endpoint. The number of binding elements that specify an endpoint is constrained by @multiplicity. Finally, the paragraph at 274-280 [1] is copied to 1424-1430 [1]. I propose the paragraph at 1424-1430 [1] be replaced with the following: See section (proposed text above) for the rules regarding reference targets and binding targets. If anyone is unhappy with that, I would also be ok with copying the new text into this section.. [1] SCA Assembly draft 1.1 as posted to the TC mailing list - all line numbers and section refs are from this document. Dave Booz STSM, SCA and WebSphere Architecture Co-Chair OASIS SCA-Policy TC "Distributed objects first, then world hunger" Poughkeepsie, NY (845)-435-6093 or 8-295-6093 e-mail:booz@us.ibm.com http://washome.austin.ibm.com/xwiki/bin/view/SCA2Team/WebHome
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]