OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [NEW ISSUE] Need Assembly level definition for "AllowsPassByReference"

Raiser:                Mike Edwards        

Target:                SCA Assembly Specification


<Raised at the request of the SCA J TC following discussion at the Nov 11-13 F2F meeting>

The SCA Java Common Annotations & APIs specification defines a annotation that can be used to
mark Java interfaces - @AllowsPassByReference.

The purpose of this annotation is to indicate that for a remotable interface, where the client and the
service implementation happen to run in the same operating system process, the SCA runtime is
permitted to avoid the pass-by-value semantics of remotable interfaces and can in fact simply
pass the request parameters and the response through references (ie pass-by-reference
semantics).  This offers the prospect of a significant performance boost for service invocations
between clients and service implementations that happen to run within the same process.

The AllowsPassByReference annotation places requirements on BOTH the client and the service
implementation about how the request and response data is handled.  Originally, it was thought that
this annotation could be (in effect) private to the Java specifications, but it is now realized that it is
really part of the wire contract between client and implementation and in principle could apply
between components implemented using different technologies (envisage different implementation
types that have runtime containers that can all share the use of a Java VM, for example, so that in
principle components with different implementation types can still be "local" to one another.

In these circumstances, there is a need to define the sematics of "AllowsPassByReference" as
part of the Assembly specification, so that there is the potential for it to be interpreted by multiple
implementation specifications.  It is acknowledged that it may not be applicable to all
implementation types (eg BPEL), but in such cases the use of normal pass-by-value semantics
should always be usable.

This issue requests that a normative definition of "AllowsPassByReference" is added to the
Assembly specification in the section that deals with Interfaces.


None at present

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]