> On Dec 16, 2015, at 10:44 PM, Dzmitry Kazimirchyk <dkazimirc...@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

Reply via email to