API репозитория содержимого для Java

редактировать

Content Repository API для Java (JCR ) - это спецификация для приложения Java platform программный интерфейс (API) для единообразного доступа к репозиториям контента. Репозитории контента используются в системах управления контентом для хранения данных контента, а также метаданных, используемых в системах управления контентом (CMS), таких как метаданные управления версиями. Спецификация была разработана в рамках процесса сообщества Java как JSR-170 (версия 1) и как JSR-283 (версия 2). Основной пакет Java - это javax.jcr.

Содержание
  • 1 Обзор
  • 2 Структура данных
  • 3 Запросы
  • 4 Доступные реализации
  • 5 См. Также
  • 6 Ссылки
Обзор

JCR - это тип объектной базы данных, предназначенный для хранения, поиска и извлечения иерархических данных. JCR API вырос из потребностей систем управления контентом, которые требуют хранения документов и других двоичных объектов со связанными метаданными; однако API применим ко многим дополнительным типам приложений. В дополнение к хранилищу объектов JCR предоставляет: API-интерфейсы для управления версиями данных; транзакции ; наблюдение за изменениями данных; и импортировать или экспортировать данные в XML стандартным способом.

Структура данных

Данные в JCR состоят из дерева узлов со связанными свойствами. Данные хранятся в свойствах, которые могут содержать простые значения, такие как числа и строки, или двоичные данные произвольной длины. Узлы могут необязательно иметь один или несколько типов, связанных с ними, которые диктуют виды свойств, количество и тип дочерних узлов, а также определенные поведенческие характеристики узлов. Узлы могут указывать на другие узлы через специальное свойство ссылочного типа. Таким образом, узлы в JCR предлагают как ссылочную целостность, так и объектно-ориентированную концепцию наследования. Дополнительные типы узлов включают в себя тип ссылочного узла, который позволяет пользователю ссылаться на указанный узел с помощью универсального уникального идентификатора. Другой популярный тип - это версионный тип. Это позволяет репозиторию отслеживать историю документа и хранить копии каждой версии документа.

Запросы

JCR может экспортировать части своего дерева в XML в двух стандартных форматах и ​​может импортировать иерархии непосредственно из XML. Реализации, совместимые с JSR 283, должны поддерживать стандартизированную форму SQL для запросов и объектную модель запроса QOM. JSR 283 не поддерживает язык запросов XPath, определенный в JSR 170. Эталонная реализация JCR Apache Jackrabbit также поддерживает интеграцию поисковой машины Apache Lucene для обеспечения полной текстовый поиск данных в репозитории.

Доступные реализации

Обе JSR возглавляет Adobe Systems (ранее Day Software ). У Дэй была как коммерческая реализация JCR под названием Content Repository Extreme (CRX), так и работа с открытым исходным кодом Apache Jackrabbit JCR, версия 2.0 которой вышла в январе 2010 года. ModeShape - еще одна реализация JCR с открытым исходным кодом, поддерживающая JSR. -283. Jahia, Hippo CMS и Magnolia - это системы управления корпоративным контентом, построенные на JCR API, использующие Jackrabbit в качестве своего репозитория по умолчанию, но способные подключать любые другие Реализация репозитория, сертифицированного JSR-170. JSR-170 также поддерживается Oracle Beehive, программным обеспечением Oracle для корпоративной совместной работы. EXo JCR от eXo Platform - это репозиторий с открытым исходным кодом с платной коммерческой поддержкой и документацией. Многие другие коммерческие поставщики работают над совместимостью JCR и продуктами. Alfresco - это система управления контентом с открытым исходным кодом, которая предоставляет JCR API для своего репозитория. GX выпустила новую платформу Web управления корпоративным контентом (ECM), изначально основанную на Apache Jackrabbit и JSR.

Адаптация PHP была начата TYPO3, переводя Java API в PHP. Интерфейсы также реализуются Jackalope, интерфейсом PHP, взаимодействующим с серверной частью Jackrabbit через интерфейс WebDAV, и Midgard, хранилищем межъязыкового контента.

См. Также
Ссылки
Последняя правка сделана 2021-05-15 10:51:36
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте