For updated content from Camunda, check out the Camunda Blog.

Integration of Java Content Repository (JCR) into Java Enterprise Environments (Java EE)

For JCR there was a interessting master thesis, done by Hendrik Beck at camunda GmbH. As a result, the open source project was released. Read some background in this article.

Motivation of Master Thesis

JSR-170 (and its upcoming successor JSR-283), also known as Java Content Repository (JCR) defines a hierarchical content model as well as a set of Java APIs to access content-based data in a standardized way. Although only slightly more than two years old it succeeded into a lot of adoptions throughout the world of content storage. While traditional Content Management Systems are the natural playing ground for JCR, more and more fields of usage are being discovered. JCR’s powerful set of built-in functionality like 100% transparency over storage details, versioning, locking, full-text search (including binaries) and some more makes it an interesting choice wherever something like content has to be stored.

Business-oriented JEE applications naturally contain a certain amount of data, that is neither mission-critical nor business-logic-relevant but rather descriptive and informational data that just “has to be there”. Especially binary files like images (a product image that should be displayed on a web site) or PDF documents (like data sheets for products) are good examples of this kind of data. As JCR is supposedly a good choice for storing these data (while traditional O/R mapping is for various reasons the best choice to design JEE persistence layers) combining both traditional O/R mapping and JCR might be a promising approach.

Objective, scope, goals

This thesis investigates how JCR could be applied to store content-based data within the context and environment of JEE applications. Therefore the main fields of investigations are:

  • Delivery of a proof-of-concept for the usage of separate storage of data related to the same JEE application.
  • Prototypical implementation of a piece of code that encapsulates persistence of content data as well as integration into standard JEE architectures.
  • Evaluation of the solution by all relevant regards.
  • Prototypical integration of the solution into an existing JEE application (i.e. a vertical cut-out of that application) developed and productively run by camunda.

Master Thesis


The JCR-Explorer is a web-based tool to administer a JSR-170 (JCR) compliant Java Content Repository and its contents. It was started in 2005 by camunda as an internal project. In 2006 its sources were opened and published on In April 2007 it was put under Apache 2.0 license and moved over to to encourage community-driven development and let it grow up to a mature tool.

Some of its features are:

  • Browse the repository structure
  • View and edit properties
  • Query the repository using SQL or XPATH
  • Import and export data
  • Use the versioning feature of JCR
  • Do operations on the repository and on items defined by the API, e.g. lock nodes
  • View general repository information
  • Administer workspaces

It is based on JSF and can be deployed into many applications by just dropping in one single WAR file. It requires a repository deployed and running in either model 2 or model 3 that is available within JNDI.

Please note: To open up this tool to the community it has been moved to and is now available under Feel free to check it out, use it for any purpose, provide feedback or get involved…

Already read?

Scientific performance benchmark of open source BPMN engines

Why BPMN is not enough

Decision Model and Notation (DMN) – the new Business Rules Standard. An introduction by example.

New Whitepaper: The Zero-Code BPM Myth

Leave a reply