|Re: [ecf-dev] Which protocol and ECF api to use|
On 6/17/2011 5:22 AM, Атанас Тодоров wrote:
It might. Although I'm not a Restlet expert, I don't believe communication with Restlet is typically configured via xml (rather it uses java annotations to define how method on a java class are exposed via get/put/post/delete). WRT authentication and authorization...I'm not sure what you are looking for exactly...so it's hard to say without more information whether Restlet will meet your needs. Would you be willing to say more about what you need here?
As for discovery...ECF's implementation of OSGi remote services/RSA separates the discovery from the distribution system...which allows you to choose which discovery you wish to use with *any* distribution provider (ECF generic, r-osgi, restlet, whatever). Thus the discovery module can be chosen from the ones ECF has available (zeroconf, slp, zookeeper, dnssd) irrespective of what distribution system is used...and so if you don't need/want a custom discovery implementation, then you can use one of the ones listed.
Now...Restlet wasn't originally designed to run in an OSGi environment, so that has to be dealt with...forgetting about ECF/remote services for a moment. Bryan Hunt and others have been working on an OSGi bridge for Restlet, and it's available here .
Further, I've been using this OSGI integration work and the Restlet API to create an remote services distribution provider. I have it working...but it needs some further work that I haven't yet been able to complete...and further I haven't decided what to do with it yet (i.e. whether to contribute to ECF or not, etc). If you are interested in working with me on it and/or using it directly from me, then please contact me directly at slewis at composent.com.
I'm not quite clear enough yet on your serialization and authentication/authorization requirements to say for sure...but it is possible that r-osgi could meet them (as Markus has already indicated). It's also possible that the Restlet provider that I've been working on could support what you need, as (probably) could a provider based upon jax-rs (which would also be very simple to create, but such a ECF remote services provider hasn't been implemented or contributed yet).