Next in thread → Next in month →

Re: [sca-assembly] [NEW ISSUE] Need Assembly level definition for "AllowsPassByReference"

From
Mike Edwards <>
Date
2008-11-24T11:20:18+00:00
ID
Thread
Re: [sca-assembly] [NEW ISSUE] Need Assembly level definition for "AllowsPassByReference"
http://www.osoa.org/jira/browse/ASSEMBLY-97

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:  

From:
Mike Edwards/UK/IBM@IBMGB

To:
"OASIS Assembly" <>

Date:
21/11/2008 17:39

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

Raiser:                Mike Edwards
        

Target:                SCA Assembly
Specification 

Description: 

<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.

Proposal: 

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:  

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
Next in thread → Next in month →