Community:NCore/Fedora CMA Rest
From NSDLWiki
- Why is the REST API a REST API compared to , say, API A/M/A-lite
- URIs for more stuff (exposing object state, transitions as resources), as opposed to endpoints + methods
- In some cases its URIs are just syntactic sugar over, say, APIA-lite URIs
- In other cases, it enables a non-soap HTTP interface (is this the primary value)?
- Predictable, semantic URIs to facilitate linking, comprehension (quantify value here).
- In true REST style, URI structure doesn't matter, as state and transitions are enumerated in hypertext - there is no coupling between client and service, hence the principle of universal interface (i.e. the client knows how to change application state based on hyperlinks as prescribed by media type, but has no knowledge of domain model)
- However, is the REST API is really being used in a REST style by anybody? How much exposure of REST API URIs to public, how much exposure to clients?
- What is absent that may be a barrier to full HTTP or REST interface?
- Content negotiation? Http status codes? Http verb support?
- Support of POST, PUT, DELETE == read/write services
- Is current WSDL-based SDep OK for this? What else would we need to support this? Passing along headers?
- Could sDef methods be simple proxies, passing EVERYTHING to some service, and returning responses?
- What value-add would/could Fedora add (vs having service in separate webapp)? Discoverability? XACML policies? Additional headers? Ability to link to it?
- SDef service endpoints == "controllers", in REST API parlance
- Are there tensions in needing to be able to support existing SOAP paradigm?
- Does an uber-flexible HTTP-based interface at all translate to SOAP model? Is it OK if it doesn't?