You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Brian O'Neill <bo...@alumni.brown.edu> on 2011/10/18 22:21:44 UTC

Contribution: Native REST Layer for Cassandra

Jeremy/Jonathan,

When you finish celebrating the 1.0 release, I just submitted a native rest
layer for Cassandra.
https://issues.apache.org/jira/browse/CASSANDRA-3380

It uses JAX-RS and Apache CXF supporting the following operations (JSON over
HTTP):


   - Create keyspace
   - Drop keyspace
   - Create column family
   - Drop column family
   - Insert row
   - Fetch row
   - Delete row
   - Insert column
   - Fetch column
   - Delete column

This is a new module under contrib/rest. It builds using ant and ivy.  I
also included a maven pom.xml file that makes it easier to get setup in
Eclipse for those that use m2eclipse.  You start the server with
bin/rest_cassandra.  After that, you can issue all commands over HTTP on
port 8080.  I included example curl commands in the README.txt.  There are
junit tests that provide good code coverage of the JSON marshalling, the
system and data operations as well as the REST layer.

Let me know if you have any trouble building / using it.  In the meantime,
I'll start work on some additional todo's. Specifically we should add:
- Better exception handling
- Host/Port configuration
- Security
- XML support
- Binary object / Byte support (assumes String's right now)

(kudos to Gary Dusbabek for the initial thought to implement this as a
native layer)

all the best,
brian

-- 
Brian ONeill
Lead Architect, Health Market Science (http://healthmarketscience.com)
mobile:215.588.6024
blog: http://weblogs.java.net/blog/boneill42/
blog: http://brianoneill.blogspot.com/

Re: Contribution: Native REST Layer for Cassandra

Posted by Jonathan Ellis <jb...@gmail.com>.
Thanks Brian, we'll have a look on Jira.

On Tue, Oct 18, 2011 at 3:21 PM, Brian O'Neill <bo...@alumni.brown.edu> wrote:
> Jeremy/Jonathan,
>
> When you finish celebrating the 1.0 release, I just submitted a native rest
> layer for Cassandra.
> https://issues.apache.org/jira/browse/CASSANDRA-3380
>
> It uses JAX-RS and Apache CXF supporting the following operations (JSON over
> HTTP):
>
>
>   - Create keyspace
>   - Drop keyspace
>   - Create column family
>   - Drop column family
>   - Insert row
>   - Fetch row
>   - Delete row
>   - Insert column
>   - Fetch column
>   - Delete column
>
> This is a new module under contrib/rest. It builds using ant and ivy.  I
> also included a maven pom.xml file that makes it easier to get setup in
> Eclipse for those that use m2eclipse.  You start the server with
> bin/rest_cassandra.  After that, you can issue all commands over HTTP on
> port 8080.  I included example curl commands in the README.txt.  There are
> junit tests that provide good code coverage of the JSON marshalling, the
> system and data operations as well as the REST layer.
>
> Let me know if you have any trouble building / using it.  In the meantime,
> I'll start work on some additional todo's. Specifically we should add:
> - Better exception handling
> - Host/Port configuration
> - Security
> - XML support
> - Binary object / Byte support (assumes String's right now)
>
> (kudos to Gary Dusbabek for the initial thought to implement this as a
> native layer)
>
> all the best,
> brian
>
> --
> Brian ONeill
> Lead Architect, Health Market Science (http://healthmarketscience.com)
> mobile:215.588.6024
> blog: http://weblogs.java.net/blog/boneill42/
> blog: http://brianoneill.blogspot.com/
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com