W3C home > Mailing lists > Public > www-ws-desc@w3.org > July 2004

Re: Action Item 2004-07-01 Solution to 168/R114

From: Umit Yalcinalp <umit.yalcinalp@oracle.com>
Date: Wed, 07 Jul 2004 17:02:44 -0700
Message-ID: <40EC8F24.20802@oracle.com>
To: Jonathan Marsh <jmarsh@microsoft.com>
Cc: WS Description List <www-ws-desc@w3.org>



Jonathan Marsh wrote:

>OK, I didn't (and still don't) understand the last paragraph.
>
Um, which part is not clear? Can you specify?

>
>But I suppose we'd also want to define how SOAPaction fulfils the abstract feature, right?  
>
I am not sure why you think it is necessary. We can discuss whether we 
need it and please feel free to add an amendement to the proposal.

>Can you write down what the whole proposal is?  I'm having trouble distinguishing where you think this proposal differs from your original OperationName proposal [1].  I don't want to repeat that bit of contention.
>
I am now beginning to think that you never read the original one. ;-) 
This is way different than the original proposal.  The original proposal 
defined ways of implementation, what should be on the wire, what kind of 
SOAP module should be engaged, etc. This proposal does not define any of 
the above in the spirit of Hugo's points which I fully agree.

This is the gut of the proposal as an executive summary:

If rpc style or unique GED is not applicable, than WSDL document must 
include a mandatory extension declaration to whatever the mechanism is 
engaged, whether it be a WS-MD, WS-Addressing, etc. It is the service 
provider's choice to choose a specific extension but it is mandatory to 
include the extension in the WSDL document by declaring it with our 
extension mechanisms, whether it be feature, extension, etc.  In 
comparison to the original proposal, there is no mandate or definition 
of WHAT the extension should be. All we should be requiring is that a 
mandatory extension is declared so that the WSDL processors with their 
inherent knowledge of which extensions or Features implement the 
abstract feature can process the document. I also propose that there is 
a single property whose value is the fragment identifier of the 
operation name regardless of how the abstract feature is implemented by 
an extension, etc. This allows the capability to obtain the operation 
name without dictating the type of the extension. This allows the 
implementations to get the value of the property and obtain the name of 
the operation runtime in a coherent way without agreeing on the specific 
extension that must be present.

Note that in a different thread, this is in the same spirit of what 
Sanjiva is proposing too, to put a marker in the WSDL [1]

>
>[1] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jan/0082.html
>
For the email challenged ;-) , here is the proposal once again [1] with 
my last addition[2] below. Again, if you would like to propose  
additions to this, please propose them.

--umit

[1] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0040.html
[2] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0037.html
[3] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0070.html


OperationName Feature: 

This specification defines an OperationName as an abstract Feature
that is required for all WSDL documents.  OperationName Feature is
identified with the URI value:
http://www.w3.org/TR/wsdl20/features/operationName.

This Feature is assumed to be always present in the component model
and applicable for an interface operation component (See Section
2.7.1.1 Composition Model). Therefore, it is not required to be
declared in a WSDL document, but MUST always be supported. 

[Note: For sake of completeness, I propose that we identify
this feature with a URI although it will not exhibit itself in a WSDL
document]

The OperationName Feature requires the operation name to be
identifiable in a message exchange and thus be conveyed between the
requestor agent and the provider agent. Since there may be multiple
mechanisms that may implement this abstract Feature, such as other
features, binding mechanisms (i.e.  a SOAP module) or existing
extensibility mechanisms this specification does not mandate a
specific implementation. However, one the following conditions must be
met to satisfy the OperationName feature:

(1) an interface operation component must have a {style} property that
has the URI value http://www.w3.org/@@@@/@@/wsdl/style/rpc.

(2) The messages of all interface operation components in a particular
direction for a specific interface component must be unique, i.e. they
must have distinct GEDs. 

(3) WSDL document MUST contain a mandatory extension (see Section 8.3
Processor Conformance for the definition of a mandatory extension)
that satisfy and implement the OperationName feature. The mandatory
extension MUST be in use in a scope that contains interface operation
component (see Section 2.7.1.1 Composition Model)

[Note: I believe that it is also possible to restrict the previous
definition to binding and binding operation scopes only. I can go
either way]

This feature also defines an abstract property that holds the URI of
the name of the operation. The URI of the property is 
http://www.w3.org/TR/wsdl20/features/operationName/Name. 

Since there are different ways to implement the abstract OperationName
feature as stated above, this specification requires a unique means of
identifying the operation name via the Property value. The value MUST
be the fragment identifier that signifies the specific operation
engaged and MUST be made available in an interaction. (See Section C.2
Fragment Identifiers)
Received on Wednesday, 7 July 2004 20:04:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:32 GMT