Hi Naresh,

Re 1:
This is a perfectly valid application of OpenCMIS.

Re 2:
From an OpenCMIS perspective getObject() and getObjectByPath() are not that different. But for many repositories getObjectByPath() is a more expensive operation. If you can access the objects by id, you should do that.

Re 3+4:
You should reuse the Session object (per user) wherever you can. The performance can be dramatically better if you do that. The easiest way is to store the Session object in a HTTP session.
OpenCMIS is thread-safe. So it can be used in parallel requests.


Cheers,

Florian



On 27/05/2011 10:34, Naresh Bhatia wrote:
I am new to OpenCMIS and wanted this group's guidance for an application
that I am developing - a simple mobile application to allow people at my
company to browse various CMIS repositories.

Being a simple file browser, I want to hide the complexities of CMIS from
the mobile app. So I would like to create a mediator service which talks to
CMIS repositories using OpenCMIS, but in turn exposes a much simpler (path
based) interface to the mobile applications.

For example:

getChildren(String repositoryName, String path)

would return a simple JSON based list of the folder's children:

{

   "entry" : {

     "type" : "document",

     "author" : "nbhatia",

     "title" : "cmis-article.pdf",

     "summary" : "Examples using CMIS, Abdera,& Chemistry",

     "content" : {

       "type" : "application/pdf",

       "src" : "http://<host>:<port>/.../content.pdf"

     },

     "published" : "2011-05-25T17:15:36.740Z",

     "updated" : "2011-05-25T17:15:40.045Z",

     "version" : 0.0

   },

   "entry" : {

     ...

   },

   "entry" : {

     ...

   }

}


1. Does anyone see a major issue with this approach?

2. Since I will be using Session.getObjectByPath() in my mediator service,
is there a performance concern with this call (as opposed to getting the
object directly using its object id)

3. If the calls from mobile devices are stateless (starting with a fresh
path every time), should I still be using the Session API? Am I loosing the
befit of caches etc?

4. Or should I consider maintaining state for each mobile device with an
associated OpenCMIS Session?

Any help you can give will is much appreciated. Thanks in advance for your
time!

Naresh Bhatia


Reply via email to