I think that protobuf is quite happy with any type of object graph, however deep it needs to be. And it will not serialise the same object twice if it appears in the tree in different places.
http://stackoverflow.com/questions/6294295/protobuf-net-serializing-object-graph 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. I also like their use of HTTP2 which could reduce latency, the biggest performance issue in Cayenne's ROP. Ari On 7/12/2015 8:46pm, Andrus Adamchik wrote: > Correct, they are there for (de)serialization through Java-centric > mechanisms. So if we can map server-side objects directly via protobuf, we'll > be able to remove this dependency. I just wasn't sure if this is how we are > planning to do it? > > Also not sure how prefetched relationship mapping would work with protobuf > (does it understand infinitely recursive data structures?) > > Andrus > > >> On Dec 7, 2015, at 12:41 PM, Aristedes Maniatis <[email protected]> wrote: >> >> On 7/12/2015 5:37pm, Andrus Adamchik wrote: >>> But changing serializer won't help to get rid of server-side dependency on >>> client entities, or will it? >> >> I just assumed that the only reason they existed was to make it easy for >> Hessian to de-serialise client objects once they arrived on the server. Do >> they have some other purpose? >> >> Ari >> >> >> -- >> --------------------------> >> Aristedes Maniatis >> GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A > -- --------------------------> Aristedes Maniatis GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
