EMC, Microsoft, IBM, and Alfresco are announcing today a new specification for interoperability between content management systems (EMC press release, Alfresco press release). The specification is called CMIS which stands for Content Management Interoperability Services (full specification). Other major players involved with the spec include OpenText, Oracle, and SAP.
What the spec outlines is essentially an abstraction layer between content-centric applications and back-end repositories. The abstraction layer is implemented as a set of services (SOAP-based and REST-based). The services are primarily focused on CRUD functions but they also include a SQL-like query language. In his blog post on CMIS, John Newton says that CMIS will become “the SQL of content management”.
This means that, theoretically, a content-centric application can be written that will work with any back-end CMS that implements CMIS. If it sounds like JCR that’s because the two share the same goal, but CMIS is broader because it is language-independent. (Not to be a buzz kill but think about how many applications you’ve seen where the underlying JCR repository could truly be swapped out at no “cost”. It is too early to tell whether that will get any better with CMIS).
In what is really a “dogs and cats living together” moment, think about
this: The new Alfresco Share client (or any Surf-based web application
for that matter) can now be used as the front-end for any
CMIS-compliant repository like Sharepoint or Documentum. (Maybe that’d be a nice “bridge” to have in place while you’re migrating off of those legacy repositories!)
In my post back in June (Slinging some ideas around RESTful content) I mentioned Apache Jackrabbit, Apache Sling, and how there ought to be a standard, REST-based API for working with content repositories. I wondered if Alfresco’s inclusuion of Abdera, Apache’s implementation of the ATOM Publishing Protocol, into the Labs code line signaled Alfresco’s move in that direction. Well, CMIS is that standard. And if you look at Alfresco’s Draft CMIS Implementation, you’ll see that Abdera is, in fact, in the mix.
Back during my Documentum days, a spec was mentioned called iECM that I thought Documentum and maybe AIIM were working on together. But then it seemed like it kind of died. The goals (and some of the details) sound eerily familiar to CMIS. Could the popularity of more modern content management API’s like Alfresco’s web scripts and Apache Sling have spurred the legacy vendors into actually doing something about interoperability for real? (I just saw in John Newton’s blog post that iECM did spawn CMIS but it doesn’t speak to the motivation of the other vendors).
You can try out Alfresco’s CMIS implementation by downloading the latest Labs 3.0 B build.