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

Re: New issue [distobj@acm.org: Re: What does WSDL describe?]

From: Jacek Kopecky <jacek.kopecky@systinet.com>
Date: Thu, 30 Oct 2003 16:59:38 +0100
To: Mark Baker <distobj@acm.org>
Cc: Jonathan Marsh <jmarsh@microsoft.com>, WS-Description WG <www-ws-desc@w3.org>
Message-Id: <1067529578.3359.48.camel@localhost>

Please see below.

> "What can a symbol  
> require of a person? Nothing. What can receipt of a message which uses  
> a symbol require of a person? Nothing. You can't require people to do  
> thing by sending them things.
> 
> We can define a *protocol* in which people do do things, and we can  
> demonstrate
> that if people adhere to the protocol interesting results can be  
> assured.  Then conformance with the protocol would require that one do  
> something."
>  -- http://lists.w3.org/Archives/Public/public-sw-meaning/2003Sep/0130.html

This is very insightful, and IMO a WSDL operation is a protocol.

In case the above isn't sufficient, please read on. 8-)

Sending documents isn't sufficient, my software never just sends a
document to some service. My software always sends some documents to
some endpoints *expecting that an agreed thing will be done*. I don't
just come up to a clerk and hand it an new-bank-account form. I usually
go to *a bank* (a service endpoint with a known interface), give them a
*new-bank-account form* (the agreed document structure) and expect that
*an account is going to be opened for me* (the semantics).

Now the semantic agreement can be per service, i.e. a service can tell
me what submitting a document to it with the structure given by the
operation will result in; or it can be per interface, i.e. the creator
of the interface can tell me what submitting a document with the
structure given by the operation will do, and the service just tells me
how to submit the document and where to submit it.

In other words, "per service" means one can define an interface that
will involve new-bank-account forms, a company can advertise that they
implement it and then I'll call them up and ask them, what they do with
new-bank-account forms. "Per interface" means one can define a bank
interface involving new-bank-account, my parent teaches me (in lieu of
me having to call the creator of the bank interface) that a bank is
where I put money into accounts, and when I see a company advertising
they do banking, I don't have to call them and ask them if that involves
putting money in accounts.

An operation always means *do something* and it need not be RPC. If I
don't know what a service does, I can only ignore it.

                   Jacek Kopecky

                   Systinet Corporation
                   http://www.systinet.com/
Received on Thursday, 30 October 2003 11:02:49 GMT

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