- From: Jacek Kopecky <jacek@systinet.com>
- Date: 17 Jul 2003 09:47:06 +0200
- To: WS-Description WG <www-ws-desc@w3.org>
Hi, per my action item I hereby propose a synthesis of the proposals for dealing with issue 64 [1]. First, let me summarize the different approaches: a) (possibly obsolete) Mark Baker suggests [2] renaming "transport" attribute on binding to "protocol" and adding the attribute "type" which says whether the protocol is used as an application protocol or a transport protocol. Finally, in the application-protocol case, the methods of the binding would be those of the application protocol (GET, POST, PUT, DELETE in case of HTTP). b) Philippe suggests [3, 4, 5] adding a property into an interface that will specify which of the CRUD operations is used (create, retrieve, update, delete), with possible specialisations in HTTP binding and SOAP HTTP binding. c) In the same messages, Philippe notes he might name the operations "GET" instead of "state" and POST instead of "change", making the Interface mirror that of the application protocol being used. In the threads it was noted repeatedly that application protocols have their interfaces, that it's not just at binding level. d) I analyze the situation [6] and come to the conclusion that the HTTP interface is a WSDL interface and that it makes difficult strong typing of HTTP resources. Some more analysis follows: In WSDL, especially in the HTTP binding with URL replacement, we seem to be modeling things that are greater than single HTTP resources. In HTTP services, the model has a bunch of related resources and hypermedia as the state machine, where high-level application operations are performed by various transitions and invoking the HTTP methods. In WSDL, we model the high-level operations and group them into Interfaces. Therefore the HTTP application-protocol interface is not really applicable as WSDL interface, as describing a single HTTP resource is less than what WSDL wants to accomplish in one Interface. As a conclusion of this, I propose we take the general approach demonstrated by Philippe in (b). Specifically, I propose that the Interface level not be affected and that the binding level be able to assign HTTP methods to operations (not just one method for the whole binding though), and I don't think it matters much if we do it by means of attributes on http:binding (currently we have 'verb') and soap:binding (in case protocol="http") or by means of a feature and a property. Hope this makes sense, Jacek Kopecky Senior Architect Systinet Corporation http://www.systinet.com/ [1] http://www.w3.org/2002/ws/desc/2/06/issues.html#x64 [2] http://lists.w3.org/Archives/Public/www-ws-desc/2003Jan/0103.html [3] http://lists.w3.org/Archives/Public/www-ws-desc/2003Apr/0024.html [4] http://lists.w3.org/Archives/Public/www-ws-desc/2003Apr/0025.html [5] http://lists.w3.org/Archives/Public/www-ws-desc/2003May/0089.html [6] http://lists.w3.org/Archives/Public/www-ws-desc/2003Jun/0006.html
Received on Thursday, 17 July 2003 03:47:20 UTC