Re: supporting SOAP-GET MEP (was: Re: service references)

Sanjiva Weerawarana wrote:
>...
> 
> The way programmers are using WSDL today (and I imagine in the
> near future) is typically as a thing to feed a stub generator
> that creates a stub for the service in their environment. This
> has nothing to do whether the service is bound to a document-style,
> RESTful, GET only, SOAP RPC only, SOAP-GET, RMI/IIOP, COM or whatever.
> All those are binding details and are hidden in the stub. 

WSDL hides the syntax. IIOP versus SOAP-RPC over TCP can be hidden. But 
it doesn't hide the model.

If a particular operation returns a result, it returns a result. 
Therefore it is not an asychronous service. On the other hand, if the 
result is returned through a callback then it is not an RPC service.

If a particular operation returns an integer, it returns an integer and 
that is not hidden from the programmer. Similarly, if an operation 
returns a *service reference* then it returns a service reference and 
that too is not hidden from the programmer.

REST imples a style of service that is very reference heavy, has a fixed 
list of pre-defined methods per resource, involves client-server, 
request-response interactions and eschews implicit conversational state. 
  You can't hide the difference between a RESTful service and an 
asychronous service with a thin layer of renaming provided by WSDL. REST 
isn't about using HTTP syntax...it's about how you structure the service.

> That's what I meant by the programmer will not care by what
> binding is indicated in the WSDL - all they really care about
> is the abstract part of the service.

Right, and either the abstract interface exposes typed references or it 
doesn't.

>...
> What you're describing above is a pattern for how services should
> work. As a WSDL guy, that's not my problem: we only make the (WSDL)
> gun; you shoot it any way you like. The RESTful ones amongst us
> will probably do pure HTTP GET bindings while the CORBArians amongst
> us will probably do pure SOAP RPC (or should I say IIOP) bindings.
> Everything in between is supported too.

As long as you truly do support both models, that's fine. But my point 
was that today, without service references, WSDL supports neither the 
REST model nor the CORBA model. And insofar as the GET MEP comes from 
the REST model, it will fit very uncomfortably into WSDL until the rest 
of the model is supported.

  Paul Prescod

Received on Tuesday, 24 September 2002 16:42:49 UTC