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 47:Operation element for Interface



The base problem in issue 47 is that there are circumstances, where it is not possible to annotate a interface document.  Some examples include industry specified WSDL documents, C/C++ (we are defining annotations, but those are read at development/deployment time, not runtime), or Java interfaces for use with OSGi (which currently have to be at Java 1.4).  The assembly specification defines some attributes like oneWay and endsConversation but does not define a SCDL representation for these attributes.  We can define the SCDL representation in language specific ways, but I would contend that if the Assembly specification defines an attribute it should define the SCDL representation for it.

There is a more subtle aspect to this concern.  If an interface is bidirectional, it is possible that both directions of the interface have identically named operations.  The current operation element does not allow for discrimination of these operations.

So for the requested use case.  Consider a, hypothetical, industry defined standard WSDL interface for transferring electronic health records from one health care provider to another.  Use age pattern is the following.
Provider A request a patients records from Provider B.
B has to get permission from the patient for the records to be transferred so there is a delay
B notifies A that the request is granted.
The records could be lengthy so A wants to schedule the actual transfer for off hours.
A retrieves the records from B.

Because of the various delay points, either A or B could cancel the request / permission.

The forward interface would have operations: requestRecord, getRecord, and cancel
The callback interface would have operations notify and cancel.

Both cancel operations need to be marked as endsConversation, but if modifying the standard WSDL is not allowed, this has to be done in SCDL.  Currently we have an operation element but which cancel operation would it apply to, the forward one or the callback?  We could argue both - but this seems like a bad idea.  If we extend the use case slightly.

The forward cancel requires a notification to the patient that the request has been withdrawn before an acknowledgement is sent.
An additional acknowledgeCancel operation is added to the callback interface.

Now the callback operations cancel and acknowledgeCancel have to be marked endsConversation but not the forward cancel.

My proposal moves the operation element to be a child of interface, but I recognize there may be some reluctance to doing that, and adding a callbackOperation element.  However, I know others have some alternative suggestions.  I am not firm on the specific solution, but I do believe strongly that all attributes defined in the assembly specification (including remotable), should have a SCDL representation defined in the assembly specification and that this representation cover the bidirectional case.

Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com



Mike Edwards <mike_edwards@uk.ibm.com>

06/09/2008 09:17 AM

To
"OASIS Assembly" <sca-assembly@lists.oasis-open.org>
cc
Subject
Re: [sca-assembly] ISSUE 47:Operation element for Interface






Bryan,


I have to admit to not following the argument you are making here - it might be useful if we could work on a couple of

use cases to help motivate the issue and the potential solutions.



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


Bryan Aupperle <aupperle@us.ibm.com>

02/06/2008 18:24


To
sca-assembly@lists.oasis-open.org
cc
Subject
[sca-assembly] ISSUE 47:Operation element for Interface








Upon further reflection o this issues, the original proposal is not sufficient.


Suppose a service is bidirectional and both the forward and callback interfaces have a cancel method that need to be denoted as endsConversation in the SCDL.  A single operation child element is not sufficient to handle this case.  We need operation and callbackOperation child elements; each with the name, oneWay and endsConversatioon attributes described in the original proposal.


Note  that I am not suggesting a complete replication of the interface definition,  Only those operations that need the SCA attributes would need to be listed in the SCDL.


When we discussed opening this issues, the question was raised if we could extend the existing operation child element of service and reference instead of adding an operation element to interface.   It seems more natural to me to have operations belong to interfaces.  However, if we go that direction, we still have to address the callback problem above.


Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.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]