easysoa/EasySOA — Issue #84: Rest Services in EasySOA
Author: tiry
Created: 2011-12-28 14:56:17+00:00
State: open

Inside Nuxeo Platform, in terms of Web Service we are mainly focussed on http / rest based WebService and don't really use SOAP or SCA.
The "approach" is documented [here](http://doc.nuxeo.com/display/NXDOC/Using+Nuxeo+as+a+service+platform).

Because of that we are very interested in integrating inside EasySOA support for Rest based Web Service :

- this would allow to use EasySOA for Nuxeo WebServices too

- this would enable the EsaySOA by EasySOA approach (since some of the features are exposed via Nuxeo)

In order to make this a really, we must discuss about changes in EasySOA current implementation, but also in Nuxeo services implementation (mainly Nuxeo Content Automation).

Here is a list of the points related to this specific topic.

## add support for GET requests on Automation

EasySOA-registry remote API is mainly a wrapper around the Automation API.

The main reason for this wrapping seens to be to expose GET api whereas Automation is by default POST oriented.

Rather that doing a wrapper in EasySOA, I can easily add a handler for GET requests in Automation Server.

This would make sense for EasySOA, but clearly this also makes sense for Nuxeo.

=> Interested ?

## Support for Automation Services in EasySOA

EasySOA currently supports WSDL and SCA based services definition.

Nuxeo Automation services are not based on any of this solution : services are exposed and autodocumented via JSON, you can have a quick overview by looking at [Explorer](http://explorer.nuxeo.org/nuxeo/site/distribution/current/listOperations)

For now I basically see 3 approches :

- integrate Automation JSON definition in EasySOA

(this would be very custom and not really interesting for EasySOA I guess)

- make a SOAP binding on Automation

(this makes sense and would be useful but it seems to be a pitty for force Rest Services to be SOAP compliant ....)

- define a REST definition model (may be based on SPORE) and align Nuxeo on it

=> WDYT ?

## Automation Sandbox

I want to extend automation documentation view so that we can leverage the recently added JS api to directly call the services from the HTML page.

This will of course be limited by SOP, but this will allow "end users" to quickly experiment the service API.

The idea is to have something like the [Google OAuth Playground](http://googlecodesamples.com/oauth_playground/) : a web page were a end user can easily experiment the WebServices without needed real technical knowledge.

Inside Nuxeo, we have recently added some features that could be used as a base for this.

=> Does it make sense at least in the context of EasySOA light ?

=> Does that sound like something interesting for EasySOA ?