Latest Posts

Archives [+]

JCR is for more than just web content management

There is an aspect in the adoption of JCR that is well-known, but not made explicit very often: While JCR is sometimes perceived as a technology for (web) content management systems the range of applications that are actually built on top of JCR is quite a bit broader. This is understandable as the feature set defined in JCR is useful for many use cases (like object-level security, versioning, hierarchical data structure, etc).

Recently, I stumbled across Boni Gopalan's blog which reminded me of exactly this fact. Boni's company BioImagene sells a software package for analysis and management of pathology images. He provides some reasons why they chose to base their software on top of JCR:

  • 1. Pluggable security model that can maintain ACL at object level
  • 2. Versionability for objects
  • 3. ability to choose the right storage device for binary content Vs. ascii data.
  • 4. Efficient pluggable search integration.
  • 5. ability to integrate with JEE environments and lightweight spring like frameworks.
  • 6. Import export support to and from XML.
  • 7. Efficient transaction management and the ability to seamlessly take part in JTA.

This inspired me to compile an incomplete list of examples of some real-world applications that are built on top of JCR (which are not content management systems, document management systems, knowledge management systems, blogs or wikis) - more to be found in the Jackrabbit Wiki:

This list illustrates why I regard JCR as a "horizontal infrastructure technology", not just as a "web content management vertical".