University of Lausanne & Day Software AG
JCR or RDBMS
Day Software AG (Day) led the development of aJAVA specification which defines a uniformapplication programming interface (API) to managecontent. This specification is called content repositoryAPI for java (JCR) and is part of the java communityprocess. Implementations of this specification areactually provided by well known companies such asOracle, Day or Alfresco.JCR implementations are often used to build highlevel content management systems and collaborativeapplications. Day also provides an open sourceimplementation of the specification which is calledJackrabbit and which is used as a shell for some of its products.This diploma thesis takes place in this context. Daywants to clarify some points which relate to the datamodel promoted by their specification. The basic ideais to compare their approach to managing contentwith the approach promoted by competitors atdifferent levels. The following sections will clarify theapproach adopted to do this and give an overview of the content developed in this report.
What is compared?
As explained, the purpose is to locate JCR in thedatabase world. This work will be done by comparingthe relational model and the model promoted byJCR. The relational model defined by Codd in the
70’s is actually the most widely used data model. The
unstructured or semi-structured model subtended bythe JCR specification encounter a growing successin the content management area. These two modelswill be described and analyzed in this report.
Why is it comparable?
Each data model supports a philosophy, to structureand access data. On the one hand, the success of the relational model comes in large part from thefacilities which are offered to describe clear datastructures. On the other hand, the success of theJCR specification relates essentially to the facilitieswhich are offered to express flexible data structures.These aspects show us that the discussion takesplace at the same level. Thus, it makes sense tocompare them, and to clarify their respectivepossibilities and limits. It also makes sense to give aclear picture of their respective philosophies whichare promoted and used by each of the models.
What is the purpose of thiscomparison?
By making this comparison, Day wants to moreprecisely position the data model, the specificationand the products which relate to JCR. Doing thisshould help people to understand better the mainoffers available on the market and show when itmake sense to use them.More precisely, with an external perspective, the goalis to define and give clear advice, which can helppeople to choose the approach which will best fit inwith their needs. Some people are asking if their applications should be implemented with a relationaldatabase or a java content repository. Thus,clarifying the philosophies promoted by each modelcould help in making good decisions andunderstanding the impact of a choice made at a datamodel level.