RE: What does WSDL describe?

 

> -----Original Message-----
> From: Savas Parastatidis [mailto:Savas.Parastatidis@newcastle.ac.uk] 
> Sent: Sunday, October 26, 2003 9:29 AM
> To: Anne Thomas Manes; paul.downey@bt.com; www-ws-desc@w3.org
> Cc: Jim Webber; distobj@acm.org
> Subject: RE: What does WSDL describe?
> 
> However, I was trying to suggest in my message that there 
> wasn't an actual need for having "operations". A service 
> receives messages. If one of the messages on the wire looks like this:
> 
> <orderForm1>
>   <carOrMotorcycle>car</carOrMotorcycle>
>   <colour>blue</colour>
>   <cc>1800</cc>
>   <model>blabla</model>
> </orderForm1>
> 
> then the service receiving it knows what needs to be done. 

Really?  There are a lot of things that real businesses do with orders:
enter them, fufill them, cancel them, approve them, etc.  One could of
course have different services for each of these (Mark Baker's preferred
approach, I'd guess) and one could just GET/PUT/DELETE order documents from
those service queues.  If I understand the counter-argument, its that
businesses don't want to expose all this to the outside (where it might
expose details of their operations they don't want exposed to competitors or
hackers, because the details are sure to change and they don't want to have
to manage the redirects and updates, because the HTTP interface is just some
thing in the DMZ and the real guts of the system are scattered all over the
enterprise, etc.)

> 
> I believe such an approach helps us in better describing web 
> services as being agents (does the WSA document still use 
> this term?) that can receive/send messages and not 
> entities/objects/components on which we call operations.

Well, I *do* agree with this philosophy, and yes the WSA still uses the term
"agents".  WSDL does describe the messages and not the semantics, but in my
personal opinion "operation" is such a fundamental idea that WSDL ought to
have a standard place to put it, even though it is not absolutely, minimally
necessary.   It also gives tools some possible hints about bindings, e.g.
deleting an order might be bound to an HTTP DELETE rather than a POSTed
deleteOrder operation.    (I guess that implies that there are some
semantics about operations embedded in WSDL, I'm not sure).  Finally, let's
not forget that the majority of SOAP systems actually deployed today do use
RPC in one form or another.  We may wish to make WSDL more flexible to
accommodate asynchronous and one-way MEPs, but it seems self defeating to
make it difficult to do RPC in environments where it actually works.

There's also the argument that while WSDL 1.2 should try to encourage people
to "do the right thing," if it goes too far away from WSDL 1.1 it will break
too much, and be ignored.  

Received on Sunday, 26 October 2003 09:57:43 UTC