Why CMIS Won't Be A "Real" Standard
December 8, 2009 - 9:45pm — bexAs mentioned by pie guy, the Content Management Interoperability Services (CMIS) standard has reached version 1.0 status... and is open for public comment. As I mentioned before, I'm a fan of CMIS, and I think it is a decent start at making content management systems more interoperable... especially for folks creating vertical applications on ECM systems.
For example... Let's say you want to make a killer application for scanned medical records. Your content needs are pretty basic: just a big image with some metadata. You might need external engines for workflow and identity management, but the content problem is simple. In this case, a good idea it to code your application in middleware, and use CMIS as a content storage interface.
However, I'd like to make one point very clear: if you think that CMIS will turn into a "standard," get used to disappointment.
Now... why would I say such a thing?
It could be because the past decade has seen a half dozen Enterprise Content Management standards come and go -- ODMA, SPI, WebDav, JSR170, JSR283, etc... so I might just be a skeptical curmudgeon who won't cut anybody slack and is adopting a "wait and see" attitude.
It could be because ECM is a marketing term; not a specification... so every vendor does something fundamentally differently. Some of the big points can be addressed by a spec... but no matter how hard we try, those fundamental differences can never be included in a standard. All abstractions are leaky, and all attempts to hide complexity ultimately fail when you attempt anything interesting...
Or, it could be because those precise difference are exactly why a customer chooses one ECM vendor over another... They didn't just spend a ton of money on an ECM system just so you could treat it like a big hashtable... Even if a customer demands that their system supports CMIS, that doesn't mean they will actually use it. Support for CMIS more than anything represents a commitment to interoperability... and that you can use it for content migration.
But the real reason I say CMIS will never be a true "standard," is because Microsoft is involved.
Microsoft has a long, long, long history of saying they will follow a standard, when in fact all they are trying to do is force everybody to do it "their way." While true believers try to religiously follow the spec, Microsoft will do whatever makes sense for their product direction... and then say to everybody "you want interoperability? You'd better do it my way. Ha!!!"
Now, this isn't always a bad thing. When Microsoft's Internet Explorer went their own way with HTML, some of their ideas were horrible... but others -- like innerHtml and AJAX -- forced the concepts of dynamic HTML on the public. Likewise, some of the LDAP extensions they put into Active Directory made pretty damn good sense... although their extensions to Kerberos encryption make me skittish, especially since we're not allowed to view the source code.
Well, how should we think about CMIS? If you want to avoid lots of pain and heartache, don't think of CMIS as a standard; think of it as a contract signed by Microsoft, that they might change at any time. When Microsoft pushed the WebDAV standard, they made sure that common Microsoft products -- Word, Excel, Windows -- followed (most) of the specification. This does not mean that you have to follow the specification to the letter... just follow it enough so that you can integrate more easily with Microsoft products.
Naturally... Microsoft will probably find all kinds of limitations to the CMIS spec later on. This could be because there's a gap in the spec, the spec is limited in some real-world situation, or they just flat out don't care anymore. If history is any judge, that means their next move will be to violate the spec. While spec purists at IBM/OpenText/Documentum complain, Microsoft will happily make Word 2012 do something completely different... and break interoperability.
Expect it my friends...
So... for that company making vertical applications on top of ECM, my advice is this:
- CMIS is a good start, but a true ECM standard will always be a work in progress
- Expect Microsoft to follow most of the spec
- Expect Microsoft to break the spec in both wonderful and horrific ways
- Expect to spend a lot of extra time finding the magic voodoo to make Microsoft work
- Expect half of your feature requests to be outside of what CMIS can do
This advice is partly mine... and partly the battle wounds from Oracle/Stellent developers who worked on making WebDAV work properly...




So we hate it until proven otherwise?
That really wasn't an uplifting recap of the outlook on the future of CMIS and "ECM Integration" in general. So I guess I should hate CMIS until proven otherwise?
I think it has a good chance
Remember AIIM IECM - Interoperable Enterprise Content Management (http://newton.typepad.com/content/2005/09/aiim_iecm_inter.html). That never became a standard. I think CMIS has a good chance of making it.
Firstly, does a "real standard" = "popular standard" or "good standard". I'd say WebDAV certainly made it, although it is stagnating a bit now. The JCR standards made it too, and are still growing.
I agree completely that ECM is not a well understood term. So let's not use it. We will never have a "true ECM standard . CMIS is a Content Repository access standard, just like the JCR. And I think the idea of a Content Repository is pretty well defined these days. Let's argue about whether that repository can service ECM, WCM, Collaboration, .... use cases some other day.
It certainly is a Work In Progress as you and The Pie point out. If we don't see a version 2, it isn't going to hit the big time. But I think we will.
Finally, you're probably right about MSFT. But I've got some naive hope. The fact that CMIS4SharePoint plans to be an open source implemention can't hurt.
Next generation file system ?
I totally agree with your logic however at some level, all content management systems *should* be able to share a common set of functionality.
At the the most basic layer, what a content management system should be is an "extended" file system with functions and meta data that support more complex file concepts such as ownership, version control, classification, metadata, review dates, "published locations", access control, audit logging and workflow.
What we think of as content management systems today are not that at all. They are mostly front end content creation applications that all have their own proprietary content management system backends. It's the interoperability and interchangeability of the back end's that should be addressed by CMIS.
Of course, this is the ideal and I completely agree with your assessment of how this is likely to play out. We'll wait and see.
I always thought that WinFS would be a common, free, extensible file system that would support common content management functionality. Shame it doesn't seem to have happened.
Intense Cynicism
You raise some points of valid concern regarding Microsoft's past behavior. I'm not saying that they won't try and do something again. However, we are already seeing things that would mitigate that type of behavior. There is an open source CMIS connector to SharePoint already in development. Without closing all their APIs to a degree that would hamper development, SharePoint will be accessible through CMIS.
http://www.cmis.biz/2009/12/07/language/net/cmis4sharepoint-cmis-implementation-for-wss-3-0-and-moss-2007/
On to the "ECM" standard. Drop the "E" for now and let's focus on the "CM". I wouldn't say that it is positioned to be THE standard yet. As I mentioned before, there are a few gaps, but it is a great first step. What happens in the Spring will determine its future. Will the standard grow as it needs to grow? Will it languish or get stalled over debates over what should be next?
What we should focus on is identifying the use cases that it could solve for Content Application developers. I wouldn't build an interface specifically for Oracle/Stellent or EMC/Documentum using CMIS. I might build a Correspondence Management System and allow it to interface with any CMIS repository because the people processing the correspondence don't need excessive CM functionality. My Records Managers may, but they can access that functionality directly. Shoot, the RMs may be the reason the specific CM vendor was chosen. They key was that it then did not impact the selection of my line of business applications.
Oh, thanks for the cynicism. It helps to keep me on my toes. :)
-Pie
CMIS
Hi Bex,
Your post highlights the difference between a specification and a technology working every day. Regarding differences between CMIS implementations coming from different vendors, EntropySoft shall announce in the coming weeks that all its 35 connectors will be CMIS compliant i.e. there will be one CMIS implementation working for all the leading content-centric applications, including SharePoint. I believe it is a great step towards interoperability.
Hold the cynicism
A couple of key things to think about:
1. Microsoft isn't "involved", they founded the spec along with IBM and EMC with the goal of bringing a standard to market that could easily be built on top of existing content management repositories without the vendors having to alter their repositories in any way. On top of that and in the interests of true interoperability, other vendors like Alfresco, OpenText, Oracle and SAP were rapidly brought on board to get the broadest range of input.
2. If you take a look at http://blogs.msdn.com/ecm/archive/2009/11/09/cmis-management-interoperability-services-cmis-public-review-of-version-1-0-begins.aspx you'll see the following statement - "For Microsoft's part, we announced at the ARMA 2009 Conference and at our own SharePoint Conference in the last two weeks that we are planning to deliver support for CMIS within SharePoint 2010." This makes Microsoft the first vendor to announce support for the standard in a shipping product.
I agree that a true ECM standard is always going to be a work in progress but I also believe it should start from a strong and realistic foundation like CMIS v1.0. Make no mistake, the members on the CMIS committee have grand plans but also have realistic expectations. Will there be teething problems? Of course there will, which is why all the vendors are supporting the implementation of a reference deployment that can be used to validate implementations and the reason that there have been many interoperability labs (several hosted by Microsoft) where the vendors have tested their prototypes to validate the spec and specific implementations.
As someone with a stake in making CMIS successful, I hope to address your fear and cynicism with action and implementation.
Re: Hold the cynicism
As I said, I'm taking a "wait and see" attitude... WebDAV and SOAP both had great promise, until sabotaged by Microsoft. SOAP will survive, WebDAV will not. We'll have to wait and see what happens to CMIS. I, for one, am not hopeful... but I'm open to the possibility that I'm judging too harshly.
Post new comment