Java Content Repository Standard

An Industry EffortAn Industry Effort

The notion of effective structured and unstructured content storage is continually improving.

  • One trend shows a dramatically simplified, yet highly scalable cloud-style persistence model such as Amazon Web Services
  • Other trends involve smart, productivity-driven technologies that abstract common persistence challenges from the applications, such as the long-term versioning of content and structure without losing agility, fine grained access control, source and format-independent access and advanced retrieval.


The Java Content Repository (JCR) standard, specifies a vendor-independent and implementation-independent way to access content bi-directionally on a granular level within a content repository.

A 4-year industry-wide effort led by Day’s CTO, David Nuescheler, developed a uniform application programming interface (API) under the auspices of the Java Community Process (JCP). Since reaching the final release in May 2005 - the JCR 1.0 standard is seeing a wide industry adoption, and has sparked the creation of the extension standard - JSR 283 - released in 2009.

/content/day/en/products/crx/benefits/jcr:content/par/textimage/image/file
Roy T. Fielding, Ph.D., Chief Scientist

The Content Repository API for Java Technology (JCR) is poised to revolutionize the development of J2SE/J2EE applications in the same way that the Web has revolutionized the development of network-based applications. JCR ’s interface designers have followed the guiding principles of the Web to simplify the interactions between an application and its content repository, thus replacing many application-specific or storage-specific interfaces with a single, generic API for content repository manipulation.

Download 15-page PDF on JSR-170 from Roy T. Fielding:

Why a Standard?Why a Standard?

Large organizations have data in many different formats, platforms and locations. There are also many different producers and consumers of information and data. Data access problems occur because each interface, data conversion, version, access authorization, synchronization and storage is done by different applications and platforms.

Maintaining access and upgrading infrastructure is difficult, expensive and time consuming. What is needed is a standardised, uniform way to access and control all of this information.

The JCR standard sets out to unify comprehensive access to structured and unstructured content, independent from it's source. This allows high value content to be made easily accessible to any application, protects investment in content and applications, and provides freedom of choice, avoiding vendor lock-in.

The specification defines levels that state the step-wise completeness of an implementation of the API.


The open source reference implementation Apache Jackrabbit and the commercially available version, Day CRX (Content Repository Extreme) both implement the standard at its fullest. They provide native support for storage and access of unstructured content such as text, images, documents, videos, XML, configurations, etc. and all types of structured content specified by the JCR standard.

A JCR implementation embraces both the notion of a smart and agile access model, and the ability for cloud-style scaling of the persistence.