Java용 콘텐츠 저장소 API
Content repository API for Java콘텐츠 저장소 API for Java(JCR)는 Java 플랫폼 Application Programming Interface(API; 응용 프로그램프로그래밍 인터페이스)가 콘텐츠 저장소에 균일하게 [1][failed verification]액세스하기 위한 사양입니다.콘텐츠 저장소는 콘텐츠 관리 시스템에서 콘텐츠 데이터 및 버전 메타데이터와 같은 콘텐츠 관리 시스템(CMS)에서 사용되는 메타데이터를 유지하기 위해 사용됩니다.이 사양은 Java Community Process에서 JSR-170(버전 [2][3]1) 및 JSR-283([4]버전 2)으로 개발되었습니다.주요 Java 패키지는javax.jcr.
개요
JCR은 계층 데이터를 저장, 검색 및 검색하기 위해 맞춤화된 객체 데이터베이스 유형입니다.JCR API는 관련 메타데이터와 함께 문서 및 기타 바이너리 객체를 저장해야 하는 콘텐츠 관리 시스템의 필요에 따라 개발되었습니다. 그러나 이 API는 많은 추가 유형의 애플리케이션에 적용할 수 있습니다.객체 스토리지 외에도 JCR은 데이터 버전 관리, 트랜잭션, 데이터 변경 관찰, XML로의 데이터 Import 또는 내보내기를 위한 API를 제공합니다.
data 구조
JCR의 데이터는 연관된 속성을 가진 노드의 트리로 구성됩니다.데이터는 속성에 저장되며, 여기에는 숫자 및 문자열과 같은 간단한 값이나 임의 길이의 이진 데이터가 포함될 수 있습니다.노드에는 속성 종류, 자녀 노드의 수 및 유형, 노드의 특정 동작 특성을 지시하는 하나 이상의 유형이 관련지어져 있을 수도 있습니다.노드는 특별한 참조 유형 속성을 통해 다른 노드를 가리킬 수 있습니다.이와 같이 JCR의 노드는 참조 무결성과 객체 지향 상속 개념을 모두 제공합니다.추가 노드 타입은 참조 가능한 노드 타입을 포함한다.이 노드 타입은 사용자가 보편적으로 고유한 식별자를 사용하여 해당 노드를 참조할 수 있도록 한다.또 다른 인기 있는 유형은 버전 가능한 유형입니다.이렇게 하면 저장소가 문서의 기록을 추적하고 문서의 각 버전에 대한 복사본을 저장합니다.
쿼리
JCR은 트리의 일부를 2개의 표준 포맷으로 XML로 내보낼 수 있으며 XML에서 직접 계층을 Import할 수 있습니다.JSR 283 준거 실장에서는 쿼리에 대한 표준화된 SQL 형식과 쿼리 오브젝트 모델 QOM을 지원해야 합니다.JSR 283은 JSR 170에서 정의된 XPath 쿼리 언어를 사용하지 않습니다.JCR의 Apache Jackrabbit 참조 구현은 또한 Apache Lucene 검색 엔진의 통합을 지원하여 저장소에 있는 데이터의 전체 텍스트 검색을 제공합니다.
사용 가능한 구현
두 JSR 모두 Adobe Systems(이전의 Day Software)의 David Nüscheler가 이끌고 있습니다.Day는 Content Repository Extreme(CRX)라고 불리는 상업용 JCR 구현과 오픈 소스 Apache Jackrabbit JCR에 [5][6]참여했으며, 2010년 1월에 2.0 릴리스가 있었습니다.ModeShape는[7] JSR-283을 지원하는 또 다른 오픈소스 JCR 구현입니다.Jahia, Hippo CMS 및 Magnolia는 JCR API를 기반으로 구축된 엔터프라이즈 콘텐츠 관리 시스템으로 기본적으로 Jackrabbit을 저장소로 사용하지만 기타 JSR-170 인증 저장소 구현에 연결할 수 있습니다.JSR-170은 Oracle의 엔터프라이즈 협업 소프트웨어인 Oracle Beehive에서도 지원됩니다.eXo JCR by eXo Platform은 유료 상용 지원과 문서를 제공하는 오픈 소스 저장소입니다.다른 많은 상업용 벤더가 JCR 호환성과 제품을 개발하고 있습니다.Alfresco는 JCR API를 저장소에 제공하는 오픈 소스 콘텐츠 관리 시스템입니다.GX는 Apache Jackrabbit 및 JSR를 기반으로 하는 웹 엔터프라이즈 콘텐츠 관리(ECM) 플랫폼의 새로운 커뮤니티 버전을 출시했습니다.
PHP 적응은 Java API를 [8][9]PHP로 변환하는 TYPO3에 의해 시작되었습니다.또한 PHPCR 인터페이스는 WebDAV 인터페이스를 통해 Jackrabbit 백엔드와 통신하는 PHP [10]프런트엔드인 Jackalope와 크로스 언어 콘텐츠 저장소인 Midgard에 [11]의해 구현됩니다.
「 」를 참조해 주세요.
- 다른 콘텐츠 저장소 API인 콘텐츠 관리 상호 운용성 서비스(CMIS)
레퍼런스
- ^ XML 레지스트리를 위한 Java API - 레지스트리와 저장소를 위한 또 다른 Java API
- ^ JSR-170
- ^ "JSR-170 (HTML version of the specification)". Archived from the original on 2009-06-08. Retrieved 2009-02-17.
- ^ JSR-283
- ^ Apache Jackrabbit 홈페이지
- ^ JCR은 JCR을 기반으로 기사 및 애플리케이션에 링크합니다.
- ^ http://modeshape.org
- ^ phpCR
- ^ github 위의 phpcr
- ^ Jackalope: PHP용 JCR
- ^ Bergius, Henri (2011-12-23). "Midgard2 PHPCR provider hits 1.0".