Re: Semantics of WSDL vs. semantics of service

On Mar 15, 2006, at 7:40 AM, Jacek Kopecky wrote:

>
> Xuan,
>
> you seem to misunderstand the purpose of the semantic annotations in
> WSDL. They are not meant to indicate what the <operation> element 
> means,
> instead they intend to tell you something about the operation that is
> performed when the appropriate message (whose structure is described
> within the <operation> element) is sent.
>
> There is an actual service behind a WSDL file (this is a 
> simplification,
> there is a service behind a WSDL <service> construct, and maybe there's
> functionality behind a WSDL <interface> construct), and the semantic
> annotations intend to point to the semantics of the actual service.

And there can be multiple descriptions of the same service, and the 
same functionality that is tailored toward different needs. And since 
these all are *abstractions* to greater and lesser degrees, they, of 
course, hid detail.

(Plus, and I'm too weary to go back through the thread, but as I 
recall, the original motivating examples were ludicrous. A function 
whose signature is Int -> Int is *just the same* as a function whose 
signature is Double->Double? Not to your type checker. The calculator 
example is similarlly looney. At one level, yes, they are the same. 
Heck, we can even *indicate* that they are the same at that level. But 
then there are details that are different, and so we must indicate 
those differences as well. So we can have descriptions with commonality 
AND differences. We can say that (if we squint this way) they ARE the 
same and (if we squint the other way) they ARE different (even though 
they "do the same job". So this made up worry about failure to capture 
the "real meaning" of web services is just that, a made up worry. I 
don't WANT to capture the "real meaning" whatever that may be of the 
Web Service. I want to *describe* the Web Service in various useful 
ways; the ways in which a description will be useful is interest 
sensitive and context relative (to dredge up Quine), thus so to will be 
the descriptions.)

> Are you saying making such pointers is not possible or useful?
>
> A bit more below.
>
> Jacek
>
> On Mon, 2006-03-13 at 11:42 -0500, Shi, Xuan wrote:
>> Jacek,
>>
>> Dr. Martin is unhappy to see that I messed up his original thread so I
>> replied to you separately. What I mentioned previously is that adding
>> semantic annotations into WSDL is a way to explain the meaning of 
>> WSDL,

No. Clearly not. We adding *content*. We *change* the meaning of the 
WSDL *document* by making it a *richer* description. We, in fact, 
propose to say *more about the service*, how it behaves, what it's good 
for, and how to use it. Sometimes we have to *take out* true but 
confusing detail for clients that are not as sophisticated as others, 
or have more limited needs. There *is no problem*, and there is not the 
failure you think there is.

>> other than the meaning of Web services. Given the example of ESRI's 
>> Address
>> Finder Web services, by now it has three versions with different WSDL
>> interface definition.

So?

>>  However, the meaning of this service keeps the same in
>> three different versions.

First, even if so, so what? Really, it's no problem. Show me a problem! 
Let there be 100. So what? Oh I should be concerned if there are 100 
and they can't be automatically proved equivalent then I should beat my 
chest becasue OBVIOUSLY I've failed to capture the *MEANING* (in some 
sense) of the service? Why on earth? (That's a rhetorical question. In 
fact, this is a rhetorical message.)

>>  So if you add semantic annotations into WSDL, it
>> just describes the meaning of the interface, not the meaning of the 
>> service,

If I have an Annotation which says, "the particular service at this 
particular endpoint when responding to these messages with this message 
(as described by the operation) **adds $50 to your bank account**" I am 
clearly describing the service and not the interface (I'm also 
mentioning the interface and making use of descriptions of it). I could 
have another description in a separate document which says "the 
particular service at this particular endpoint when responding to these 
messages with this message (as described by the operation) **adds $50 
to your bank account AND SENDS A NOTIFICATION VIA EMAIL**". That *also* 
describes the service, with a bit more detail.

Oops, two documents?!?!? Two *DIFFERENT* descriptions of the same 
thing. However will I cope? Must I conclude from this that the words 
"adds $50 to your bank account" and "adds $50 to your bank account AND 
SENDS A NOTIFICATION VIA EMAIL" *must* be describing the interface and 
not the service? No, because that would be insane. They clearly 
describe the service. That there are two of them, that they are 
different, that they are different from this additional, 
non-overlapping description "deletes $50 from our bank account" (which 
describes the service for the person *paying* the $50), entails nothing 
about *WHAT* they are describing.

>> especially considering most of the interface definitions in WSDL have
>> nothing related to the *meaning* of this service. In this case, your
>> semantic annotations will be different since the interfaces are 
>> different,
>> but the *meaning* of the service has been the same in three different
>> versions.
>
> I said earlier that the semantic annotations will *not* be different on
> the different interfaces, exactly because the meaning of the service is
> the same.

But that is to give away far, far too much.

> The semantic annotations will show that the semantics are the
> same. That's the purpose.

Overuse of the word "semantics" causes confusion I think.

Cheers,
Bijan.

Received on Wednesday, 15 March 2006 20:31:54 UTC