I've just been talking to Dima about this and I think we are in agreement that the first most important issue for us is not the serialisation, but rather introducing clean separation between three things:
* cayenne * hessian * transport (http) Currently, those things are deeply mixed up, and that makes it somewhat tricky to add gzip compression to the connection or switch from HTTP to HTTP2. We believe that HTTP2 will give us significant performance improvements for the type of workloads we see. Latency is very important because of the large number of small requests Cayenne will make (for example, every time a bit of UI needs to follow a join). So even keeping Hessian in place, we need to make the parts more pluggable. I'm interested in any opinions people might have on this work. I am assuming we'll look at the Cayenne DI library to provide simple ways to replace the serialisation library or the transport choice. Ari On 7/12/2015 10:01pm, Andrus Adamchik wrote: > >> On Dec 7, 2015, at 12:53 PM, Aristedes Maniatis <a...@maniatis.org> wrote: >> >> Also, I just saw this: http://www.grpc.io/ which is licensed under a >> BSD-style three clause thing. That looks like it overlaps linkrest a bit in >> features, but perhaps we can learn a bit about their approaches to RPC >> service calls which need to wrap around the actual Cayenne objects. > > > LinkRest objective is building RESTful APIs, which is the opposite of RPC. > ROP though (at least currently) is RPC. So yeah, there may be something there. > > Andrus > -- --------------------------> Aristedes Maniatis GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A