Apache Chemistry - CMIS Support for JCR

At a GlanceAt a Glance

Apache Chemistry is an effort to provide a Java (and possibly others, like JavaScript) implementation of an upcoming CMIS specification, consisting of a high-level API for developers wanting to manipulate documents, a low-level SPI close to the CMIS protocol for developers wanting to implement a client or a server, and default implementations for all of the above. Chemistry aims to cover both the AtomPub and SOAP bindings defined by the CMIS specifications.

/content/day/en/products/crx/chemistry_overview/jcr:content/par/image/file

In Detail - Background on the Apache Chemistry ProjectIn Detail - Background on the Apache Chemistry Project

The proposed CMIS (Content Management Interoperability Services) standard defines a domain model and set of bindings, such as AtomPub and SOAP that can be used by applications to work with one or more Content Management repositories and systems. The standard aims to help providing vendor-neutral formats to share information across Internet.

The submission of the specification was originally proposed by seven CMS vendors and since that a number of other vendors have joined the OASIS TC, both commercial and Open Source. It is now in an early definition phase (started in September 2008); improvement of specifications and compatibility among existing implementations are the short term goals for CMIS.

There has been considerable interest in a JCR-based implementation of this proposed standard, and some months ago a group of interested people started working on such a codebase in the Apache Jackrabbit sandbox. Write access to the Jackrabbit sandbox was opened to all Apache committers to lower the barriers for cooperation.

This work gave birth also to an effort at creating a more generic CMIS implementation framework. This effort, named "Chemistry", has been led by Florent Guillaume and other Nuxeo employees. The Chemistry work has taken place in a Mercurial source repository outside Apache, since the developers are not yet Apache committers and thus do not have write access to the Jackrabbit sandbox.

This situation with separate codebases in separate source repositories was causing confusion and coordination problems. The effort was clearly no longer just an extra component in Jackrabbit, and so it was proposed that the project should brought to the Incubator where it can grow in a more controlled and yet less constrained manner.

A New Standard, a New DayA New Standard, a New Day

Day Software has long been a leader in open source and open standards through the efforts of its Chief Scientist, Roy Fielding, co-founder and CTO, David Nuescheler, and numerous star members of its R&D team.  Working with the OASIS standards committee and Apache community, Day Software looks to drive towards the finalization and ratification of CMIS and collaborate in an open, community-development model within the Apache Software Foundation on the Chemistry reference implementation that is fully compatible with the JSR-170 standard and the Apache Jackrabbit reference JCR implementation.