?? JSR-170 (Java Content Repository (JCR)Java內容倉庫包)
1、什么是Content Repository ?
?? 可以把Content Repository 看作是一個通用的數據存儲程序,可以用于存儲txt和其他二進制文件(圖片、Word、PDF等)。
?? Content Repository 的一個關鍵特性是,你不必關心數據是如何存放的(無論數據存放在數據庫、文件系統還是XML文件)。
?? Content Repository 可以對文件進行訪問控制、查詢、版本控制、鎖定等。
2、JSR-170的目標:
?? 通過javax.jcr.* 中的類和接口可以訪問所有兼容JSR-170的 Content Repository。
實現了內容服務的一些功能如基于編輯者的版本控制、完全文本搜索、訪問控制、內容分類和內容事件監控。可以把JSR-170看作是一個訪問內容倉庫的類似JDBC的API。
?? 如果一些廠家的內容倉庫不支持JSR-170則可以通過這些廠家提供的JSR-170驅動來完成從JSR-170與廠家特定的內容倉庫的轉換。
?? 內容倉庫的數據存儲方式可以是數據庫或者文件系統或者是二者的混合。
??
3、JSR-170具有如下優點:
●對于開發者無需了解廠家的倉庫特定的API,只要兼容JSR-170就可以通過JSR-170訪問其倉庫。
●對于使用CMS的公司則無需花費資金用于在不同種類CMS的內容倉庫之間進行轉換。
●對于CMS廠家,無需自己開發內容倉庫,而專注于開發CMS應用。
4、JSR-170內容倉庫模型:
JSR-170聲稱內容倉庫是由一些workspace組成的,每個工作空間應該存放相似的數據,每個工作空間包含一個樹根節點,下面是一些items,每個item是一個node或者property,每個node下面包含一個或多個child node和一個或者多個property,property不能有子節點,它們是葉子節點,內容倉庫中真正的值存放在property中。
5、為了使廠家更容易的實現JSR-170,JSR-170提供了三種承諾級別:
Level 1:定義了一個只讀的內容倉庫。
Level 2:定義了可寫的內容倉庫。
Advanced options:定義實現五種附加功能,版本控制、JTA、SQL查詢、清晰的內容鎖定和監視。
引自:http://blogger.org.cn/blog/more.asp?name=lylhelin&id=20455