On 1/09/2014 1:26am, Andrus Adamchik wrote: > After a marathon of 5 LinkRest [1,2] releases in the last 20 days, I am > starting to think it soon might become capable enough to replace Hessian in > ROP. Which is going to be awesome, as the same server will be able to work > with either Swing/SWT or JS clients, and ROP may break out of its current > shrinking niche.
Some questions: * the code looks like just the server-side implementation. Would there also be a client-side implementation to tie into Cayenne. What about other platforms like a javacript client library? Could a Java client work on Android? * could it be tied into servlets so that on the server side we'd have a GenericServlet subclass like ROPHessianServlet is now? Or is this a very different implementation? * I assume it would be easy to wrap the interaction in https and deflate? * is it wise to tie it into Jodatime as that library is just now being replaced by the new Java time classes? > Aside from the protocol details, the biggest architectural difference between > current ROP and LinkRest is that the later is not based on blind > serialization. Instead it has a well-defined query API that the client would > have to follow. SelectQuery, RelationshipQuery, ObjectIdQuery will all be > easily translatable to LinkRest. As well as commits (after PATCH [3] is > implemented). Some consequences of the above: > > * A LinkRest server can have fine-grained security. To a point of shaping the > response objects and attributes per user role. We’ve done that already on a > number of real projects. Are you doing that by controlling access around which RESTful paths which can be called, or by controlling the objects which are returned? > * A LinkRest server can be upgraded without upgrading all the clients. E.g. > we can use newer Cayenne version on the server and the client wouldn’t know. That's very nice. > I am working on improving LinkRest now, and don’t have immediate plans to > jump on the ROP adapter for that, but still wanted to gauge interest in such > a technology. And of course in a wider LinkRest discussion. For us, Hessian's main limitations are its lack of documentation, release notes or clarity in releases. Beyond that it has been extremely robust. It has been difficult to extend though: adding more cookies, deflate or other changes have not been trivial for us. The one thing that LinkRest could be a regression compared to Hessian is that Hessian is a very compact binary format. We'd need to compare bandwidth needs between the two after deflate is applied. Cheers Ari -- --------------------------> Aristedes Maniatis GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A