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