sca-assembly message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: ISSUE 6: Approved Version of the Proposal
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
- Date: Wed, 12 Dec 2007 10:45:02 +0000
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]