다른 옵션보다 JCR (콘텐츠 저장소)을 언제 사용해야합니까?
Jackrabbit 및 ModeShape 와 같은 콘텐츠 저장소 ( JSR283 ) 를 평가하려고 하지만 처음에 어떤 문제가 해결되는지, 그리고 그것이 프로젝트에 좋은 선택이라고해도 이해가 안된다고 고백해야합니다. 어떤 사례가 적용하기에 가장 좋은 솔루션이라고 생각하십니까? 크기를 제외하고 관계형 데이터베이스와 동일하지 않습니까? 왜? 실제 사례를 가리키는 추가 포인트.
미리 감사드립니다.
JCR 저장소는 다음과 같이 JCR 저장소가 RDBMS와 다릅니다.
- 계층 적이므로 사용자의 요구와 밀접하게 일치하는 구조로 콘텐츠를 구성 할 수 있으며 관련 정보가 종종 서로 가까이 저장되어 쉽게 탐색 할 수 있습니다.
- 유연하며, 완전히 "스키마가없는"노드 유형 시스템을 사용하여 완전히 제한적일 수있는 (예 : 관계형 데이터베이스와 같은) 노드 유형 시스템을 사용하여 콘텐츠를 조정하고 발전시킬 수 있습니다.
- 표준 Java API (예 : javax.jcr)를 사용합니다.
- 정보가 실제로 저장되는 추상화 : 많은 JCR 구현은 다양한 관계형 데이터베이스 및 기타 저장소에 콘텐츠를 저장할 수 있으며, 일부는 JCR API를 통해 비 JCR 저장소를 노출 할 수 있으며, 일부는 여러 저장소를 단일 가상 저장소로 연합 할 수 있습니다.
- 즉시 쿼리 및 전체 텍스트 검색 지원
- 이벤트, 잠금, 버전 관리 및 기타 기능 지원
확실히 자신의 애플리케이션에서 이러한 기능의 전부 또는 일부를 빌드 할 수 있지만 이는 앱의 주요 목적에서 멀어 질 수 있습니다.
이러한 기능을 통해 어떤 종류의 응용 프로그램을 활용할 수 있습니까? 콘텐츠 관리 시스템은 오랫동안 리포지토리를 사용해 왔으며 JCR (및 Jackrabbit)은 실제로 다른 콘텐츠 리포지토리에 액세스하기위한 공통 표준 API의 필요성에서 성장했습니다 ( JSR-170 및 JSR-283 참조 ).
또 다른 예는 전자 파일 (종종 종이 문서의 이미지)을 관리하고 검색 및 쿼리를 제공하는 문서 관리 시스템입니다. DMS는 한동안 저장소를 사용했습니다.
아티팩트 관리 시스템은 리포지토리를 사용하여 추가 정보 (메타 데이터)와 함께 디지털 아티팩트 (종종 파일)를 관리 할 수 있습니다. JCR은 파일과 동일한 위치에 메타 데이터를 저장할 수 있기 때문에 여기에서 훌륭하게 작동합니다. 이러한 추가 속성을 이해하는 사람은 볼 수 있고 신경 쓰지 않는 사람은 볼 필요가 없습니다. Artifactory 가 JCR을 사용하는 Maven 저장소 구현이라는 것을 알고 있습니다. 웹 서비스 아티팩트, 데이터 서비스 아티팩트 및 테스트 아티팩트를 관리하기위한 저장소도 있습니다.
그러나 JCR 저장소는 파일 관리를위한 것이 아닙니다. JCR은 노드 계층 구조에 대한 간단한 개념을 사용합니다. 여기서 노드는 명명 된 속성 (하나 또는 여러 값 포함) 및 자식을 포함 할 수 있습니다. 허용되는 속성과 자식 노드는 전적으로 노드 유형에 의해 결정되며, 노드별로 필요에 따라 변경 및 혼합 할 수 있습니다. JCR은 저장소의 파일 및 폴더를 나타내는 데 사용되는 것과 같이 일반적으로 필요한 일부 기본 제공 노드 유형을 미리 정의합니다. 이러한 내장 유형을 재사용하거나 확장하거나 직접 작성할 수 있습니다. 많은 사람들이 믹스 인을 거의 패싯 또는 측면으로 사용하도록 옹호하므로 노드가 패싯을 취해야하는 경우 단순히 믹스 인을 노드에 추가 할 수 있습니다.
JCR은 각 요소가 노드에 매핑되고 각 속성이 속성에 매핑되는 저장소로 XML 콘텐츠 가져 오기를 쉽게 지원하도록 설계되었습니다. 그리고 많은 것들이 XML (또는 YAML 또는 JSON)을 사용하여 표현되며,이 모든 것이 쉽게 표현되고 JCR 저장소에 저장 될 수 있습니다. 예를 들어, 구성 정보 (일반적으로 여러 XML 파일에 저장 될 수 있음)를 저장하는 JCR 저장소를 고려하십시오. JCR은 해당 정보를 버전 화하고, 여러 프로세스에서 액세스를 허용하고, 쿼리 및 검색을 활성화하고, 컨텐츠가 변경 될 때 애플리케이션에 알릴 수 있습니다.
JCR에 대한 자세한 개요와 예제가 몇 가지 있습니다. 그 중 몇 가지는 다음과 같습니다.
Titus Barik 의 Java Content Repository API 소개(더 이상 사용할 수 없음)- David Nuescheler의 JCR 소개
- Jukka Zitting의 JCR 및 Apache Jackrabbit 소개
- Randall Hauch 의 ModeShape 개요
- Java Content Repository : Bertrand Delacretaz 의 두 가지 장점
참고 URL : https://stackoverflow.com/questions/3908584/when-to-use-jcr-content-repository-over-other-options
'program story' 카테고리의 다른 글
| Android에서 겹치는 뷰 (0) | 2020.10.22 |
|---|---|
| Android View.GONE 가시성 모드에 해당하는 iOS (0) | 2020.10.22 |
| 스칼라에서 의존성 주입을 어떻게할까요? (0) | 2020.10.22 |
| SQLite 데이터베이스 파일 또는 덤프의 예를 어디서 찾을 수 있습니까? (0) | 2020.10.22 |
| android sdk 관리자의 인텔 x86 아톰 시스템 이미지는 무엇입니까? (0) | 2020.10.22 |