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

Brian ONeill commented on CASSANDRA-3380:
-----------------------------------------

I'll admit.  My team does have a thing for REST. ;)

We process hundreds of data feeds, all with different schemas.  We then 
cleanse, standardize, de-dupe, transform, match, and consolidate that 
information using systems and processes across languages and platforms. (which 
is why JSON is important to us)
http://www.healthmarketscience.com/insights/mdm-paradoxical-problem

Looking at our end-to-end processing, here are three other examples that may be 
more universal. (increasing in priority/value)  The general theme of these is 
that there are many off-the-shelf tools out there that can integrate with 
JSON/XML over HTTP "out of the box".  Not all of them are easily extended to 
accommodate different drivers/data sources.

TESTING:
We use SOAP UI to test.  We use it to smoke test and validate environments.  It 
can easily hit REST interfaces on all our systems (and third party tools) to 
verify everything is in a good state and has the proper data populated.

ETL TOOLS:
Many GUI-based ETL Tools (e.g. Talend) can extract and load via XML/JSON over 
HTTP.  They grab/push the data over HTTP natively.  If Cassandra had a native 
REST interface, we could tap into it directly.  Without it, we'll be looking at 
some additional process / plugins to make this happen. (PITA) The users of 
these systems are not developers, they are data stewards that just want to be 
able to point to a url and get access to the data from their GUI.

ESB / Workflow Tools:
Similarly, many of the ESB tools (e.g. Sonic ESB, ServiceMix and Mule) can also 
grab data via XML/JSON over HTTP.  The workflow/process can then operate on 
that data, (mapping elements to inputs of services) without having to write any 
code.  Again, to integrate Cassandra into some of those service orchestrations 
/ mashups, we'll need to develop a pluginĀ if we can't get to it via REST.

(Any more compelling? =)


                
> REST Layer 
> -----------
>
>                 Key: CASSANDRA-3380
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3380
>             Project: Cassandra
>          Issue Type: New Feature
>         Environment: Unix / Max OS X
>            Reporter: Brian ONeill
>         Attachments: trunk-3380.txt
>
>
> This is a native rest layer for Cassandra implementing 
> AbstractCassandraDaemon.
> It uses JAX-RS fueled by Apache CXF.
> Presently it supports the following operations JSON over HTTP:
>  - Create keyspace
>  - Drop keyspace
>  - Create column family
>  - Drop column family
>  - Insert row
>  - Fetch row
>  - Delete row
>  - Insert column
>  - Delete column 
>  - Fetch column
> The patch creates a new project in contrib/rest.  You can compile the project 
> using "ant", which uses ivy to pull in dependencies.  To get setup, you can 
> also use the pom.xml file and m2eclipse to get it into Eclipse.
> Once compiled, simpy run "bin/rest_cassandra" and follow along in the 
> README.txt

--
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