sca-j message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: [ISSUE 59] SCA Spring C & I specification does not state what happens whena Bean exposed as a service implements mutliple interfaces - UPDATEDPROPOSAL
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Java" <sca-j@lists.oasis-open.org>
- Date: Fri, 17 Jul 2009 09:33:59 +0100
Folks,
The following is a proposal to RESOLVE
Java Issue 59.
Discussion:
There are 2 main cases to consider:
a) Where there is one or more <sca:service/>
element declared in the Spring application context
b) Where there are no <sca:service/>
elements declared in the Spring application context
For case a), I believe that the number
of services and the interface used for each of them is entirely determined
by the <sca:service/> element(s).
So, if for example a Bean implements 2 service interfaces and the
developer
would like to expose those interfaces
as separate SCA services, then 2 <sca:service/> elements are used,
both pointing to the same Spring Bean,
but each element declaring one of the service interfaces provided by the
Bean. This continues to be the
case even if the interface is typed by the Bean class itself (subject to
the
resolution of Issue 167).
For case b), I now think that the simplest
approach is that there exists a single <service/> in the componentType
whose interface is the set of all public
methods exposed by the Bean (if we resolve Issue 167 we may be able to
say that the interface is typed by the
Bean itself, as for unannotated POJOs). Such an interface will be local
UNLESS all the exposed methods are members
of interface(s) which are all marked @Remotable.
Proposal: (Based
on the current proposal for Issue 58 - sca-springci-draft-20070926_Issue58e.doc)
------------------------------------------------
The following text to be added after
line 188 (the section dealing with <service/> elements in the componentType):
Where a Spring Bean implementation class
implements more than one interface, the Bean can be exposed as
either a single service or as multiple
services, through the use of explicit <sca:service/> elements, where
each
<sca:service/> element references
the same <bean/> element but where the @type attribute uses only
one of
the interfaces provided by the bean.
Where there are no <sca:service/>
elements, the bean is exposed as a single service with an interface that
is
the defined by the bean class itself.
------------------------------------------------
I leave it to the resolution of Issue 167 to adjust the
wording of lines 184/185 about the interface of the
service in the case where the <service/> is introspected
from the bean class.
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]