There has been some debate recently about the “demise” of the JCR specification. One of the factors blamed for JCR’s demise is the relatively new CMIS standard. This begs the question: what is to prevent CMIS from the same fate as JCR?

Vendor Adoption

Probably the most critical part of a standard gaining widespread acceptance is the adoption by vendors. From the outset, CMIS had a lot of adoption by the larger content management vendors. This support hasn’t been limited to the larger, established vendors like EMC, IBM, or Oracle, but includes Microsoft and a healthy collection of open source vendors such as Alfresco and Nuxeo.

Broadening the support is the Apache Chemistry project which will allow vendors that currently support the JCR specification to support CMIS.

There is one minor gap, the number of application vendors are limited. It makes sense that application vendors didn’t build and release CMIS integrations to CMIS enabled repositories until enough repositories had interfaces. It has been a year and there still hasn’t been a lot of progress here.

This is actually a small item of concern and will bear watching this year. It is quite possible that the lag by the application providers could extend for multiple reasons:

  • Working integrations with many larger CMS platforms already exist.
  • New application features, like a CMIS interface, have to fit into existing release cycles. These cycles can take upwards of three years for more established applications.
  • Unique content object model installers still have to be developed for every “targeted” CMS. While CMIS may provide a standard way to access unique content types, it doesn’t magically create them.

As long as CMIS continues to evolve and grow in adoption, the application vendors should begin to leverage the standard for their own benefit. If it begins to lose traction before this happens, vendors may decide to stick with their unique integrations

Becoming More Complete

As CMIS looks to evolve and become a more complete standard, there are many things that need to be addressed. Some of these are already in process while others are merely in the formative stages for the 2.0 version of the standard:

  • Type mutability: This is something that is underway now. This is critical for future success as this will allow application providers to create deployable objects models simply through CMIS. While not magic, it may provide the next best thing.
  • Web Browser Binding: Another critical feature from both a practical and image perspective that is currently being developed. Integrating into Web 2.0 applications is not a make or break feature for CMIS. The proposed binding illustrates the ability for CMIS to evolve to meet new technical realities. This flexibility will be critical to CMIS’s ability to remain relevant.
  • Records Management: This is going to be important for enterprise adoption. While it is important for enterprise applications to be able to utilize content stored remotely, enabling those same applications to manage records in conjunction with business data makes managing business information that much easier. The simple act of declaring records and placing them on hold will allow a centralized management of records and reduce the need to migrate records out of legacy systems.

Those are just some of the features that will help the adoption of CMIS and make it more appealing for application developers to leverage CMIS. While not every CMS will support all of these features, CMIS is, and should continue to be, a standard that meets the needs of the greater ecosystem and not a standard representing the lowest common denominator.

A Dose of Reality

No matter what anyone does, the CMIS standard will become obsolete one day. This is the nature of most standards. The technology the standard is based upon becomes out-dated or the purpose that a standard served will eventually no longer be required.

The question that everyone needs to ask is if the problems that CMIS solves, and the underlying technologies, are likely to be around for a while?

The first answer is a definite yes. Interoperability will be a problem that will be around for at least ten years, likely much longer. As for the technology, that is difficult to predict. The existence of different bindings for CMIS helps mitigate against the risk of changing technology.

That mitigation is why I think that CMIS should avoid JCR’s fate for a very long time.