[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] ISSUE 6: Approved Version of the Proposal
There's a lower case 'must' near the end of 3.0.1: It is possible that a particular binding type MAY require that the address of a target service uses more than a simple URI. In such cases, the @uri attribute MUST NOT be used to identify the target service - instead, binding specific attributes and/or child elements must be used. That's all I noticed. Hopefully the editors can handle this. 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 Mike Edwards <mike_edwards@uk. ibm.com> To "OASIS Assembly" 12/12/2007 05:45 <sca-assembly@lists.oasis-open.org> AM cc Subject [sca-assembly] ISSUE 6: Approved Version of the Proposal Folks, Here is the final agreed version of the proposal for Issue 6, completing the action item I took on yesterday's meeting. Introduce a new subsection into the specification, to follow line 330: 3.0.1 Specifying the Target Service(s) for a Reference A reference defines zero or more target services which satisfy the reference. The target service(s) can be defined in the following ways: 1) Through a value specified in the @target attribute of the reference element 2) Through a target URI specified in the @uri attribute of a binding element which is a child of the reference element 3) Through the setting of one or more values for binding-specific attributes and/or child elements of a binding element which is a child of the reference element 4) Through the specification of @autowire="true" for the reference (or through inheritance of that value from the component or composite containing the reference) 5) Through the specification of @wiredByImpl="true" for the reference 6) Through the promotion of a component reference by a composite reference of the composite containing the component (the target service is then identified by the configuration of the composite reference). Combinations of these different methods are allowed, and the following rules MUST be observed: If @wiredByImpl="true", other methods of specifying the target service MUST NOT be used. If @autowire="true", the autowire procedure MUST only be used if no target is identified by any of the other ways listed above. It is not an error if @autowire="true" and a target is also defined through some other means, however in this case the autowire procedure MUST NOT be used. If a reference has a value specified for one or more target services in its @target attribute, the child binding elements of that reference MUST NOT identify target services using the @uri attribute or using binding specific attributes or elements. If a binding element has a value specified for a target service using its @uri attribute, the binding element MUST NOT identify target services using binding specific attributes or elements. It is possible that a particular binding type MAY require that the address of a target service uses more than a simple URI. In such cases, the @uri attribute MUST NOT be used to identify the target service - instead, binding specific attributes and/or child elements must be used. Where the reference has a value specified in its @target attribute, one of the child binding elements MUST be used on each wire created by the @target attribute, or the sca binding, if no binding is specified. 3.0.1.1 Multiplicity and the Valid Number of Target Services for a Reference A reference with multiplicity 0..1 or 0..n MAY have no target service defined. A reference with multiplicity 0..1 or 1..1 MUST NOT have more that one target service defined. A reference with multiplicity 1..1 or 1..n MUST have at least one target service defined. A reference with multiplicity 0..n or 1..n MAY have one or more target services defined. Where it is detected that the above rules have been violated, either at deployment or at execution time, an SCA Runtime MUST generate an error no later than when the reference is invoked by the component implementation. Some errors can be detected at deployment time. For example, where a composite is used as a component implementation, wires and target services cannot be added to the composite after deployment. As a result, for components which are part of the composite, both missing wires and wires with a non-existent target can be detected at deployment time through a scan of the contents of the composite. In these cases, an error SHOULD be generated by the SCA runtime at deployment time. Other errors can only be checked at runtime. Examples include cases of components deployed to the SCA Domain. At the Domain level, the target of a wire, or even the wire itself, may form part of a separate deployed contribution and as a result these may be deployed after the original component is deployed. In these cases, the SCA runtime MUST generate an error no later than when the reference is invoked by the component implementation. For the cases where it is valid for the reference to have no target service specified, the component implementation language specification MUST define the programming model for interacting with an untargetted reference. Where a component reference is promoted by a composite reference, the promotion MUST be treated from a multiplicity perspective as providing 0 or more target services for the component reference, depending upon the further configuration of the composite reference. These target services are in addition to any target services identified on the component reference itself, subject to the rules relating to multiplicity described in this section. ---------------------------------------------------------------------- Replace lines 274 - 280 with the following: "A reference identifies zero or more target services which satisfy the reference. This can be done in a number of ways, which are fully described in section "3.0.1 Specifying the Target Service(s) for a Reference". Replace lines 1424 - 1430 with the following: "A reference identifies zero or more target services which satisfy the reference. This can be done in a number of ways, which are fully described in section "3.0.1 Specifying the Target Service(s) for a Reference". Replace lines 2372 - 2383 with the following: uri - has the following semantic The uri attribute can be omitted. For the binding of a reference, the uri attribute defines the target URI of the reference. This MUST be either the componentName/serviceName for a wire to an endpoint within the SCA domain, or the accessible address of some service endpoint either inside or outside the SCA domain (where the addressing scheme is defined by the type of the binding). The circumstances under which the uri attribute can be used are defined in section 3.0.1 Specifying the Target Service(s) for a Reference. 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]