cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: work on ROP
Date Thu, 17 Dec 2015 07:05:15 GMT

> On Dec 16, 2015, at 10:44 PM, Dzmitry Kazimirchyk <dkazimirchyk@gmail.com> wrote:
> 
> The easiest thing I see that we can do now is to preserve Hessian's RPC/serialization
layer, i.e. HessianProxy/HessianProxyFactory, but instead of routing the call through the
default Hessian's HTTP connectivity mechanism re-route it to our own pluggable networking
interface instead.

Great!

> Pluggable RPC/serialization is significantly harder since we need both ends (client and
server) to agree on the protocol. I am still thinking on this, but perhaps having our own
library independent RPC layer implementation instead of relying on HessianProxy (client) +
HessianServlet (server) could make a task of making pluggable serialization layer easier?

Yeah, the current abstraction (ClientConnection) is pretty high-level, covering 2 concepts:
wire protocol and data format. So some pluggability within a connection may be needed. 

So how about implementing HttpClientConnection with JAX-RS? It will take care of HTTP(S) as
the wire protocol and will provide very clean pluggability layer (MessageBodyReader/MessageBodyWriter).
I very much like JAX-RS API, which works on both client and server. And certainly wouldn't
want to reimplement all this from scratch. I think this should be compatible with protobuf
(and maybe with Hessian), as well as JSON or anything else. 

One thing I am not sure about is whether we can wrap HTTP/2 support around this?

Andrus
Mime
View raw message