Okay, that title should handle all of the words I need for lots of hits. 🙂 In all seriousness, that title is exactly what I am focusing on in this post. I’m going to cover some of the background and non-technical challenges in putting this demonstration together so that you can better appreciate what went into the effort. You can read the official announcement for the official description.
Before I do that, I want to offer thanks to the following:
- Thomas Pole: Thomas is the chair of the iECM committee for AIIM. He was in charge of this demo and was able to identify a host platform for us to run the system on for no charge. In addition, he built the User Interface while I focused on the back-end components.
- Betsy Fanning: Betsy is the Director of Standards at AIIM. She helped keep us on track and coordinated with the various vendors that participated in this effort.
- The iECM Committee: They helped make sure that what we were doing made sense from a business perspective and worked with us to develop the requirements and design.
- The Vendors: This is more than the obvious ones. I’ll go into more details in a subsequent post. I just want to say now that all the vendors involved worked hard in this effort. Just because you don’t see their content right now doesn’t mean that they didn’t participate.
- Harris Corporation and Washington Consulting, Inc.: Thomas’s and my companies, respectively, helped us by allowing us time and additional resources to build and put our pieces together. We both have full-time day jobs and only support from our companies made this possible.
Okay, on to the show…
What Is the Fuss About?
When the CMIS standard was first announced, I mentioned to the committee that we, as AIIM’s Interoperable ECM committee, needed to have some sort of response. We tossed out a few ideas, and moved ahead with some. I believe it was Thomas who thought of doing a demo for the AIIM show. After some work we came up with an initial idea. All we needed now was content that we could share publicly and vendor participation.
Oh yeah, and we had to have it all built in 2 months.
We got a lot of vendors to show interest and join us on a few calls. We developed a data model and decided to write this in .NET and use the CMIS SOAP bindings. The reasons were simple. Our free server was an IIS server, so .NET was the obvious choice. Visual Studio makes it easy to consume Web Services and we had access to a sample CMIS .NET application using the SOAP binding. Considering the tight time-frame, that was key.
During that time, we learned that we couldn’t user the AIIM presentations. We had to use old articles from AIIM’s E-DOC, now Infonomics, magazine. Betsy led this effort and got the issues to the vendors for serving to the users. Vendors were encouraged to supplement the content with their own marketing material. The tagging was left to the vendors, though we helped as we could with the access to their systems that was provided.
Remember, through all of this, Thomas and I both have jobs and clients.
A Draft Standard Implemented by Beta Software
That pretty much sums up the issues that happened going forward. Whatever a vendor calls it, the CMIS implementations are betas. That isn’t a slight against the vendors as the standard is still a draft.
Vendors began to learn that they couldn’t participate. They had valid reasons. Some didn’t have mature enough SOAP implementations of the CMIS standard yet. Others were unable to get a CMIS interface exposed to the Internet in time for the show. Some had both challenges. It was a tight timeframe, so getting more than one vendor to participate was impressive, and all that was needed.
Without going into a blow-by-blow description, let me characterize the issues. Assume each vendor has 80% of the SOAP binding implemented, you can bet only 60-70% overlapped. I found variations, and bugs. The bugs were quickly fixed. When the implementation didn’t match the spec 100%, I let them know for future reference and used their implementation as it was. Don’t get me wrong, working on slight variations of the CMIS standard was infinitely preferable to working on vendor specific interfaces. Visual Studio found most of the differences for me automatically and quick emails to the vendors cleared up any other questions.
Did I mention that all the vendors had mutually exclusive support for WS-Security authentication models? I learned a lot more than I had planned.
You Want a Link?
After reading all of that, I guess you want to see it. For a limited time, you can try the demo here: http://aiim-iecm.org/cmisdemoc. There may be some enhancements over the next several days, but no promises. In a week or so, it will be gone.
Enjoy and remember. We could add other vendors in an hour if their implementation supports the standard (and they don’t use another method for authentication). That’s it. That is the power of CMIS.