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
- From: Bryan Aupperle <aupperle@us.ibm.com>
- To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
- Date: Mon, 9 Jun 2008 13:27:03 -0400
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]