Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Content repository API for Java

From Wikipedia, the free encyclopedia
Specification for a Java platform application programming interface

Content Repository API for Java (JCR) is a specification for aJava platformapplication programming interface (API) to accesscontent repositories in a uniform manner.[1][failed verification] The content repositories are used in content management systems to keep the content data and also themetadata used incontent management systems (CMS) such as versioning metadata. The specification was developed under theJava Community Process as JSR-170 (Version 1),[2][3] and as JSR-283 (version 2).[4] The mainJava package isjavax.jcr.

Overview

[edit]

A JCR is a type ofobject 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 applications. 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 toXML in a standard way.

Further information:Jcrom

Data structure

[edit]

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 bothreferential integrity and the object-oriented concept ofinheritance. 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

[edit]

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 ofSQL for queries and a query object model QOM. JSR 283 deprecates theXPath query language defined in JSR 170. TheApache Jackrabbit reference implementation of JCR also supports the integration of theApache Lucene search engine to give full text searches of data in the repository.

Available implementations

[edit]

Both JSRs are led by David Nüscheler ofAdobe Systems (formerly ofDay Software). Day had both a commercial JCR implementation called Content Repository Extreme (CRX) and was involved in the open sourceApache Jackrabbit JCR,[5][6] which had its 2.0 release in January 2010. ModeShape[7] is another open source JCR implementation that supports JSR-283.Adobe Experience Manager (AEM),Jahia,Hippo CMS andMagnolia 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 byOracle Beehive, Oracle's enterprise collaboration software. The eXo JCR by eXo Platform 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 Webenterprise content management (ECM) platform, based natively onApache Jackrabbit and JSR.

PHP adaptions have been started byTYPO3, translating the Java API to PHP.[8][9]The PHPCR interfaces are also implemented by Jackalope,[10] a PHP frontend talking to the Jackrabbit backend through the WebDAV interface, andMidgard,[11] a cross-language content repository.

See also

[edit]

References

[edit]
  1. ^"The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 93".www.jcp.org. Retrieved2025-06-24.
  2. ^"The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 170".www.jcp.org. Retrieved2025-06-24.
  3. ^"JSR-170 (HTML version of the specification)". Archived fromthe original on 2009-06-08. Retrieved2009-02-17.
  4. ^"The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 283".jcp.org. Retrieved2025-06-24.
  5. ^"Apache Jackrabbit – Welcome to Apache Jackrabbit".jackrabbit.apache.org. Retrieved2025-06-24.
  6. ^"Log In - Apache Software Foundation".cwiki.apache.org. Retrieved2025-06-24.
  7. ^"ModeShape 5.4.0.Final is available".modeshape.jboss.org. Retrieved2024-05-30.
  8. ^phpcr/phpcr, PHPCR, 2025-05-23, retrieved2025-06-24
  9. ^"PHPCR Package – TYPO3 Forge".TYPO3 Forge. Retrieved2025-06-24.
  10. ^"Jackalope: JCR for PHP". Archived fromthe original on 2013-01-27. Retrieved2017-09-19.
  11. ^Bergius, Henri (2011-12-23)."Midgard2 PHPCR provider hits 1.0".
Retrieved from "https://en.wikipedia.org/w/index.php?title=Content_repository_API_for_Java&oldid=1297142435"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp