Friday 22 March 2019

Introduction to CMIS


CMIS stands for Content Management Interoperability services, CMIS standard is maintained by  'Organization for the Advancement of Structured Information Standards (OASIS)'. It used to manage enterprise level content, by providing a standard interface to access a repository. One advantage of CMIS is, it is language independent. You can work with any language that support HTTP.

Why CMIS required?
Prior to CMIS specification, every repository vendor has their own implementations to manage the content. So if your organisation storing the content across multiple different repositories, you need to explore each repository APIs and implement them separately. Porting this implementation logic from one repository to other is a hell. With the help of CMIS, you can write CMIS client once, and you can use this client to communicate across all CMIS compatible repositories.

What is repository?
Repository is a content storage system, where you can store your data like files, videos, pdfs etc.,

Who implemented CMIS specification?
Many ECM (Enterprise content management) vendors implemented CMIS specification. You can get list of vendors that implemented CMIS specification.

Below are some of the popular cmis compliant repositories.
a.   Alfresco
b.   Documentum
c.    HP Interwoven
d.   IBM Content Manager and FileNet
e.   Lotus Quickr
f.     Microsoft SharePoint
g.   OpenText
h.   SAP Document Service

What is the latest version of CMIS specification?
At the time of writing this post, 1.1 is the latest version.

What is Apache Chemistry?
Apache Chemistry is a project from Apache software foundation which provides open source implementations of the Content Management Interoperability Services (CMIS) specification. Apache chemistry provides client libraries, server framework and number of development tools.

Typical Work flow
As shown in the below figure, CMIS client (or) Application connects to CMIS service endpoint. The end point may provide access to more than one repository. CMIS specifies how the application connects to the end point.




CMIS Specifies three types of binding to connect to a CMIS Service endpoint. You can use either of them.
a.   Browser Binding
b.   ATOM Pub Binding
c.    Webservices Binding

Is CMIS language neutral?
Yes, CMIS is language neutral, only thing is your language should support HTTP (Since CMIS uses HTTP as its communication protocol). 

Is CMIS platform independent?
Yes, CMIS is platform independent. For example, CMIS Server may run on UNIX platform and client can run on windows. As long as client and server applications adhere to CMIS specification, they will work seamlessly.

Can I query the repository using CMIS?
Yes, CMIS supports SQL kind of query language to query the repositories. I will explain about this in my later posts.

Can I create, update and delete custom types?
Yes from CMIS 1.1 onwards, you can create, update and delete custom types 


Previous                                                 Next                                                 Home

No comments:

Post a Comment