Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Обзор [ править ]

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, [5] [6], выпуск 2.0 которого был выпущен в январе 2010 года. ModeShape [7] - еще одна реализация 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 выпустила новую версию платформы управления корпоративным веб- контентом (ECM) для сообщества, основанную на Apache Jackrabbit и JSR.

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

См. Также [ править ]

  • Службы взаимодействия управления контентом (CMIS), еще один API репозитория контента

Ссылки [ править ]

  1. ^ Java API для реестров XML - еще один Java API для реестров и репозиториев
  2. ^ JSR-170
  3. ^ «JSR-170 (HTML-версия спецификации)» . Архивировано из оригинала на 2009-06-08 . Проверено 17 февраля 2009 .
  4. ^ JSR-283
  5. ^ Домашняя страница Apache Jackrabbit
  6. ^ JCR ссылки на статьи и приложения, основанные на JCR.
  7. ^ http://modeshape.org
  8. ^ phpCR
  9. ^ phpcr на github
  10. ^ Jackalope: JCR для PHP
  11. ^ Бергиус, Анри (2011-12-23). «Поставщик Midgard2 PHPCR достигает 1.0» .