What’s this thing called CMIS?

08May10

CMIS Logo

The CMIS standard is now official; many companies have announced supporting this initiative including all leading vendors of ECM systems. There is circulating a lot of information around the standard about who supports it, how it will influence the ECM industry, potential use cases and so on. But there is very few information available about what the standard is, what you can do with it and how it technically works. There is the official specification of course, but this not the right level for getting a first impression and not everyone is willing to read through the 236 pages. So I guess it is time for an article that focuses on the technical aspects without digging too much into details of wire protocols or source code (we might use it here and there for clarification but this is not the focus). This first part is the start of a series of giving an overview about CMIS. Hopefully you get an idea at the end what you can do with CMIS and whether it makes sense for you to buy into it.

Enjoy it and of course I am interested in getting feedback. Here an overview about the parts (subject to change)

Part 1: Overview, domain model and bindings

Part 2: Domain model part 1, Repository, Types, and Properties

Part 3: Domain model part 2, Versions, Relationships, Query

Part 4: Domain model part 3, Renditions, Permissions, ACLs, Policies

Part 5: Extensibility and Protocol differences, Compatibility

Part 6: Summary, Future Enhancements and Outlook

Part 1: Overview, Parts of the standard, model and protocols

CMIS is about interoperability between ECM systems. So let’s first take a step back and have a look what an ECM system is: Wikipedia defines it as “strategies, methods and tools used to capture, manage, store, preserve, and deliver content and documents related to an organization and its processes”. What does this mean? Often we differentiate between structured and unstructured information. Structured information consists of data that repeatedly occurs in very similar or identical forms. If structured data are processed paper-based, often forms are used. They keep their structure over long periods of time. Addresses and postal codes are examples, an inventory management that structures storage locations according to different capabilities and their physical location or a catalog of goods dealing with articles, article numbers, availability, prices and so on. Access to data often is done by queries that occur over and over again in the same form. Structured information can be handled efficiently in relational databases and over decades software has been built around managing all kinds of such structured information.

Many business processes however deal with data that is much more unstructured, contained in documents or images, voice and video. Data in form of natural language, pixels, audio samples or video frames is much harder to process. They need to be stored efficiently and should be findable and retrievable even after years. ECM systems deal with processing and management of such kind of information. A relational database alone is often not sufficient to manage these kinds of data. ECM is about managing your content.  CMIS tries to standardize storing, retrieving and finding content and therefore allows exchanging information between different ECM repositories. The nature of lacking structure implies that ECM repositories follow very different approaches how to achieve this goal. Often they are specialized on only a few aspects, scenarios or data types that they can handle efficiently. Many special features exist that just make sense in a specific area, resulting in a wide heterogeneity of systems. Trying to standardize something in such an environment is a challenge. You need to find the right balance: On one hand it should be possible for a standard to be fulfilled by as many systems as possible. On the other hand you want to cover as much functionality as possible so that the standard is useful in a wide range of business cases and scenarios. CMIS tries to focus on the common parts that exist in most of the available systems today. When in doubt if a feature makes sense or can’t be implemented by most of the systems the TC (OASIS Technical committee) rejected it in favor of keeping the standard simple and easier to implement. So it is likely that you will miss one or the other feature of your favored system.

What all systems have in common is the capability to bring structure in the information with metadata that go along with the content. They assist you in finding the information by various means and they try to control who can see and modify the information. All this is part of the CMIS Domain Model. We will take a closer look at the domain model in the next parts of the series. The domain model is the core of the standard.

The domain model describes the objects, methods and what you can do with them. It does not describe how you technically get access to them and perform actions on them. There are several possible ways to approach this: You could for example describe an API in a programming language, you could describe a file format or you can agree on a network protocol to exchange information. You even can omit this completely and define it as outside of the scope of the standard. Each approach has its strengths and weaknesses and there is no simple answer to what the best approach is. CMIS decided to standardize on protocol level and calls this bindings.

The reasons for this are that the TC has seen interoperability between as many systems as possible as fundamental. In today’s world there is much more agreement on network protocols then on APIs. An API is always tied to a platform and programming language. But ECM systems are available on very different platforms and implemented in a wide range of different programming languages. It was essential that the Java and Microsoft platforms can be covered adequately as they are the most important platforms today. The downside of this approach is that it is much easier to implement an API for a programmer than to deal with all the details of a network protocol. If more than one protocol needs to be supported things get significantly harder.

In the current release CMIS defines two different bindings: The RESTful AtomPub binding and a SOAP binding for web services. To cover a wide range of systems the TC decided to define two different bindings with different characteristics. The SOAP binding supports the widely used web service standard as transport mechanism. Web services are supported by many different platforms, they are available for a long time and good tooling support is available. Web services also offer a wide range of advanced functionalities like encryption, transaction handling and more on top of the basic protocol. But web services are also criticized because the standard is complex, the protocol not very efficient on the wire and it hardly can be used without any tool support. To offer an alternative the CMIS TC decided to standardize in addition a second protocol following a different  (more RESTful) paradigm. This is based on the Atom Publishing Protocol (AtomPub or APP) specification. AtomPub is defined in RFC4287 by the IETF. The AtomPub protocol is XML transferred over http. By using AtomPub simple CMIS requests can even be handled using a web browser.

Fully CMIS compliant repositories have to support both bindings. From what we can see today (which is pretty early of course) it seems that the AtomPub protocol is the more popular one.

Having a library available that offers interfaces, classes and methods can make implementing the standard much easier. It can guarantee the conformance on wire level, provide familiar data types and method conventions and most important: offer support for both bindings transparently to the programmer (if designed in the right way). Over time it is expected to see a number of available libraries for different platforms. Announced or available are for example Android, iPhone, Java, Python and PHP. The most complete functionality today is available in Java in the Apache Chemistry/OpenCMIS project. Chemistry offers support for client and server for SOAP and AtomPub   and covers the full scope of the specification.

CMIS is not the first attempt for a standard in the ECM area. Other initiatives like JSR 283, JSR 170, WebDAV and some older initiatives like DMA and ODMA either are related to CMIS or overlap. Within the remainder of these series we may take a look here and there how they compare, but an in-depth comparison is out-of-scope.

This introduction should give you a first overview about the CMIS standard. Lets’ look forward to the next part introducing the domain model and giving you a handle to more concrete things you can do with CMIS.

References

OASIS CMIS Technical Committee: http://www.oasis-open.org/committees/cmis/

CMIS 1.0 Specification:  http://www.oasis-open.org/committees/download.php/36486/CMIS-cd07.zip

AtomPub Specification: http://www.ietf.org/rfc/rfc4287.txt

Web Services:  http://www.w3.org/standards/webofservices

Apache Chemistry: http://incubator.apache.org/chemistry/



About these ads


32 Responses to “What’s this thing called CMIS?”

  1. It’s that time of day or night, and a speaker system to knock your socks off, and from a boat just off shore evoked the black sense of adventure and fun. paphos car hire can every so often be a little cooler in the summer season lifeguards are present.

  2. Today, I went to the beach with my children. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She put the shell to her ear
    and screamed. There was a hermit crab inside and it pinched her ear.
    She never wants to go back! LoL I know this is totally
    off topic but I had to tell someone!

  3. It is not approved by the Food and Drugs Administration FDA.
    However, farmacia on line is not going to wow you.

    TheFood and Drug Administrationwill vote on what’s being called ‘female farmacia on line’, a drug that will mess with chemicals in a woman’s body.

    Wishing her the belief that we need rational thought to understand the exact health problem and gives
    any wrong medicine that it might benefit certain women too.
    Dear Mr President, the outrage has not gone far enough to
    protect religious freedoms.

  4. 4 Danial

    Valuable information. Fortunate me I discovered
    your web site by accident, and I am surprised
    why this accident did not came about in advance! I bookmarked it.

  5. People tend to do business with people they like, so this is your chance
    to let your sparkling personality shine through. Using social media for
    marketing your company, products or services is a superb method of getting
    clients and enhance your sales. If someone gets busted for having a fake account
    it is usually big news for five minutes then fades
    away.

  6. 6 Kellie

    While some are great fans of Motorbike games, others love to pay games where a lot of strategy comes into play.
    True, but that does not make the games not less fun, or not less based on the
    movies. Having the ability to move and management an entire army and
    individual troopers, build them move across the map and
    chop and hack at can captures the kid hood imagination bringing the game
    of toy troopers to life.

  7. That’s like Houston Texas being without a Country station. Regular workshops ensure that the staff at PVM Radio subdivision is not only up to date with the latest technological innovations, but also ensures that the customers from diverse backgrounds are offered the best possible services to suit their tastes. These channels offer a variety of genres for the user.

  8. When it comes to fishing, some goes for fishing as an entertainment activity and many depends upon
    fishing for their livelihood. Alaska salmon fishing trip is
    one of the more favorite trips in Alaska. One can find another 2 options as
    to wholesale fishing rod, which might be hollow-tip rods and reels and spliced-tip rods.

  9. Yes! Finally something about beach sun shelters.

  10. My skin looks incredible! By removing junk food, sweets and processed foods.
    Your Skin Game will be much much more valuable if you support it
    with a cotton ball in baby oil and 2 teaspoons of sugar
    together. First of all, I would suggest that you consult your physician
    or dermatologist.

  11. They want to win by playing their very best as opposed
    to winning by putting the other person off. Just last year Apple
    sold more than one hundred million i – Phone and i – Pad apps.

    It sounds like you log into the game and join a “Shadow war” server
    and play with hundreds of other players within that PVP world, but that world is different from the cooperative Arkfall
    boss hunting world.

  12. 12 Leigh

    Hey there! I realize this is kind of off-topic however I had to ask.

    Does managing a well-established website such as yours require a large amount of work?
    I am brand new to writing a blog but I do write in my journal every
    day. I’d like to start a blog so I can easily share my own experience and thoughts online. Please let me know if you have any kind of suggestions or tips for new aspiring bloggers. Appreciate it!

  13. Perfect pan size we encourage you take them back to your hotel
    and have them prepared. Pay close attention to the mayflies, midges, and stoneflies in
    the area and try to match your flies to the size
    and type fish are biting on. One can find another 2 options as to wholesale fishing rod, which might
    be hollow-tip rods and reels and spliced-tip rods.

  14. This paragraph will assist the internet users for creating new webpage or even a weblog from start
    to end.

  15. the most beneficial critical which would be the
    utter almost all world Regardless, Lets hope these
    tips will probably be since beneficial to people when they
    had been in my opinion.

  16. Hello would you mind letting me know which web host
    you’re utilizing? I’ve loaded your blog in 3 different internet browsers
    and I must say this blog loads a lot faster then most.
    Can you suggest a good internet hosting provider at a fair price?
    Kudos, I appreciate it!

  17. Hiya! Quick question that’s completely off topic. Do you know how to make your site mobile friendly? My site looks weird when viewing from my iphone4. I’m trying
    to find a theme or plugin that might be able to fix this issue.
    If you have any recommendations, please share. Cheers!

  18. For this reason you must use this diversification rule when making your current
    trading to help you think about it can be to your advantage
    in regard to getting far more profitable deals and less deficits.
    The financial well being together with any type of enterprise that you receive directly into is
    that it should undoubtedly steer anyone towards a snug retirement down
    the road. They might actually always be value the excess weight in rare metal giving an individual tips that could result in much more successful positions plus more profit the wallet.
    In the event the agreement stops “out with the money”, the dealer is in fact obligated to pay half the normal commission from the main back to this entrepreneur.

  19. On this page, we all can talk about precisely how these kind of indicators
    can affect Go back dealing and also ways to
    take advantage of these types of monetary impulses.
    Day exchanging is a very popular way of exchanging the particular marketplaces as a consequence of
    the ability to key in as well as exit almost
    any current market in just units. Go back offers
    came into this trading industry throughout delayed 08 and offered any technological step which shocked the earth.

  20. Learning the design of an horse can certainly take
    the time in addition to it may be perplexing if you do not discover how.
    7) On the web bingo can be start 24/7/365
    which means you make a decision when you need for you to play.

  21. Hey! This is kind of off topic but I need some advice from an established blog.
    Is it difficult to set up your own blog? I’m not very techincal but I can figure things out pretty quick. I’m thinking about making my own but
    I’m not sure where to begin. Do you have any tips or suggestions? Cheers

  22. Chatting using a cellphone while gambling devices advanced slot machines outrageous
    in addition to really helps to win major… as well as definitely not!
    No person appreciates how much money he’s got won in that time period.

  23. Commonly, they will put a good choice about something which they will think could well be plenty of to offer them returning
    their own stakes along with a large amount of money when many people
    earn. Their own video games consist of Blackjack, Roulette,
    Movie Online poker, in addition to an assortment of some other video poker machines and special video game
    titles of which will help you possess a thrilling time along with earn some cash way
    too!

  24. Thanks , I’ve just been searching for info about this subject for a while and yours is the greatest I’ve came upon so far. But, what concerning the bottom line? Are you positive concerning the source?|What i don’t realize is in reality how you’re now not really a lot more well-favored than you may be now. You are very intelligent.

  25. Hi there! This blog post could not be written any better!
    Reading through this post reminds me of my previous
    roommate! He continually kept preaching about this. I’ll send this information to him. Pretty sure he’s going to have a great read.
    Thank you for sharing!

  26. Hi to every one, because I am in fact eager of reading this webpage’s post to be updated regularly. It carries nice data.

  27. Hello! Do you know if they make any plugins to safeguard against hackers?
    I’m kinda paranoid about losing everything I’ve worked hard on.
    Any suggestions?

  28. You actually make it seem so easy with your presentation but
    I find this matter to be actually something which I
    think I would never understand. It seems too complex and very broad
    for me. I’m looking forward for your next post, I will try to get the hang of it!

  29. Appreciation for another educational internet site. The area more might just I am getting in which style of information coded in a real ideal technique? I own a business that we are just at this point implementing, and I’ve been on your look outside regarding this sort of facts.

  30. Actually no matter if someone doesn’t know then its up to
    other users that they will help, so here it takes place.

  31. Prettʏ nice post. I just stumbled upon your blog and wished to say that I have reɑlly enjooyed browsing your blog posts.
    After all I will be subscribiոg to your rss feed and
    I hope yyou wrte again soon!

  32. great points altogether, you simply won a new reader.
    What could you recommend about your put up that you just made a
    few days in the past? Any sure?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: