Overview
A JCR is a type of Object Database tailored to the storage, searching, and retrieval of hierarchical data. The JCR API grew out of the needs of content management systems, which require storage of documents and other binary objects with associated metadata; however, the API is applicable to many additional types of application. In addition to object storage, the JCR provides: APIs for versioning of data; transactions; observation of changes in data; and import or export of data to XML in a standard way.
Data Structure
The data in a JCR consists of a tree of Nodes with associated Properties. Data is stored in the Properties, which may hold simple values such as numbers and strings or binary data of arbitrary length. Nodes may optionally have one or more types associated with them which dictate the kinds of properties, number and type of child nodes, and certain behavioral characteristics of the nodes. Nodes may point to other nodes via a special reference type property. In this way nodes in a JCR offer both referential integrity and object oriented concept of inheritance. Additional node types include the referenceable node type which allows the user to reference said node through use of a universally unique identifier. Another popular type is the versionable type. This makes the repository track a document's history and store copies of each version of the document.
Available Implementations
Both JSRs are led by David NĂ¼scheler of Day Software. Day has both a commercial JCR implementation called Content Repository Extreme (CRX) and is involved in the open source Apache Jackrabbit JCR[6][7], which had its 2.0 release in January 2010. Hippo CMS and Magnolia are Enterprise Content Management systems built on the JCR API, using Jackrabbit as its repository by default, but able to plug in any other JSR-170 certified repository implementation. JSR-170 is also supported by Oracle Beehive, Oracle's enterprise collaboration software offering. The eXo JCR by ObjectWeb is an open source repository with paid commercial support and documentation. Many other commercial vendors are working on JCR compatibility and products. Alfresco is an open source content management systems which provides a JCR API onto their repository. GX released the new community version of its Enterprise Web Content Management platform based natively on Apache Jackrabbit and JSR.
eXo Platform JCR implementation on the company wiki [8]. eXo Platform 2 article on theserverside
ModeShape is a new open source JCR implementation that lets applications access existing information in external systems through the JCR API. ModeShape repositories can also federate content from multiple sources into a single, unified repository[9].
JCRDev.com provides a common platform for JCR Developers. It is an online community built especially for people working on Java Content Repository.
For more details: http://en.wikipedia.org/wiki/Content_repository_API_for_Java
No comments:
Post a Comment