users@jersey.java.net

RE: [Jersey] Hypermedia clarification

From: Markus Karg <markus.karg_at_gmx.net>
Date: Tue, 16 Feb 2010 18:09:50 +0100

Marc,

> >>> It would have been more fair to tell Mr Fielding the whole story:
> >>>
> >> I thought I asked the question in a fair and non-predudicial way. I
> >> think the terms "RPC-style", "fancy HTTP header" etc are quite the
> >> opposite.
> >
> > The problem is that the question was so abstract that the answer
> would not
> > deal with the problems of fancy headers and RPC, so it was not
> necessarily
> > clear to him what we *actually* like to know: Whether *any* headers
> are
> > allowed (which you cleared later on) or whether RPC-style URIs are
> allowed
> > (which you didn't mention).
> >
> > If we want to get a clear answer to our actual question, we have to
> provide
> > actual information what we are talking about. Never ever doubted what
> you
> > actually asked in your first question, and you seem to notice it when
> you
> > asked your second.
> >
> I think the question is fairly simple. You claim that HATEOAS when
> applied to HTTP does not include HTTP headers, others think
> differently. RPC-ness (which FWIW, I don't think any of us is in favor
> of) is orthogonal to that basic question.
>
> Representation *is* an abstract term, we want to now how that abstract
> term maps to concrete HTTP components like headers and entity bodies.

Actually I think that the question is not so fairly simple, as the trick
seems to be, as he did not say that *all* headers (possibly fancy ones) are
part of the hypermedia, but actually he wrote that *representation headers*
are. This is a difference, and I wanted to point out that even if *some*
headers are part of the hypermedia, that does not necessarily mean that
*others* are, too. But I think you already noticed this difference as you
asked back exactly this.

About RPC, I don't know what you actually planned to do or not to do, I just
saw that the proposal contained pure action URLs, which *look* pretty RPC
like, so people will be think "hey great, let's do RPC now" -- despite what
you intended it for. This is I want to prevent.