OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[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]