W3C home > Mailing lists > Public > www-ws-desc@w3.org > June 2003

RE: targetResource wording

From: Savas Parastatidis <Savas.Parastatidis@newcastle.ac.uk>
Date: Fri, 20 Jun 2003 20:56:06 +0100
Message-ID: <BC28A9E979C56C44BCBC2DED313A447001D75738@bond.ncl.ac.uk>
To: <www-ws-desc@w3.org>

> 
> Suppose there are two interfaces, printing & printermgmt. Printing
> contains the operation "print" which returns a job id.  printermgmt
> contains, amongst others, the cancelJob operation.
> 
> If I print to some print endpiing with a targetResource and later
decide
> to cancel it, I need to know which thing on which to perform the
> cancelJob operation. In  this case, the 'targetResource' identifies
the
> printing subsystem.  Depending upon the enterprise's choices, this may
> be a server, a printer, a farm of printers in some room with a common
> manager or spooler, whatever -- we don't know.  We just know that two
> endpoints employing these interfaces refer to the same 'collected
stuff'
> -- that identified by the 'targetResource'.
> 

I don't think the targetResource is what you need here. The jobId you
got back as the result of the print operation should contain enough
information for you to cancel your print job through the printermgmt
interface by giving the jobId.

I think targetResource attempts to expose implementation-specific
information through a web service interface (just my limited
understanding).

In your example, the idea of targetResource causes really big
problems... (again, according to my understanding).

<interface name="PrintInterface">
   <operation name="print">
      ...
   </operation>
</interface>

<interface name="PrintManagementInterface">
   <operation name="cancelJob">
      ...
   </operation>
</interface>

<service name="PrintService"
         interface="PrintInterface"
         targetResource="http://print.com/printerA">
   ...
</service>

<service name="PrintManagementService"
         interface="PrintManagementInterface"
         targetResource="http://print.com/printerA">
   ...
</service>

Can you see the problem here?

If my printerA breaks down and I want to replace it with printerB, or if
I want to use a pool of printers, I will have to change the interfaces
of my two web services. That shouldn't have to be the case.

If, however, my jobId contained the name of the printer (which is an
application specific decision) then I could get exactly the behaviour
you suggested. 

No?

Regards,
.savas.
Received on Friday, 20 June 2003 15:56:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:25 GMT