JCR Standardization and Consolidation

uri: http://dev.day.com/microsling/content/blogs/main/jcr-consolidation.html

posted 11 January 2008 by David Nuescheler

filed under jcr jsr-170 jsr-283

When I speak at conferences and other occasions about JCR the question of adoption is asked frequently.
People usually think of adoption as "getting as many repository vendors as possible to adhere to the specification". This is probably because a lot of people see JCR primarily as a vehicle to integrate content from various repository vendors.

It is important to mention that JCR has been very successful in that respect.
To illustrate that please check my slide below for repository vendors that I am aware of that can be accessed through JCR, hence are JCR compliant to a specific level (please feel free to let me know of repositories that I am not aware of).

Now this means for example that you can hook-up Microsoft Sharepoint to a standardized java interface and virtualize the content with any of the other JCR compliant repositories.

While this integration aspect certainly is a big part of the mission of JCR, it is clearly not the only goal and most certainly not the only way how JCR impacts the market towards standardization.

JCR frees the application developers

Application developers do no longer have to implement their own repositories, but can use off the shelf standards compliant repositories like for example Apache Jackrabbit.
Every application developer that does not build their own repository is "one repository down".

This changes the game drastically and makes the application developers a lot more nimble, not having to implement features like access control, versioning, hierarchies, or multi-value properties that really every application that I can think of requires.

It is very encouraging to see the quick rate at which new JCR applications are being developed.

Ultimately the applications that exist on top of JCR will drive the adoption and will fuel the consolidation of the JCR infrastructure market.
The important question is not "How many repositories are compliant" but "How many applications are using jcr as its backing store".

I always like to use relational databases as a parallel when it comes to the evolution of an infrastructure market.
It was SQL as the initial relational standard that allowed application developers to build applications without having to ship their embedded proprietary database with the application and that finally led to the consolidation that we have today in the database market.

It is important to understand that this cycle from chaos, through standardization, to infrastructure and finally to commodity usually takes around 10-25 years and we are at the very early beginning with respect to JCR.