Content Repository for Java Technology API

from Wikipedia, the free encyclopedia

Content Repository for Java Technology API ( JCR ) is a specification for a Java platform - API to access content in a uniform method. Content repositories are used by a wide variety of information systems that manage any documents together with their metadata , e.g. B. Web content management systems (WCM) , enterprise content management systems (ECMS), source control management systems, or directory services and e-mail systems. The aim of the API is to unite the many content islands with their own proprietary interfaces via a common one in the future. An application that uses the JCR API can save the content used in it in any other JCR-compliant content repository. In this way, applications and users themselves become more independent of a content repository manufacturer. Programmers who have learned the API once can develop applications for any content repository directly. The specification has been developed since 2002 under the Java Community Process and as JSR-170 (JCR Version 1.0) and in 2009 as JSR-283 (JCR Version 2.0). released.

overview

A JCR-based content repository is a kind of object-oriented database that combines the advantages of a relational database with data structures, searches, transactions and referential integrity , as well as a file system with hierarchies, access control, streaming and locking. In addition, other useful functions such as saving unstructured data (documents), full text search, multiple fields, sorting orders, versioning and monitoring of changes (event observation) are supported. An important aspect to support the mentioned independence is the migration of the contents of a content repository by importing and exporting the data in a standardized XML format.

Data model

The data model is very simple and resembles a tree . Each repository has at least one workspace . A workspace has one or more items . An item can either be a node or a property . A node, in turn, can have no or more children and no or more properties in which the actual content is stored. A node only has exactly one primary node type, which defines its characteristics, e.g. B. his properties and children she is allowed to have. In addition, nodes can be assigned one or more mixin types. These control whether version management is supported for a node , whether a node should be temporarily blocked for access or whether it should be assigned a unique identification number when it is created. The data model allows a completely simple storage without structures, in which each content to be saved is saved in a node below the root node of a workspace. This corresponds to the “Data First” strategy, in which the Repository Designer does not need to worry about searching using structures as is known from a file system . Since nodes can in turn be linked to other nodes by means of a reference, a structure such as B. a customer file, can be followed up much later. The search is then carried out in a manner similar to what is known from the web search engines, using a full-text search. In the JCR model, the content of the previous versions of content can also be searched. If the structures of the repository are already clear in advance and the content should only be stored according to these structures for more efficient retrieval, the “Structure First” strategy can be used.

JCR compliance

The JCR specification differentiates between different levels to be supported. The functions for level 1 must be supported, while level 2 and some other functions are optional. Level 1 includes search (query) and reading (read) as well as export. Typical applications are therefore purely presentation systems such as web content management or reporting tools. The level 2 functions include writing, import, full text search, access control and referential integrity. Level 2 functions are typical for entry level content, document and workflow management systems. For enterprise content management systems or source control management systems, the optional functions such as versioning, locking, monitoring and transactions are required. Applications that are JCR-compatible must be certified with regard to the specified levels. There is also a so-called Technology Compatibility Kit (TCK) with over 1000 existing test routines.

Queries

A JCR-based content repository uses the standard XPath for searches . Version 2.0 will optionally also use some form of SQL queries. The reference implementation Apache Jackrabbit supports the full-text search over unstructured data such as documents in CI format through the integration of the search engine based on Apache Lucene .

Available implementations

Both JSRs are led by Adobe's David Nuescheler. Adobe offers a commercial JCR implementation called Content Repository Extreme (CRX) and also participates in the open source Apache Jackrabbit JCR, which became available in April 2006 as a reference system for a JCR-based content repository with version 1.0. ModeShape is another open source JCR implementation that supports JSR-283. Magnolia is an enterprise content management system that uses the JCR API to save its content in Jackrabbit by default, but can also use any other JSR-170 fully certified repository. ObjectWeb's eXo JCR is an open source repository for which support and documentation is available against payment. Many other commercial manufacturers are working on the JCR conformity of their products such as IBM, SAP, Oracle, OpenText, EMC DOCUMENTUM. Alfresco and Jeceira also offer an open source content management system as their own repositories. GX has released the new community version of their enterprise web content management platform, which is natively based on Apache Jackrabbit.

Individual evidence

  1. JCR: A Practitioner's Perspective, by Alexandru Popescu and Joseph Ottinger ´
  2. Java API for XML Registries - Another Java API for Registries and Repositories
  3. JSR-170
  4. Reference implementation and the technology compatibility kit
  5. JSR-283
  6. Apache Jackrabbit website
  7. JCR links to articles and applications based on JCR.
  8. http://modeshape.org
  9. Article "Content Repository - Uniform Access to Electronic Data in Databases" ( Memento of the original from January 8, 2014 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. , published in WissenHeute Vol. 62 10/2009  @1@ 2Template: Webachiv / IABot / www.training.telekom.de