Re: REST, uniformity and semantics

   I cannot promise to lift your sense of bafflement, but here goes ...

On Monday, May 12, 2003, at 01:48  PM, Walden Mathews wrote:

> Frank,
> I'm a little baffled.

>> The extra interpretation/commitment incorporated by the notion of an
>> Open or custom SOA is that it is possible for parties to describe --
>> using standard specs -- the processing/understanding entailed by
>> sending or receiving a message. This may be in the form of an API-like
>> model but does not have to be. Currently SOAP/WSDL go a long way to
>> permitting this kind of SOA.
> This level seems fictitious to me.  You're using it to introduct SOAP
> and WSDL.  How would you describe it sans those acronyms?  How
> can you have a distinct level based on descriptions which may lend
> meaning to message exchanges?  What constraints are introduced to
> set this level apart?

You must distinguish the abstract characteristics of description from 
concrete specifications. I would argue that CORBA gives a similar kind 
of descriptive power, at this level of abstraction, to SOAP/WSDL. (This 
is not intended as a comparison, nor as an "I'm better than you" fight.)

Its possible to have a level 0 network with no common way of describing 
the message traffic; e.g., email or IM. This work for email because its 
intended for human eyes primarily.

>> Level 2a: REST SOA
>> The extra interpretation added here is that we restrict our language 
>> to
>> one that is appropriate for manipulating resources. This comes in two
>> parts: a limited vocabulary (GET/PUT/POST/DELETE) and a particular
>> interpretation of the `payload' of a message (in particular, the
>> argument of a PUT and POST is the representation of a resource)
> Struggling with this.  Resource orientation, IMO, is a way of looking
> at the world.  Given that orientation, EVERY language is one that is
> "appropriate for manipulating resources".  Maybe that's a nit.  You're
> perhaps saying that you can build up a layer of service orientation in
> which the familiar REST constraints are applied.  I'll but that.

If you are religious about REST and resources then you will see it that 
way. ;-) However, again, I am trying to be abstract about it. Frankly, 
I don't agree that seeing everything as resources solves all problems; 
and I believe that I speak for many when I state that opinion.

> But I don't see why this "layer" would be dependent on SOAP or
> WSDL or their fictional equivalents.  Doesn't this break the layering
> somewhat?

It doesn't have to be dependent on SOAP. The Web isn't. However, by 
permitting this stratification, we could model REST on top of specs 
like SOAP. That may not be the way that it works out in the end, but 
there is a definite shift in interpretation/commitment going from 
generic to specific in this way.

>> A Level 2a SOA has some attractions in that it captures the world of
>> the Web pretty well; but requires some bending to deal with many (if
>> not most) real-world interactions between legal entities: namely
>> ACTION. This leads to:
> Example of the "bending" that is "required"?

What is it in the semantics of POST that captures the fact that a POST 
to a particular place denotes a request for information in one case or 
a request to update a bank balance in another or simply passing the 
time of day in a third? That is the kind of bending I mean.

>> Level 2b: ACTION SOA
>> (This is mythical, but demonstrates that there are many alternatives 
>> to
>> REST)
>> The extra interpretation added in ACTION SOA is that we restrict our
>> language to one that is appropriate for expressing actions between
>> legal entities; here I suggest INFORM, REQUEST, PROMISE, DECLARE as a
>> reasonable initial starting point. In addition, the `payload' of a
>> message takes the form of a fact or an action.
> Due to its mythical nature, I'm having a hard time guessing the
> scope of its applicability...

It not completely mythical. There is a vast body of work around those 
verbs; I didn't invent it from nothing.

>> The real point behind this message is that by taking this kind of
>> stratified view of the different levels of Web services it is clearer
>> (to me anyway) what the relationship between SOA, REST, Web services
>> etc. etc. is.
>> I hope that this helps.
> I hope you can spread the clarity.

The real message is this: (IMO) the real relationship between 
messaging, Web services, REST etc. is the increasing amount of semantic 
commitment being made.

That being stated, it makes very little sense to do battle between the 
layers; its like arguing that vectors are `better' than reals because 
everything can be seen as vectors and vectors can do everything that 
reals can (or vice versa).


Received on Tuesday, 13 May 2003 12:42:47 UTC