API de repositorio de contenido para Java

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Especificación para una interfaz de programación de aplicaciones de plataforma Java

API de repositorio de contenido para Java (JCR) es una especificación para una interfaz de programación de aplicaciones (API) de la plataforma Java para acceder a repositorios de contenido de manera uniforme. Los repositorios de contenido se utilizan en los sistemas de gestión de contenidos para conservar los datos del contenido y también los metadatos utilizados en los sistemas de gestión de contenidos (CMS), como los metadatos de control de versiones. La especificación se desarrolló bajo el proceso de la comunidad Java como JSR-170 (versión 1) y como JSR-283 (versión 2). El paquete principal de Java es javax.jcr.

Descripción general

Un JCR es un tipo de base de datos de objetos diseñada para almacenar, buscar y recuperar datos jerárquicos. La API JCR surgió de las necesidades de los sistemas de gestión de contenidos, que requieren almacenar documentos y otros objetos binarios con metadatos asociados; sin embargo, la API es aplicable a muchos tipos adicionales de aplicaciones. Además del almacenamiento de objetos, el JCR proporciona: API para control de versiones de datos; actas; observación de cambios en los datos; e importar o exportar datos a XML de forma estándar.

Estructura de datos

Los datos en un JCR constan de un árbol de nodos con propiedades asociadas. Los datos se almacenan en las propiedades, que pueden contener valores simples como números y cadenas o datos binarios de longitud arbitraria. Opcionalmente, los nodos pueden tener uno o más tipos asociados que dictan los tipos de propiedades, el número y tipo de nodos secundarios y ciertas características de comportamiento de los nodos. Los nodos pueden apuntar a otros nodos mediante una propiedad de tipo de referencia especial. De esta manera, los nodos en un JCR ofrecen tanto integridad referencial como un concepto de herencia orientado a objetos. Los tipos de nodos adicionales incluyen el tipo de nodo referenciable que permite al usuario hacer referencia a dicho nodo mediante el uso de un identificador universalmente único. Otro tipo popular es el tipo versionable. Esto hace que el repositorio rastree el historial de un documento y almacene copias de cada versión del documento.

Consultas

Un JCR puede exportar partes de su árbol a XML en dos formatos estándar y puede importar jerarquías directamente desde XML. Las implementaciones compatibles con JSR 283 deben admitir una forma estandarizada de SQL para consultas y un modelo de objetos de consulta QOM. JSR 283 desaprueba el lenguaje de consulta XPath definido en JSR 170. La implementación de referencia de Apache Jackrabbit de JCR también admite la integración del motor de búsqueda Apache Lucene para realizar búsquedas de texto completo de datos en el repositorio.

Implementaciones disponibles

Ambos JSR están dirigidos por David Nüscheler de Adobe Systems (antes de Day Software). Day tenía una implementación JCR comercial llamada Content Repository Extreme (CRX) y participó en el Apache Jackrabbit JCR de código abierto, que tuvo su versión 2.0 en enero de 2010. ModeShape es otra implementación JCR de código abierto que admite JSR-283. Adobe Experience Manager (AEM), Jahia, Hippo CMS y Magnolia son sistemas de gestión de contenido empresarial creados sobre la API JCR, que utilizan Jackrabbit como repositorio de forma predeterminada, pero pueden conectarse a cualquier otra implementación de repositorio certificada JSR-170. JSR-170 también es compatible con Oracle Beehive, el software de colaboración empresarial de Oracle. eXo JCR de eXo Platform es un repositorio de código abierto con documentación y soporte comercial de pago. Muchos otros proveedores comerciales están trabajando en productos y compatibilidad con JCR. Alfresco es un sistema de gestión de contenidos de código abierto que proporciona una API JCR en su repositorio. GX lanzó la nueva versión comunitaria de su plataforma web de gestión de contenido empresarial (ECM) basada de forma nativa en Apache Jackrabbit y JSR.

TYPO3 ha iniciado adaptaciones de PHP, traduciendo la API de Java a PHP. Las interfaces PHPCR también son implementadas por Jackalope, una interfaz PHP que se comunica con el backend de Jackrabbit a través de la interfaz WebDAV, y Midgard, un repositorio de contenido en varios idiomas.

Contenido relacionado

Tabla de métodos virtuales

En programación informática, una tabla de métodos virtuales una tabla de funciones virtuales, una tabla de llamadas virtuales , tabla de despacho, vtable o...

ALGOL Y

ALGOL Y fue el nombre dado a un sucesor especulado del lenguaje de programación ALGOL 60 que incorporaba algunas características radicales que fueron...

Hacer bucle while

En muchos lenguajes de programación de computadoras, un bucle do while es una declaración de flujo de control que ejecuta un bloque de código y luego...

Datosflex

DataFlex es un lenguaje de programación de alto nivel orientado a objetos y una herramienta visual de cuarta generación para desarrollar aplicaciones de...

Filosofía de la inteligencia artificial

La filosofía de la inteligencia artificial es una rama de la filosofía de la tecnología. Esta se centra en investigar la inteligencia artificial y sus...
Más resultados...
Tamaño del texto:
Copiar