W3C home > Mailing lists > Public > www-ws-arch@w3.org > September 2002

RE: service references (was: Re: WSA diffs from REST)

From: Assaf Arkin <arkin@intalio.com>
Date: Mon, 23 Sep 2002 17:29:16 -0700
To: "Paul Prescod" <paul@prescod.net>, "Anne Thomas Manes" <anne@manes.net>
Cc: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>, "Mark Baker" <distobj@acm.org>, <www-ws-arch@w3.org>

You will find that this approach is quite common. For example, when you're
updating a record in the database you open a connection to the database
(service) and identify the record in the SQL statement. You can write the
application to deal with records in any database if you keep a distinction
between the record identifier and server identifier. You can also use
identifiers that have business meaning, e.g. a purchase order number,
employee number, etc.

Yes, this doesn't look consistent with other aspects of the Web or the REST
approach, that prefer that each entity have a unique address. But it does
allow you to perform various operations on objects regardless of which
service you are using. It could be http://myserver.com today,
http://yourserver.com tomorrow, but you will always operate on the same
purchase order.


Anne Thomas Manes wrote:
> Systinet WASP has supported service references for more than a year. It
> references a Web service by its WSDL port. To pass a service by reference,
> you return the URI of the WSDL port, and you return an instance ID of the
> service instance in a SOAP header. You can reconnect to the same instance
> dynamically connecting to the service (using a dynamic proxy or a DDI) and
> specifying the instance ID in the SOAP header. The WSDL file for the
> indicates what types and headers are used in the service.

I am curious why I must pass a URI and an instanceID to connect to a
service instance rather than naming each service instance by a single
resolvable URI as is done elsewhere on the Web?

Also, I'd like to hear more about the WSDL. Obviously it is trivial to
make a WSDL where a complexType "PO" is repeated or made optional
through a parent's content model:

<element name="purchase_orders">
      <element name="po" minoccurs="0" maxoccurs="20">

Can I similarly refer to *references* to purchase order *services* (or
port types)?

> It would be nice to define a standard SOAP extension to accomplish
> by reference, but I don't view it as a top priority. We had a discussion
> about service references on Apache axis-dev a while back, but it didn't go
> anywhere.

I objserve that an awareness of this issue is not widespread in the Web
Services industry. Individual web service deployers invent one-off
solutions (UDDIs, XPaths, handles) and because they do not yet care
about interoperability BETWEEN web services, they see no problem with
using home-grown solutions.

  Paul Prescod
Received on Monday, 23 September 2002 20:29:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:40:59 UTC