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.
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?
Dima
On 12/16/2015 09:19 PM, Andrus Adamchik wrote:
* unwrap anything HTTP from the code and throw it away
* that includes cookie handling, user, password, etc
* ideally make Hessian pluggable/replaceable, but that's a secondary goal and
may be left till later
I am certainly +1 on this.
Though all the connectivity is delegated to HessianProxyFactory (with some
Cayenne flavor on top). Hope you've already figured out how to swap that out.
Andrus
On Dec 16, 2015, at 1:21 PM, Aristedes Maniatis <a...@ish.com.au> wrote:
Just a heads up that Dima and I have been chatting offline about dramatically
reworking the ROP connection code at the client end. I think our goals right
now are simple:
* unwrap anything HTTP from the code and throw it away
* that includes cookie handling, user, password, etc
* ideally make Hessian pluggable/replaceable, but that's a secondary goal and
may be left till later
I suspect much of the work needed is to figure how ClientChannel needs to
interact with the connection and perhaps develop a very simple interface for
that connection inside Cayenne.
The idea is to let the user supply their own connection. Whether that be http
client libraries from Java, httpClient from apache commons, or the jetty http2
client library. Then it becomes easy to:
* wrap the connection in SSL
* add different types of authentication
* manage session cookies
* add session timeouts
* compress the http stream
* use keep-alive
Dima, have I roughly summarised the goals here? Do you have anything to add?
Ari
--
-------------------------->
Aristedes Maniatis
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001 fax +61 2 9550 4001
GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A