- From: Champion, Mike <Mike.Champion@SoftwareAG-USA.com>
- Date: Thu, 21 Feb 2002 15:08:36 -0700
- To: www-ws-arch@w3.org
Starting with the strawman proposal, and then applying some comments that came up in email and the teleconference. > "A web service is is a software application or component that can be > accessed over the Internet using a vendor/platform/language-neutral data > interchange format to invoke the service and supply the > response, using a rigorously defined message exchange pattern, and producing a > result that is sufficiently well-defined to be processed by a software > application." Comments (sorry, I'm in brain dump mode and won't cross-reference the archives): First, how do we distinguish Web services from "the web" itself? A sufficiently generic definition would imply that an arbirtrary web page is a "web service" that supplies an HTML document. That is too broad to be useful, IMHO. I just noticed that Microsoft has a "Global XML Web Services Architecture" that they refer to. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngxa/html/ gloxmlws500.asp I'm not sure that this is meant as a definition, but this says "XML Web services are built on XML, ... (SOAP),... (WSDL), and ...(UDDI) specifications." We should probably discuss each point individually. I'm willing to say that we are talking about *XML* web services in which the service is identified by some combination of URIs and XML, and the result is an XML instance. On the other hand, I'm reluctant to say that "web services *require* SOAP, WSDL, or UDDI, although each obviously is an *example* of role that might be critical to our definition. Is SOAP critical to the definition of a Web Service? There are two very distinct positions on this question, as far as I know. One is the SOAP-RPC approach, which says that a URI identifies a fairly generic "endpoint" (sortof like a function library) and the contents of the SOAP envelope identify the specific function to be invoked and the parameters to be passed. The other is the REST approach, which says that the web service is a "resource" as understood in the Web Architecture and the URI should completely identify the service, the function, and the parameters. SOAP might be useful in a REST-ful web service (especially since it is defined on the InfoSet and not XML syntax, so could be encoded in URI syntax ... and could obviously be used to package up the result, but it is not critical to the *identification* of a REST web service. Do we want to take sides in this? I hope not ... we'll lose the W3C Director if we insist on one, and half the vendors if we insist on the other! <grin> So, I'd say that a web service is "unambiguously identified using Web technologies, including a URI and optionally an XML description such as a SOAP message". Next, WSDL is integral to IBM's definition, and an official W3C WG now, so some imply we should explicitly reference it. This is a show-stopper politically, in my humble opinion. The scripting people, most notably Dave Winer [a co-author of the original SOAP spec] are adamant that an informal document describing how to access a web service is sufficient. I'd amend the strawman to say that a web service must have a "clear description of the data required to invoke the service, such as a WSDL document." Someone mentioned that a machine-processable result (as opposed to a human or an artificial intelligence) is integral to the definition. The strawman says "producing a result that is sufficiently well-defined to be processed by a software application." How about saying that a web service must, by definition, "produce a result that can be processed by conventional software without human intervention." We talked about "orchestration" on the call. I got distracted for a couple of minutes, but it appeared that we think this is not integral to the definition of a web service, although potentially a topic that the architecture should cover. So, here's the "son of strawman" definition (stickman?): "A web service is is a software application or component that: Is accessed over the Web (broadly defined) using HTTP or another standard messaging protocol; Is identified and invoked using using Web technologies, including a URI and optionally an XML description such as a SOAP messagem, via a well-defined message exchange pattern; Is defined by an unambiguous description of the data required to invoke the service, such as a WSDL document; and Produces an XML result that can be usefully processed by conventional software without human intervention."
Received on Thursday, 21 February 2002 17:09:12 UTC