Re: /service/@targetResource ?

Mark,

Let me explain the thinking.

In WSDL 1.1 a service can have multiple endpoints. For example, different 
transports could be used to invoke the same operations. Consider the 
following simplified example:

There is a resource:

http://www.stockquotes.com/prices 

that I can query to get the latest prices for a stock, e.g. 

GET http://www.stockquotes.com/prices?symbol=IBM 

returns the price of IBM. Here we refer to 
http://www.stockquotes.com/prices as an endpoint of the service. Now 
suppose the service also provides a secure endpoint for use by customers 
that wish to keep their interests confidential, i.e. they are concerned 
that someone sniffing the traffic could determine which stocks they were 
interested in. The endpoint for this service is

https://www.stockquotes.com/prices

This endpoint implements the same interface and is really the same 
resource, but it is a different URL. The @targetResource attribute would 
be used to indicate the fact that both endpoints act on, e.g. 
http://www.stockquotes.com/prices.

In WSDL 1.1 a service can have multiple endpoints that implement different 
interfaces. In WSDL 1.2 we are proposing to tighten this so that all the 
endpoints of a service must implement the same interface. However, if you 
want to express that fact that two services act on the same resource, then 
you give each the same @targetResource.

Arthur Ryman




Mark Baker <distobj@acm.org>
Sent by: www-ws-desc-request@w3.org
05/14/2003 12:54 PM

 
        To:     www-ws-desc@w3.org
        cc: 
        Subject:        Re: /service/@targetResource ?

 


On Wed, May 14, 2003 at 11:10:47AM -0400, Arthur Ryman wrote:
> 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.

That's not true.  A resource is anything with identity.  Web services
have identity, so are therefore resources.  They may effect other
resources, but that seems inconsequential.

It is certainly the case that many Web services today, despite being
resources, don't behave like them (i.e. they don't answer HTTP GET
requests, as one example).  But this need not be the case, since every
Web service *could* answer a GET and serialize their current state into
the response.

So I'd caution that it shouldn't be assumed that a Web service is a
Facade behind which resources live, which this seems to do.

I don't understand the problem that @resource attempts to solve.  Surely
not all resources that a service effects needs to be listed in the
WSDL?!  Not only could the list be huge, it's not part of the interface,
because it may vary depending upon the input message.

Thanks.

Oh, and in the banking example, a bank account is more likely to be
the resource that's modified, rather than "the bank".  But if, for
example, a tranfer was initiated via a service, then both accounts
would be effected resources.

MB
-- 
Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca
Web architecture consulting, technical reports, evaluation & analysis
  Actively seeking contract work or employment

Received on Friday, 23 May 2003 12:28:44 UTC