MIME-RPC (was Re: REST)

Paul Prescod paul@prescod.net
Wed, 16 Jan 2002 14:46:12 -0800


Lucas Gonze wrote:
> 
> Paul contrasted:
> >  <blah xsi:type="integer">5</blah>
> with
> >  <height>5.3</height>
> 
> Ok, the point of this is a subtlety that is escaping me.  Your point here is, I
> *think*, that higher level constructs are more broadly intererable.  EG, <h1/>
> is preferable to <font size=+1/>.  Yeah?  No?  Huh?

Yes, it is subtle and I probably didn't explain it properly. Sorry.

The point is that you either decide to standardize your message format
or you do not. For instance if the same organization is in charge of the
client and the server you probably will not bother to standardize. So
then it is convenient (if ugly) to declare the types in every message
and let your programming language do unmarshalling automatically based
on the inline types.

On the other hand, if you want to build a system with dozens of clients
and dozens of servers then you need to very formally specify how the
system works. The "types" are in that case only one of the things you
need to communicate. The semantics are much more important and much more
difficult to communicate. Once you've gone through this process, why
would you bother to put the types inline? Does anybody out there wish
for:

Content-length: (integer)5

or 

<img width="(integer)5"/>

Maybe a better way to get at this would be just to ask: "Why don't you
know the types in advance?" But I do think that there is a place in the
world for simple point-to-point apps where you want your runtime library
to dynamically unpack types for you.

 Paul Prescod