- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Fri, 23 May 2003 10:00:56 -0400
- To: www-ws-desc@w3.org
- Message-ID: <OF50E43B30.B0118515-ON85256D2F.004C1133@torolab.ibm.com>
Eric, Yes, Web services are in conflict with at least one REST principle, namely Uniform Interface. REST says that all resource response to a uniform interface, e.g. GET, POST, PUT, etc. That's a great thing for enabling Web browsers. A Web browser can always try to do a GET and receive some reasonable representation of the resource. Web services can be viewed as taking a more strongly typed view of interfaces. In fact, WSDL is essentially an interface definition language. Web services allows you to define strongly typed interfaces to access resources. Furthermore, a resource may implement one or more interfaces. A Web service is really a resource plus an interface. Since a Web service is a concept, it also can be assigned a URI, but that URI is not necessarily the same as the resource the service acts on. In WSDL, we can assign a URI to a service based on the targetnamespace-URI of the WSDL document, which is in general different from the URI of the resource that the service acts on (which we refer to as the endpoint). The intent of the Description group is to use whatever definitions the Architecture group establishes. The current discussion is really based on reverse engineering concepts from WSDL 1.1. We felt it was useful to tighten up the definition of the <service> element of WSDL 1.1. Arthur Ryman "Newcomer, Eric" <Eric.Newcomer@iona.com> 05/14/2003 06:37 PM To: Arthur Ryman/Toronto/IBM@IBMCA, <www-ws-desc@w3.org> cc: Subject: RE: /service/@targetResource ? Arthur, First, it's important to stress that there still isn't consensus on this. So I'm giving you my take, not the group view. Web services specifications are applications of XML. Meaning SOAP, WSDL, etc. are defined using XML schemas, and use XML instances to carry data, etc. as everyone knows. So there is a distinction in Web services between the XML applications and the underlying execution environment responsible for implementing the processing model. The execution environment is not defined beyond stating processing model requirements. One of the great benefits of Web services therefore is the capability of mapping them to virtually any execution environment. I like to draw the analogy with HTML, especially since XML is its sibling and a descendant of SGML. In the HTML world a distinction is drawn between the document and the agent responsible for serving it. I make the same argument for Web services, that the WSDL schema and corresponding XML document comprising the SOAP message are distinct from the agents responsible for generating/parsing/executing them. Many Web services toolkits implement the convention that the URI for the Web service points to the WSDL file. Once the WSDL file is downloaded, you get within it the URI which is the network address at which the executable agent can be found, and often these are the same. I realize Web services break or distort many of the conventions and practices in the hypertext Web, but I believe it's important to draw the distinction between the XML documents that comprise Web services, and the agents that execute them, just as it's important to distinguish between HTML pages and Web servers. I also realize that Web services are inconsistent with some REST principles, and this underlies much of the debate and highlights the difficulties in coming to consensus. In my view Web services extend beyond the Web since they are mapped to executable programs that are not part of Web infrastructure per se, and follow different and distinct use cases from REST. Therefore there are good reasons for Web services to be inconsistent with REST, since the two are aimed at fulfilling different goals. But you will no doubt get a debate about that as well...;-) Hope this helps clarify the thinking a bit. Eric -----Original Message----- From: Arthur Ryman [mailto:ryman@ca.ibm.com] Sent: Wednesday, May 14, 2003 11:11 AM To: www-ws-desc@w3.org Subject: /service/@targetResource ? In the discussion with the architecture group today, there seemed to be confusion between a service and the resource is acts on. The architecture group defines a Web service to have something that has a URI, but that URI is not the same as the resource that the Web service acts on. For example, a bank might have a personal banking Web service. The account Web service acts on the bank. We can build a URI from the QName of the personal banking Web service, e.g. http://xml.fredsbank.com#service(PersonalBanking). The bank itself might have the URI http://fredsbank.com. We agreed to add an optional @resource attribute to <service>. I suggest it would be clearer to rename that attribute to @targetResource to make it clear that the service acts on that resource as opposed to it being the URI of the Web service. Arthur Ryman
Received on Friday, 23 May 2003 10:01:19 UTC