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: Re: [sca-assembly] ISSUE 56: Need to clarify definition of BidirectionalInterfaces - Additional Discussion


Simon Nash wrote:
> 
> I believe we were moving towards an emerging consensus on last week's 
> call that the question of whether the Assembly spec should mandate, 
> prohibit or permit per-message correlation IDs should be the subject of 
> another issue, and that the resolution to issue 56 should focus on 
> normative rules for how SCA runtimes should support callbacks.
> 
> Here's my attempt at the latter:
> 
> "In a bidirectional interface, the service interface can have more than 
> one operation defined, and the callback interface can also have more 
> than one operation defined.  SCA runtimes MUST allow a single invocation 
> of an operation on the service interface to make zero, one or many 
> invocations of any of the operations on the callback interface. 

I'm curious as to how could a SCA runtime prevent such a thing (looking 
at it from a testability POV too), unless the SCA runtime prevents the 
service from making any calls anywhere, which seems unlikely.

> SCA 
> runtimes MAY also allow operations to be invoked on the callback 
> interface following completion of an invocation of an operation on the 
> service interface.
> 

I'm not sure what's the distinction between the two (MUST and MAY) is.
Is the difference the 'completion' part?

> For a given invocation of a service operation, which operations are 
> invoked on the callback interface, when these are invoked, the number of 
> operations invoked, and their sequence are not described by SCA.  It is 
> possible that this metadata about the bidirectional interface can be 
> supplied through mechanisms outside SCA.  For example, it might be 
> provided as a written
> description attached to the callback interface."
> 

+1

> 
> Regarding correlations, I don't think it would be proper for the 
> Assembly spec to direct other SCA specs using RFC2119 language of the 
> form "....such mechanisms SHOULD be provided both by Bindings and by 
> Client API specifications".  This is a misuse of RFC2119, and it is also 
> loose enough that it could cause serious problems if these other specs 
> were to define such facilities with inconsistent or incompatible 
> semantics.  If an SCA correlation mechanism is required (as opposed to 
> allowing use of transport-level correlation facilities), the Assembly 
> spec should define its semantics and conformance points, and leave other 
> specs to indicate how it is supported by specific bindings and 
> implementation types.
> 
>     Simon
> 
> Simon C. Nash, IBM Distinguished Engineer
> Member of the IBM Academy of Technology
> Tel. +44-1962-815156  Fax +44-1962-818999
> 
> 
> *Mike Edwards/UK/IBM@IBMGB*
> 
> 07/07/2008 10:17
> 
> 	
> To
> 	"OASIS Assembly" <sca-assembly@lists.oasis-open.org>
> cc
> 	
> Subject
> 	[sca-assembly] ISSUE 56: Need to clarify definition of Bidirectional 
> Interfaces - Additional Discussion
> 
> 
> 	
> 
> 
> 
> 
> 
> 
> Folks,
> 
> In last weeks' TC conf call, the discussion of Issue 56 was lively and 
> important.
> 
> The discussion closed with the following motion on the table:
> 
> Proposed text for the Assembly specification (CD-01), to be added after 
> line 2333
> 
> "In a bidirectional interface, the service interface can have more than 
> one operation defined, and the callback interface can
> also have more than one operation defined.  A single invocation of an 
> operation on the service interface can cause
> zero, one or many invocations of any of the operations on the callback 
> interface and a single invocation of an operation on
> the callback interface can result from one or from many invocations of 
> any of the operations on the service interface.
> For a given invocation of a service operation, which operations are 
> invoked on the callback interface, the number of operations
> invoked, how they are correlated, and their sequence are not described 
> by SCA.  It is possible that this metadata about
> the bidirectional interface can be supplied through mechanisms outside 
> SCA. For example, it might be provided as a written
> description attached to the callback interface. "
> 
> 
> I'd like to concentrate on the one aspect of this proposal that I think 
> is not good - the outlawing of means for the correlation
> of callback operations with forward operations.
> 
> First, I'd like to (again) discuss the impact that this has on 
> applications.  If the system (SCA) provides no means for the
> correlation of the callback operations, then it is left to the 
> application writer(s) - in particular to the designer of the forward and
> callback interfaces.  
> 
> Without any system provided correlation, the interface designer has to 
> anticipate the correlation needs of the client (in
> particular) - and must place elements into the business data that 
> provide this correlation capability.  This will often go
> beyond a simple parameter such as (say) "Order ID", since if the forward 
> service interface provides multiple operations
> relating to an order, the callback messages may well have to carry 
> something like a "Request ID" in order to make it
> clear to the client that a given response relates to a particular 
> request that the client made - without this the client may
> have real problems working out the true meaning of the callback operation.
> 
> I note that a single, consistent, system provided means of correlation 
> of this type is preferable to the alternative of every
> designer having to work it out for themselves.
> 
> 
> Second, I note that numerous transport mechanisms including Web services 
> and JMS (and related messaging subsystems)
> provide a capability of marking a response message with an ID which 
> indicates the request message that it relates to.
> It is notable that the designers of these transport mechanisms 
> considered it important to have this function, which has
> the capability of permitting the client to establish which to original 
> message a response relates, without the need to sort
> through the business data.
> 
> I believe that it is reasonable for SCA to provide SCA applications with 
> mechanisms to access this capability of underlying
> transports, without the need for the applications having to resort to 
> transport-specific APIs.
> 
> 
> So, in summary, I continue to support the notion of SCA-provided 
> correlation mechanisms - and that the Assembly specification
> should assert that such mechanisms SHOULD be provided both by Bindings 
> and by Client API specifications.
> 
> 
> 
> 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]