Thank you josh for pointing out the key features. I would appreciate if you could elaborate your first point about the API being as stateless as possible.
Also I would like you to point out to any coding conventions followed by accumulo dev team so that my code follows them. Thanks Vaibhav On 14-Apr-2015 1:24 am, "Josh Elser" <[email protected]> wrote: > Hi Vaibhav, > > This is something that comes up every now and again, but I don't think > there's been any big interest internal to the project itself so far. That's > not to say a REST API is without value: there just hasn't been anyone who > stood up to own the feature. It's great that you want to do this and it > would be a good way to get more involved. > > Some thoughts on the important bits: > > * As stateless of an API as possible > - This is a little tricky as the server itself would need to hide this > state in how it connects to Accumulo, as well as some notion of a "cursor" > if a scanning API is supported. It may be easier to write an API around > gets and puts as a first go and try to tackle scanning later as that gets > real tricky, real fast. > > * User authentication > - Having a good authentication story for clients to ensure that they > receive only the data they should is tantamount. Lots of ways to go about > this -- it would be good to identify the scope of the problem you want to > solve then work towards that. > > * User authorization > - Close together with authentication. The simple approach is to require > Accumulo accounts for users connecting to the webservice. A more advanced > approach (with more flexibility) is to build a delegation/impersonation > service where the webserver would authenticate as some monolithic user and > manage user authorizations on its own. This can be tricky to get correct, > but is likely easier to manage resources this way. > > * Check out other systems' services before coding > - This might seem a little odd, but I would take a look at what other > projects like HBase or Cassandra have along this line. HBase has Stargate > as a REST service (not sure how well it's maintained now) and I see a bunch > of different projects for Cassandra. Getting an idea of what other have > found useful in an API would be good and help make a usable API. You would > likely be able to find some good discussions about what works well and what > is problematic in these other projects. Thinking about those problems up > front might help you avoid bigger problems down the road. > > In general, start small and get a nice, tested codebase. That will help in > the long run. Keep us informed! This sounds great :D > > vaibhav thapliyal wrote: > >> Dear all, >> I am trying to build a Rest-api for accumulo. I would like to know the >> minimum features that should be there in the rest api? >> >> Also are there any plans to make a rest api for accumulo by the >> development team at accumulo itself? >> Thanks and regards, >> Vaibhav Thapliyal >> >>
