Hi! I have to develop some custom API which allows to access Nuxeo ECM functionality like document management, workflows, user management etc. Expected API will have some our application business logic additionally. I do not plan to use any social networking or web engine specific functions like portal, blogs, wiki, gudgets etc. I am interesting in ECM functionality of the system only. After some research I have decided to develop API using REST approach with reusing of some CMIS ideas. After discovering Nuxeo existing functionality I have found that there are already exists several implementations of REST API for document management: 1. Restlet based API methods in org.nuxeo.ecm.platform.ui.web.restAPI and org.nuxeo.ecm.platform.syndication.restAPI packages. 2. JAX-RS based API methods in Nuxeo WebEngine (it looks like they are not completed, but some base functionality exists). 3. CMIS implementation in the future (in sandbox now).
I am trying to figure out which one is the best for extending for our application. I think it is logically to reuse some existing in Nuxeo approach instead of building own from the scratch. Here is my ideas about each of them which are based on my current understanding of Nuxeo functionality: 1. Restlet based API. __A. Pros (for my needs): ____a. Mature enough. ____b. Documented. ____c. Does not require WebEngine (I am trying to have the system as "lightweight" as possible if this term applicable for Jboss based application :) ) __B. Cons (for my needs): ____a. I need to have Jboss runned and restart it often in order to develop my own API method which extends BaseNuxeoRestlet subclasses. For now I use debug mode code replacing in Eclipse to partly workaround this problem (but it does not work in some cases like method signature changing etc. due to some technical reasons). ____b. It is not such convenient to develop API as it is with JAX-RS. 2. JAX-RS based API. __A. Pros (for my needs): ____a. I can use Jetty configuration for API rapid development. ____b. We can use Jetty configuration as development lightweight configuration for the team who develop application which use our custom Nuxeo REST API. ____c. I can use Groovy. ____d. JAX-RS is a standard. ____e. I can deploy my API to Nuxeo Jboss recommended for production usage since WebEngine could be deployed on both configurations. __B. Cons (for my needs): ____a. Does not looks like mature for this moment. ____b. WebEngine has a lot of not required for our needs functionality (I hope I can delete all not required WebEngine bundles without affecting dependencies and left just ). 3. Nuxeo CMIS implementation is too raw for this moment for usage in the nearest time. CMIS is not a standard yet. Here I am asking for advise in this selection. Q1. What is the best choice Restlet based API or JAX-RS based API as the base for our own REST API with some our application specific functionality? Q2. Is it possible to develop Restlet based API on Jetty configuration? If so, could you provide a link to example configs? Q3. Which direction is in Nuxeo long-term plan to support and ? Q4. Which functionality of Nuxeo DM is not available on Jetty and available on JBoss configuration? Give me a link if it is described somewhere please. Q5. Do my assumptions described above correct? Q6. Any other pros/cons or ideas about the subject? Sorry for so long post and thanks in advance! Best regards, Alexander Litvin. -- Posted by "alexander.litvin" at Nuxeo Discussions <http://nuxeo.org/discussions> View the complete thread: <http://www.nuxeo.org/discussions/thread.jspa?threadID=2941#8616> _______________________________________________ ECM mailing list [email protected] http://lists.nuxeo.com/mailman/listinfo/ecm To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm
