RE: Action Item 2004-07-01 Solution to 168/R114

Hey Roberto,
> 
> Good! But then define just one operation,
> 
>   <operation name="doesitall">
>     <input element="#any"/>
>     <output element="#any"/>
>   </operation>
> 

This is almost right but not at the WSDL level as you think. If you
consider service-orientation, where we concentrate on the exchange of
messages, this is pretty much what happens. We send a message from one
service to another (please note that this a one-way transfer...
request-response as you note above happens through two such one-way
transfers).

You send a message to a service for processing and that's all that is
needed from an architecture point of view and all that is required for
modelling the exchange of messages. Jim and I have been talking about
this approach of reasoning about service-orientation in our
"processThis" related blog entries (google the term if you are
interested).

Effectively, we suggest that all services must support only this
abstract operation, which is implemented via any of the available
underlying transport protocols like TCP/IP, JMS, HTTP (Mark Baker takes
an issue because we treat HTTP as a transport protocol), SMTP, etc. That
doesn't mean that WSDL is not necessary. On the contrary... The
structure of those messages exchanged has to be described someway. WSDL
is the contract that defines the structure of those messages. It's not
used for anything more (no semantics, no programming model specific
constructs). In fact, "processThis" or "processMessage" (we are looking
for a better name :-) is the only _operation_ that is supported and it's
abstract, part of the architectural model rather than the realisation
that we call Web Services.

[snip]
> 
> But if you partition the set of possible exchanges in buckets,
> advertise that fact prominently in the WSDL and then tell to
> an innocent bystander like me "Nope, just kidding! See? There
> are no buckets, no matter how close you look!", well, that
> sounds like cheating.
> 
> Operations exist, because _you_ put them in the WSDL _you_ published.
> 

Yes, indeed... operations do exist in the WSDL. They should have really
been called "messageExchanges" but that's life. However, just because
one has an operation, it doesn't mean that it is an instruction to the
service to do something. In fact, I would propose that the WSDL group
considers the ban of verbs from operation names :-))) (just exaggerating
there but I hope you get my point :-)

Regards,
--
Savas Parastatidis
http://savas.parastatidis.name

Received on Wednesday, 14 July 2004 04:05:48 UTC