samedi 22 février 2014

Best java client for swift (OpenStack storage) - JOSS


Recently, I had a task to choose a java client for interacting with OpenStack Storage service aka Swift.

I recommend you JOSS


Actually, I found 3 open source projects on GitHub:
  1. https://github.com/dkocher/java-openstack-swift
  2. https://github.com/woorea/openstack-java-sdk
  3. https://github.com/javaswift/joss
After testing and working for a bit with each library I ended up with the following conclusion - the best one is JOSShttp://joss.javaswift.org

So, now the list of advantages:
  1. openstack-java-sdk is a huge library for almost all OpenStack services. I needed only swift driver so I wasn't interested to add useless dependencies. Always use KISS principle.
  2. java-openstack-swift from dkocher - I didn't manage to make a connection to my swift proxy. Maybe this library is very good and written by smart people, but the documentation is poor. If a developer should dig into the code source to figure out how to make the basic simple step, this will increase the learning curve. One more little disadventage is absence of the project in maven central repo. 
  3. And finally the winner - JOSShttps://github.com/javaswift/joss by Robert Bor
Why JOSS:
  1. Very simple API. 
  2. The principle of modern fluid API building is used. The API is readable and comprehensible.
  3. Good documentation for each common task (authentication, uploading, downloading, etc)
  4. Available at standard maven repo.
  5. Excellent support organised by the project author - Robert Bor. He helped me within few hours to find an error in my configuration and pleased me with his reaction and quality of responses.