yes/no, IMO.

Enabling SPNEGO would be a nice direct integration point with Accumulo 1.7 (now that we have the Kerberos client auth groundwork in place), but I would imagine that reusing HTTP basic authentication (in conjunction with HTTPS) is probably a more standard way to go about this.

Your choice of Java library (resteasy/jersey/etc) probably have their own way to automatically do this for you with a little bit of wiring up.

Sean Busbey wrote:
For the auth part, using SPNEGO will put you in line with  most other
components.

--
Sean

On Apr 14, 2015 9:37 AM, "Kurt Christensen" <[email protected]
<mailto:[email protected]>> wrote:


    Accumulo seems to invite the following structure for URIs.

    https://host/table/row
    https://host/table/row/__columnFamily
    <https://host/table/row/columnFamily>
    https://host/table/row/__columnFamily/column
    <https://host/table/row/columnFamily/column>

    On the other hand, because the various keys (row, columnFamily,
    column) can be arbitrarily long, URIs built this way can be
    problematic. Some or all of the key data may need to be URLencoded
    as well.

    For CRUD, the following seems to be common practice:
         Create: Method="PUT" [or "POST"]
         Read: Method="GET"
         Update: Method="POST"
    Delete: Method="DELETE"

    It seems to me that the whole user
    identification/authentication/__authority determination is the hard
    part for the general audience. You can't really count on having a
    PKI/CAS infrastructure, which would solve that issue. Stateful
    authentication could be done via log-in and made part of the
    client's signature (perhaps a cookie).

    I'm just starting to go through "REST API Design Rulebook" by Mark
    Massé (O'Reilly 2012). You might want to check it out. Here are the
    first few "rules" from Chapter 2 (note the difference between the
    use of MUST versus SHOULD). Rules continue throughout the book.
    Chapter 3: "Interaction Design with HTTP" covers CRUD operations.

    Rule: Forward slash separator (/) must be used to indicate
    hierarchical relationship

    Rule: A trailing forward slash (/) should not be included in URIs

    Rule: Hyphens (-) should be used to improve the readability of URIs

    Rule: Underscores (_) should not be used in URIs
           [underscore is masked by underline]

    Rule: Lowercase letters should be preferred in URI paths

    Rule: File extensions should not be included in URIs
           [I don't like this one. The author says that negotiation
    should be according to an Accept request header.]

    Rule: Consistent subdomain names should be used for your APIs
           (http://api.soccer.restapi.org__)

    Rule: Consistent subdomain names should be used for your client
    developer portal
           (http://developer.soccer.__restapi.org
    <http://developer.soccer.restapi.org>)

    I hope that helps.

    Kurt

    On 4/13/15 3:33 PM, 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


    --

    Kurt Christensen
    P.O. Box 811
    Westminster, MD 21158-0811

    ------------------------------__------------------------------__------------
    "Perfection is not attainable, but if we chase perfection we can
    catch excellence." -Vince Lombardi

Reply via email to