From:
Ramkumar R1 [mailto:ramkumar_rj@in.ibm.com]
Sent: 27 July 2009 08:22
To: sca-j@lists.oasis-open.org
Subject: [sca-j] NEW ISSUE: SCA
Spring C & I specification should use "id" of the bean to
uniquely identify a bean instead of its name
Raiser: Ramkumar Ramalingam
Target: sca-springci-1.1-spec-WD02.pdf
Description:
The
SCA Spring Client and Implementation specification should use bean
"id" attribute to uniquely identify the bean from the application
context instead of relying on the "name" attribute (which can have
multiple names for the same bean).
Some
text from the specs:
95
Each <service> element used
with <implementation.spring>
should include the name of the
96
Spring bean that is to be exposed as an SCA service
in its name attribute. So, for Spring, the
97
name attribute of a service plays two roles: it
identifies a Spring bean, and it names the service
98
for the component. The service element above
has a name of “X”, so there should be a Spring
99
bean with that name. The SCDL also contains
the <reference> element named “SCAReference”.
100
The reference name becomes an addressable name
within the Spring application context – so,
101
in this case, “SCAReference” can be referred to by
bean “Y” in the Spring configuration above.
286
If there are no <sca:service/> elements in
the application context, then services are defined by each of
287
the top-level <bean/> elements in the
application context:
288
If there are no <sca:service/> elements in
the application context, one <service/> element exists for each
289
service implemented by each top-level <bean/>
element in the application context, found by introspection
290
of the bean class declared by the bean element,
where:
291
@name attribute value is the value of the @name
attribute of the <bean/> element
From
the text shown above, the specs is relying on the name attribute of the bean to
define the service name in case of implicit services.
The
name attribute of the bean can have multiple alias separated by space, comma or
semi-colon as per the spring-beans.xsd (http://www.springframework.org/schema/beans/spring-beans.xsd).
Proposal:
The
specs should use "id" attribute of the bean to uniquely identify the
bean within the application context and define the service name using the value
of the "id" attribute of the <bean/> element.
Thanks
& Regards,
R Ramkumar
Open Source SOA Development - Apache Tuscany
Phone : 91-80-41927623
Email : ramkumar_rj@in.ibm.com