cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <>
Subject Re: ROP [Was: [jira] [Commented] (CAY-2038) Hessian serialization error when using JSR-310 Date types with ROP]
Date Mon, 14 Dec 2015 08:18:57 GMT
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 :)


> On Dec 14, 2015, at 11:00 AM, Andrus Adamchik <> 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 <> 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 <> 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
>>>> * 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

View raw message