Content repository API for Java

Content repository API for Java

Content Repository API for Java (JCR) is a specification for a Java platform application programming interface (API) to access content repositories in a uniform manner.[1][dead link][2][not in citation given] The content repositories are used in content management systems to keep the content data and also the metadata used in content management systems (CMS) such as versioning metadata. The specification was developed under the Java Community Process as JSR-170 (Version 1).[3][4] and as JSR-283 (version 2)[5] The main Java package is javax.jcr.

Contents

Overview

A JCR is a type of object database tailored to storing, searching, and retrieving hierarchical data. The JCR API grew out of the needs of content management systems, which require storing 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.

Queries

A JCR can export portions of its tree to XML in two standard formats and can import hierarchies directly from XML. JSR 283 compliant implementations must support a standardized form of SQL for queries and a query object model QOM. JSR 283 deprecates the XPath query language defined in JSR 170. The Apache Jackrabbit reference implementation of JCR also supports the integration of the Apache Lucene search engine to give full text searches of data in the repository.

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 system which provides a JCR API onto their repository. GX released the new community version of its Web enterprise content management (ECM) platform based natively on Apache Jackrabbit and JSR.

eXo Platform JCR implementation on the company wiki.[8] eXo Platform 2 article on TheServerSide.com.[9]

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 one, unified repository.[10]

JCRDev.com provides a common platform for JCR Developers. It is an online community built especially for people working on Java Content Repository.

PHP adaptions have been started by TYPO3, translating the Java API to PHP.[11] [12] The phpCR interfaces are also implemented by Jackalope[13], a PHP frontend talking to the Jackrabbit backend through the WebDAV interface.

References

See also


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Content repository API for Java — Content Repository API for Java(JCR) это специализированый API на java платформе для доступа к Content Repository. Подобные системы чаще всего используются для хранения данных и метаданных в Система управления содержимым (CMS). Спецификация была… …   Википедия

  • Content repository — A content repository is a store of digital content with an associated set of data management, search and access methods allowing application independent access to the content, rather like a digital library, but with the ability to store and… …   Wikipedia

  • Content Repository for Java Technology API — (JCR) ist eine Spezifikation für eine Java Plattform API, um auf Content in einer einheitlichen Methode zuzugreifen.[1][2] Content Repositories werden von den unterschiedlichsten Informationssystemen genutzt, die beliebige Dokumente zusammen mit… …   Deutsch Wikipedia

  • Java Specification Request — Java Specification Requests Java Specification Requests (JSR) est un système normalisé ayant pour but de faire évoluer la plateforme Java. Sommaire 1 Présentation 2 Implémentation 3 Interopérabilité informatique …   Wikipédia en Français

  • Java Specification Requests — (JSR) est un système normalisé ayant pour but de faire évoluer la plateforme Java. Sommaire 1 Présentation 2 Implémentation 3 Liste des JSRs 4 Notes et …   Wikipédia en Français

  • Java (значения) — …   Википедия

  • Java Specification Request — Ein Java Specification Request (JSR) ist eine Anforderung einer neuen Java Spezifikation oder einer wichtigen Änderung einer existierenden Java Spezifikation, die im Rahmen des Java Community Process (JCP) an das von Sun Microsystems betriebene… …   Deutsch Wikipedia

  • Java 4K Game Programming Contest — The Java 4K Game Programming Contest (aka Java 4K and J4K ) is an informal contest that was started by the Java Game Programming community to challenge their software development abilities. The goal of the contest is to develop the best game… …   Wikipedia

  • Liste de systèmes de gestion de contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article principal : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

  • Liste De Systèmes De Gestion De Contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article détaillé : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”