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: 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 ?

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.

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

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

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]