Well CMIS has been a standard for well over 3 years now and many vendors have implemented CMIS compliant repositories. Recently, CMIS 1.1 was approved as an OASIS specification. In my consultancy role at Alfresco Software (one of the ECM vendors that has implemented CMIS), I have run into a number of projects that have vigorously embraced CMIS.
Now that the CMIS 1.0 Draft Specification is available for public review, many developers are starting to ask "How can I build applications that leverage CMIS?" If you are inclined to use SOAP, then you can probably use your favorite SOAP tools to build a client application. If you are looking to leverage the REST binding, then you may need to do a bit more work.
Recently I had the opportunity give a presentation on Content Management Interoperability Services (CMIS). This is a new Oasis standard which entered Public Review with the release of the "»
This is a PHP Code sample that I have posted. I have documented this in a blog post entitled "Building a CMIS REST Client Application using PHP".
In this final post of my Introduction to CMIS series, I will discuss the SOAP and REST protocol bindings for CMIS. This post should provide an overview of how CMIS leverages SOAP and REST (particularly the AtomPub). It is not a comprehensive reference on SOAP, REST or AtomPub.
CMIS is defined around the interactions between a client application and single repository. The repository is a container of objects (documents, folders etc..). In order to be CMIS compliant there is some mandatory functionality that the repository must support and there are some optional capabilities that the repository may support.
In order to get started, the client will need to know the starting URI needed to access the Repository via the desired binding (SOAP or REST). Armed with that URI, the client is then in a position to:
Jeff Potts, a lead architect at Optaros, Inc has written a Tutorial on Getting Started with CMIS. I would highly recommend this as reading for anyone who wants to get hands on experience experimenting with CMIS. In this tutorial Jeff:
In two previous blog posts, I discussed the CMIS Domain Model and the CMIS Query Language. This post discusses the CMIS Services. The CMIS Services expose methods by which a client can:
The methods that are provided to the client are organized into 9 services.
The CMIS Query Language is the means by which any CMIS compliant repository provides a read only Relation View into the repository. As we saw in the CMIS Domain Model, support for queries is optional. Having said that, in my humble opinion, it is highly unlikely that any self respecting CMIS compliant repository would not support relational queries. Keep in mind that some repositories may require you to issue full text and metadata queries
This is Alfresco's Developer Resource on it CMIS implementation. In it you will find: