sca-assembly message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: RE: [sca-assembly] [ASSEMBLY 6] Proposal with RFC 2119 & "wiredByImpl" changes
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "Martin Chapman" <martin.chapman@oracle.com>, "'OASIS Assembly'" <sca-assembly@lists.oasis-open.org>
- Date: Tue, 4 Dec 2007 13:51:35 +0000
Martin,
Good catch. I've updated the text inline.
I hope that we're there now....
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
__________________
A minor nit:
Just under 3.0.1 it says
"A reference defines zero
or more target services which satisfy the
reference." The same text should
be used for the changes to lines 274 and and 1424 at the end (which say
one or more).
Martin.
-----Original Message-----
From: Mike Edwards [mailto:mike_edwards@uk.ibm.com]
Sent: Monday, December 03, 2007 2:45
PM
To: OASIS Assembly; Martin Chapman;
'Charlton Barreto'
Subject: [sca-assembly] [ASSEMBLY
6] Proposal with RFC 2119 & "wiredByImpl" changes
Issue 6 Proposal incorporating Martin Chapman's
RFC2119 rewording and
Mike Edwards' "wiredByImpl" additions
********************
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, all the
binding types identified by the child binding elements
MAY be used
on each wire created by the @target attribute.
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 the the above rules have
been violated, either at deployment
or at execution time, an SCA Runtime MUST generate
an error before 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 before 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 MAY 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
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]