> 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