Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Notes from IRC about IdAS REST


- Daniel/Tom/Jim need an IdAS REST interface for one of their projects. Markus has been working on something like that (the higgins.idas.xdi component, which can expose Higgins contexts as XDI endpoints)

- In XDI, REST is achieved on a logical level: The kind of operation you perform on a resource depends on the predicates of an XDI message ($get, $del, $add, $mod). These messages are all HTTP POSTed. For a more traditional HTTP REST approach, the server should also accept all HTTP commands ("verbs"), with the resource being encoded in the url ("noun").

For example: If you want to delete Markus' e-mail address, you would POST the following XDI message to http://graceland.parityinc.net/xdi-idas/context

=sender
    $del
        /
            =(uid=saba,dc=parityinc,dc=net)
                +(http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#attr_mail)

The more traditional approach would be to do an HTTP DELETE on http://graceland.parityinc.net/xdi-idas/context/=(uid=saba,dc=parityinc,dc=net)/+(http://www.eclipse.org/higgins/ontologies/deployment/idas/basic/ldap#attr_mail)

Markus says this can be done but has a few disadvantages (url length/encoding, just one operation per round-trip).

- The IdAS REST server can output the results of a $get / HTTP GET operation in any of the XDI serialization formats. Daniel would prefer the output not to look like XDI (for example use real URIs instead of URIs-cast-to-XRIs). Markus says the internal format of the server should still be XDI, but a different serialization format could be defined and implemented that makes the output look more traditional.

- Daniel/Tom/Jim just need basic IdAS functionality (read, add, modify entities and attributes). They don't need schema, access control, etc.

- The IdAS REST server is currently a standalone application that maps URLs to Contexts according to its configuration. Daniel says they need more control over the URL space, dynamically assign URLs to Contexts, etc. The way to do this is to embed the IdAS REST server in their application rather than have it run in standalone mode.

- Regarding the client side, Daniel/Tom/Jim would like to use the XDI CP to talk to the XDI endpoint.

- We're going to have a call about this today at 9 MDT.

Markus


Back to the top