From:
Graham Charters [mailto:CHARTERS@uk.ibm.com]
Sent: 27 January 2009 14:40
To: sca-j@lists.oasis-open.org
Subject: [sca-j] NEW ISSUE: Java
CAA/Java C&I - Allow call semantics to be specified in
interface.java/implementation.java
TARGET:
Java
CAA Spec and Java C&I Spec
DESCRIPTION:
SCA-J
currently requires the use of annotations to specify whether an interface is
'remotable' and whether an implementation of a remotable service allows
pass-by-reference invocation. In some circumstances it is desirable, or
even necessary, to be able to state this information without the use of
annotations:
1.
The interface may be part of some standard which does not use the SCA-J
annotations.
2.
The interface and implementation may be based on a pre-annotation version
of Java (for example, J2ME, OSGi (Java 1.4)).
3.
The interface may have been compiled without the annotations and a
recompile may be prohibitive.
PROPOSAL:
The
proposal is to adopt the attributes used in SCA-C/CPP to allow this information
to be specified in interface.java and implementation.java.
In
the CAA specification, the suggested edits are (see attached doc):
1.
Section 3.1 - add and define a new @remotable attribute. Also add a
new conformance statement for the relationship between the @Remotable
annotation and the @remotable attribute.
2.
Appendix A - add the attribute definition to the XML schema for
interface.java.
Changes
considered, but excluded:
1. Considered changing section 2.1.2 but this seemed to be specifically
covering the metadata in the Java code, rather than the general concept of
'remotable'.
2.
Considered having an @remotableCallback attribute, but given it is an
error to mix remote and local interfaces (section 6.7), I concluded the
@remotable attribute should apply to both.
In
the C&I specification, the suggested edits are (see attached doc):
1.
Section 2.2 - Add the @remotable attribute description and example. Mention
the @allowsPassByReference attribute.
2.
Section 9 - Add the @allowsPassByReference attribute and a description. FYI:
I found the earlier description of the @AllowsPassByReference annotation a
little terse and confusing and instead based the description on the text from
section 8.1 in the CAA spec.
3.
Appendix A - add new appendix with the XML schema for implementation.java
(thanks to Mike Edwards for providing this). Add the definition for a new
@allowsPassByReference attribute.
Regards,
Graham.
Graham Charters PhD CEng MBCS CITP
STSM, AIM Technical Lead OSGi Expert Groups, Master Inventor, UKISA Technical
Staff Member
IBM United Kingdom Limited, MP 146, Hursley
Park, Winchester, SO21 2JN,
UK
Tel: (Ext) +44-1962-816527 (Int) 7-246527 (Fax)
+44-1962-818999
Internet: charters@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