Apache Jackrabbit是基於java內容倉庫倉庫JSR170、JSR283的完全實現,支持存儲結構化和非結構化內容。具有全文索引、版本管理、事務、鎖、事件監聽、訪問控制等特性。
Jackrabbit是Java內容倉庫(Java Content Repository)實現。不準確地說是一種既可存儲文本又可存儲二進制數據(圖片,word文檔,PDF等等)的文檔資料庫。到目前為止最新穩定版本是2.11.1,從1.x到2.x版本增加了很多高級特性,比如鎖,事務等。1.x是基於JSR170的實現,2.x是基於JSR283的實現。jackrabbit oak是jackrabbit的下一代產品,其致力於大規模高性能的內容倉庫以便滿足當代世界級站點需求。
Jackrabbit是Apache基金會的頂級項目之一。
基本介紹
- 軟體名稱:Apache Jackrabbit
- 軟體平台:Apache
- 軟體版本:2.11.1
- 軟體語言:JAVA
存儲模型,組件,與JCR的關係,
存儲模型
內容倉庫有很多工作區(workspace)組成,每個工作區是一顆樹。如左圖,樹是由節點(node)和屬性(property)組成,其中屬性隸屬節點,屬性可以存儲字元串、整形、布爾型、二進制等信息。每個工作區只有一個根節點(root),除了跟節點,其它節點都有一個父節點。
組件
主要組件如下:
- Jackrabbit API
- Jackrabbit JCR Commons
- Jackrabbit JCR Tests
- Jackrabbit Core
- Jackrabbit Text Extractors(replaced byTikain Jackrabbit 2.x)
- Jackrabbit JCR-RMI
- Jackrabbit WebDAV Library
- Jackrabbit JCR Client
- Jackrabbit JCR to DAV
- Jackrabbit JCR Server
- Jackrabbit JCR Servlet
- Jackrabbit Web Application
- Jackrabbit JCA Resource Adapter
- Jackrabbit SPI
- Jackrabbit SPI Commons
- Jackrabbit JCR to SPI
- Jackrabbit SPI to JCR
- Jackrabbit SPI to DAV
- Jackrabbit Standalone Server
- Jackrabbit OCM(Jackrabbit commonscomponent since Jackrabbit 1.6)
- Jackrabbit OCM Node Management(Jackrabbit commonscomponent since Jackrabbit 1.6)
其中Jackrabbit Core是核心組件,開發必需的包。
與JCR的關係
JCR全拼Java content repository,中文名為java內容倉庫。隨著內容管理應用程式的日益普及,對用於內容倉庫的普通、標準化 API 的需求已凸現出來。Content Repository for Java Technology API (JSR-170、JSR-283) 的目標就是提供這樣一個接口。JCR 的一個主要優點是,它不綁定到任何特定的底層架構。例如,JCR 實現的後端數據存儲可以是檔案系統、WebDAV 倉庫、支持 XML 的系統,甚至還可以是 SQL 資料庫。此外,JCR 的導出和導入功能允許一個集成器在內容後端與 JCR 實現之間無縫地切換。