cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aristedes Maniatis <...@maniatis.org>
Subject Re: ROP, Hessian and protocol-buffers
Date Tue, 24 May 2016 10:59:30 GMT
On 24/05/2016 8:21pm, Savva Kolbachev wrote:
> It seems that the next step should be moving ROP functionality to the
> separate module, as it was noted before. It will give us a cleaner
> structure.

I agree. Ideally the modules should be able to discover each other without configuration.
For example if you drop in both cayenne-rop and cayenne-rop-proto into the project, then protostuff
should automatically be used without explicit configuration. Here's an example from Jersey
as how they do this:

https://jersey.java.net/documentation/latest/deployment.html#deployment.autodiscoverable

Personally I don't know we need to put the effort into writing a Hessian module (I'm not aware
of anything Hessian does better than protostuff), but maybe that is important to others?


> I think we also need to clean up some code to make it more flexible
> and independent from Hessian.
> For example
> https://github.com/apache/cayenne/blob/master/cayenne-client/src/main/java/org/apache/cayenne/remote/service/LocalConnection.java
> It would be better to have something like this
> https://github.com/apache/cayenne/blob/master/cayenne-protostuff/src/test/java/org/apache/cayenne/remote/service/ProtostuffLocalConnection.java

Yes, the awkward switches in LocalConnection are... awkward.


> Also, I think we should remove the dependency on Hessian from ROPServlet
> https://github.com/apache/cayenne/blob/master/cayenne-server/src/main/java/org/apache/cayenne/rop/ROPServlet.java#L102

This is one part I don't have my head around. Should any servlet implementation be in Cayenne
or associated modules at all? Or should this just be described in some example code for people
to implement in their own projects?


Ari




-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Mime
View raw message