cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <>
Subject Re: work on ROP
Date Mon, 21 Dec 2015 06:31:48 GMT

> On Dec 18, 2015, at 12:34 PM, Aristedes Maniatis <> wrote:
> On 18/12/2015 6:28pm, Andrus Adamchik wrote:
>> I was thinking about this design some more.. This isolation between wire protocol
and serialization layer sounds great at some level, but has significant drawbacks too. It
would prevent us from building a truly RESTful service, as serializer can't manipulate URL,
headers or access media type information. Treating the underlying HTTP as blackbox was the
mistake SOAP made back in the day, which caused its undoing. So I am not sure we want to go
this route. 
> Except that we are building a ROP service, not a restful service. ROP requires the use
of a Cayenne QueryMessage object to describe the resources we want to fetch, where REST would
describe that as a URL path. That's not what I'm trying to accomplish here since it gives
us minimal benefit when the client isn't a web browser.
> Cayenne ROP currently has just two method calls. One to log in and create a session,
and one for everything else. All the data (which objects we are getting, updating, etc) are
within the serialised data stream itself and not in the URL or headers.
> The only reason I'm wanting to keep http at all is because some nice stuff has been already
built on it for us. gzip, keep-alive and SSL are all pretty trivial over HTTP. Other than
those, we could just as easily be opening a raw TCP socket and pushing the data over that.

If we are focused narrowly on fixing ROP, then I agree. This is fine and is probably a good
low-hanging fruit for us to take care of.

If we want to make something better and more widely usable out of it, then my concerns come
into play. As I personally haven't committed to doing anything in this area yet, I don't have
any objections to improving ROP per approach discussed above either.


View raw message