Exactly my thoughts. ROP is trying to provide all possible query
types, and close to 100% of Cayenne server functionality on the
client. This won't map well to a JS client. A different simpler
protocol is needed.
Another problem is that unlike server-side objects, client-side
objects do
not have a map for all properties (anyone knows why it was done so?),
therefore they cannot be resolved without Reflection, and GWT does
not have
reflection.
We wanted lighter POJO on the client.
Andrus
On Nov 19, 2009, at 10:21 AM, Andrey Razumovsky wrote:
I really want to have some "ROP AJAX client" too. Particularily, GWT
ROP
CLient, so that we could work on Web client same way (but using
async calls,
of course) we do it on ROP client. What I soon found is that
currently ROP
client has very complicated logic, in fact it lives its own life.
E.g. it
can do resolving lazy relationships as needed (and in the middle of
method!), which is impossible in asynchronous AJAX model. So I ended
up
writing simple module that converts server-side objects to JSON.
Another problem is that unlike server-side objects, client-side
objects do
not have a map for all properties (anyone knows why it was done so?),
therefore they cannot be resolved without Reflection, and GWT does
not have
reflection. But, I really want to fix this in 3.1 as a step to
unificate
server-side and client-side objects.
So, creating "GWT ROP Client" is a separate step, which contains
several
ideas from ROP, but should have its own architecture.