W3C home > Mailing lists > Public > www-ws-arch@w3.org > April 2003

RE: Is This a Web Service?

From: Newcomer, Eric <Eric.Newcomer@iona.com>
Date: Tue, 15 Apr 2003 19:29:53 -0400
Message-ID: <DCF6EF589A22A14F93DFB949FD8C4AB2010742FB@amereast-ems1.IONAGLOBAL.COM>
To: "Cutler, Roger (RogerCutler)" <RogerCutler@ChevronTexaco.com>, "Burdett, David" <david.burdett@commerceone.com>, "Walden Mathews" <waldenm@optonline.net>, "Champion, Mike" <Mike.Champion@SoftwareAG-USA.com>, "Www-Ws-Arch@W3. Org" <www-ws-arch@w3.org>
I think definitions exist and will continue to exist for a "Web Service" and a web service -- meaning that we need to agree on a formal definition.  It may not cover all cases, and probably always there will be informal definitions or examples that don't quite fit.
I think we need to stick with XML as a kind of minimum criterion.

-----Original Message-----
From: Cutler, Roger (RogerCutler) [mailto:RogerCutler@ChevronTexaco.com]
Sent: Tuesday, April 15, 2003 5:32 PM
To: Burdett, David; Newcomer, Eric; Walden Mathews; Champion, Mike; Www-Ws-Arch@W3. Org
Subject: RE: Is This a Web Service?

May I suggest that it may be premature to argue about how to define Web services if we do not agree, in specific cases, whether something is a Web service or not?  I guess I tend to an inductive approach, but I would really like to get a laundry list together of things we think are Web services and things we think are not, in order to test a proposed definition against that list.
Along the latter lines, how about this?  Suppose an application does a GET on a Web page that is designed for human consumption, let's say in XHTML, and then scrapes some information off that page.  Say the number at the end of the third <p> block.  Maybe that page was itself created by some sort of application, or is the result of some sort of form that runs an application -- but that page was designed for people.  Is that a Web service?  Note that the information is coming as XML.
I say "No", and I kind of hope everyone says the same.  But WHY "no"?  Well, I tend to be focussed on the app-to-app aspect of the situation, so the fact that the source page was not intended for application consumption seems important to me.  But perhaps it is close to the same thing to say that the source is not providing a well-defined interface, in the sense that it contracts always to have the same information in the third <p> block.
Assuming that people agree with me about this one, however, I still would like to get some sense of whether we can agree about the HTTP GET of an image.  It seems to me that we may be split between "yes" and "no", with more "yes" than "no" but nonetheless significant numbers of "no".  Many of the people who say "no" seem to be bothered by the fact that it does not have an XML description.  Could we gain agreement on "yes" by calling it something insulting like a "primitive Web service", or "lousy Web service" -- well, you get the idea -- I'm not real good at coming up with labels -- to make it clear that it may be a Web service but it is one with very limited function and applicability?  Other people seem to think that it is not "interoperable" -- but I really don't understand that so I can't suggest a fix.  It seems to me that it is obviously interoperable by my standards of interoperability.  I can do that GET from Java, .Net, a mainframe or the London Zoo and I'll get the same PNG file back.  What's not to be interoperable?  GET is about as interoperable as it GET's, isn't it?
-----Original Message-----
From: Burdett, David [mailto:david.burdett@commerceone.com] 
Sent: Tuesday, April 15, 2003 2:27 PM
To: 'Newcomer, Eric'; Walden Mathews; Champion, Mike; Www-Ws-Arch@W3. Org
Subject: RE: Is This a Web Service?

In many ways I like your definition except that it does not mention ANY of the well known "web services standards" such as SOAP, WSDL and UDDI. This makes me think that perhaps there are two steps to defining a web serivice ...
1. Define a web service in a standards neutral way - along the lines of your definition or some variant. This defines WHAT a web service is
2. Define sets of standards that can implement a Web Service. This defines HOW you implement a web service
Drawing an analogy to creating a building, the first is like the architects drawing of the end result. The second is the result of the architect and the quantity survey coming up with detailed plans of how the building will be built. They are both valid "architectural" activities.
I also think that agreeing on the first step might make it easier to come up with the second. However it also raises the issue of how you use standards together which WS-I is doing, should this be our perogative?

-----Original Message-----
From: Newcomer, Eric [mailto:Eric.Newcomer@iona.com]
Sent: Tuesday, April 15, 2003 11:03 AM
To: Walden Mathews; Champion, Mike; Www-Ws-Arch@W3. Org
Subject: RE: Is This a Web Service?

I'd like to propose a definition I worked up recently:
"A Web service is an XML interface to an executable software agent that is accessible using Web technologies.  A Web service has a description, identified and published using a URI.  The agent has a network address, also identified and published using a URI.  A Web service description defines the set of one or more XML messages that can be sent to and/or received from a Web service.   A Web service description may be discovered using a registry, directory, or other mechanism that associates human readable keywords with descriptions."
In particular, I've been trying to establish the separation between the applications of XML that Web services consist of (i.e. the set of schemas, DTDs, etc.) and the executable environments onto which they are mapped or transformed.  For one thing, Web services specifications define XML "representations" of things and while they often include processing model information, the artifacts are nonetheless distinct.  The same Web service can be executed in disparate software environments, meaning the "XML layer" needs to be distinct from the software agents that execute the services.  
So I think it's really important to include in the definition at least this distinction.  For example, to clarify the fact that the Web services description or interface is a separate Web resource.  It could live at the same URI as the executable agent, and many implementations do in fact work this way (dereferencing the URI gets you the WSDL file that describes the executable service accessible at the same endpoint address).  
I think the fact that a description also is discoverable is part of the definition of a Web service.

-----Original Message-----
From: Walden Mathews [mailto:waldenm@optonline.net]
Sent: Tuesday, April 15, 2003 1:45 PM
To: Champion, Mike; Www-Ws-Arch@W3. Org
Subject: Re: Is This a Web Service?

I disagree about the "how to construct the URL" part -- that's brittle at best.  The
handling of forms should be considered in the set of "generic web protocols".   And I'm
not clear on your requirements about the format.  Are you saying that if the service
just says "responses are in XHTML" that would be good enough?
Anyway, Anne's proposal was only a SHOULD w.r.t. interface description at that
level, and so if that's valid, then going without should also work.  Just testing the
[pond] waters...
----- Original Message ----- 

From: Champion, Mike <mailto:Mike.Champion@SoftwareAG-USA.com>  
To: Www-Ws-Arch@W3. Org 
Sent: Tuesday, April 15, 2003 1:25 PM
Subject: RE: Is This a Web Service?


-----Original Message-----
From: Walden Mathews [mailto:waldenm@optonline.net]
Sent: Tuesday, April 15, 2003 1:16 PM
To: Anne Thomas Manes; Www-Ws-Arch@W3. Org
Subject: Re: Is This a Web Service?

How about leaving off the "should" on the first one, or amending that sentence to read "The service
should provide some type of description of its interface, or restrict itself to a generic web interface." 

I have a hard time with this.  "Generic web interface" in the REST sense says nothing about the rules for generating the URI or the format of the data to be retrieved.
Think of Google (the "classic" HTTP/HTML version) ... it might be thought of as a Web service *if* they described the rules for generating a query (apparently pretty simple, just concatenate the search terms together with a "+"), and if they described the format (XHTML  is OK) of the result.  But it's not a "Web service" just by virtue of having a "generic web interface" -- people can use the HTML form on www.google.com and make sense of the result, but machines can't.
Received on Tuesday, 15 April 2003 19:30:06 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:41:06 UTC