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

Reply via email to