[ 
https://issues.apache.org/jira/browse/ACCUMULO-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236284#comment-13236284
 ] 

Michael Wall commented on ACCUMULO-490:
---------------------------------------

I have been thinking about this very problem for quite some time.  What is the 
suggested approach, Thrift?  I have some JRuby classes that wrap an earlier 
version of Accumulo's Java API and had hoped to find time to port that to the 
latest version.  It would then be fairly easy to add a Rails app on top of that 
and provide a RESTful interface.  The Rails app could easily run on the JVM via 
JRuby.  I envisioned an API like this:

GET table/colf/colq
PUT table/colf/colq with the data being the value for a new record
POST table/colf/colq with data being the value to update a record
GET table/colf?startcolq=abc&endcolq=def
DELETE table/colf/colq

We could return xml, json, or whatever by adding a .json or .xml to the 
request.  Handling authentication might take some work.  Need to provide a way 
to give the user column visibilities.  I have some generic ideas there as well. 
 I haven't worked out in my mind yet how to handle paging.

Expanding that, we could then provide client libraries in different languages, 
like the MongoDB drivers.  If we provided a Javascript one, we would need to 
support JSONP, Dojo's window.name transport or some other hack to get around 
Javascript's SOP restriction so you could POST, PUT and GET from a different 
host. 

I have no idea how this approach would compare to a Thrift service.  Whatever 
the design, I would love to help work on this.  
                
> Provide REST-ful Web Service
> ----------------------------
>
>                 Key: ACCUMULO-490
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-490
>             Project: Accumulo
>          Issue Type: New Feature
>            Reporter: David Medinets
>            Priority: Minor
>
> This web service will:
>  - provide cross language compatibility.
>  - provide data access without direct access to nodes.
>  - provide work-around for port restrictions.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to