Sorry for the series of messages. Trying to brainstorm this. Another thing that I hoped to achieve in Cayenne is seamless reverse-engineering flow. The biggest hurdle in ORM is the constant need to sync up multiple layers: DB -> ORM -> code. Annotation-based frameworks combine ORM with code, somewhat easing the pain (though making things dirty in the process). Our full separation of all 3 layers always seemed right. But now I think of it as an advantage not being utilized.
So the hope is that we can do better, and perhaps a zero-manitenance proxy is the answer to the sync problem as well. But maybe I am on the wrong track completely by mixing modeling and query execution aspects here. Anyways, just thinking out loud :) Andrus > On Dec 14, 2015, at 11:00 AM, Andrus Adamchik <and...@objectstyle.org> wrote: > > Though I guess the main motivation for Java ROP now is the ability to run > code both on the client and on the server, right? > > If so, let's focus on the data protocol, which can then be used either with > the current ROP or a stripped down proxy. > > Andrus > > >> On Dec 14, 2015, at 10:56 AM, Andrus Adamchik <and...@objectstyle.org> wrote: >> >> For technologies like Swift that don't have native drivers yet it provides >> JDBC driver. >> >> And it provides ORM mapping and object queries and updates for everyone. >> >> Andrus >> >>> On Dec 14, 2015, at 4:41 AM, Aristedes Maniatis <a...@maniatis.org> wrote: >>> >>> On 13/12/2015 7:00am, Andrus Adamchik wrote: >>>> Another possible direction with ROP is to strip it down to a very simple >>>> and performant "ORM proxy": >>>> >>>> * define a protocol for protobuf and JSON serialization (still need to >>>> look at Kryo). Limit it to the smallest usable subset of queries (EJBQL is >>>> a good candidate ... any other object select can be translated to it) and >>>> generic update operations. >>>> * make the server generic - use generic entities instead of precompiled >>>> Java classes. >>>> * remove stateful ObjectContext layer from the server. Perhaps serialize >>>> DataRows directly (can be tricky with prefetching, but doable). Will still >>>> need request-scoped ObjectContext for commits I guess. >>> >>> >>> I'm not really understanding the point of an ORM proxy. What does it give >>> you that JDBC doesn't? >>> >>> Ari >>> >>> >>> -- >>> --------------------------> >>> Aristedes Maniatis >>> GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A >> >