學(xué)習(xí)筆記

          Simple is beautiful.

          導(dǎo)航

          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計(jì)

          公告

          ...

          常用鏈接

          留言簿(1)

          隨筆分類(2)

          隨筆檔案(56)

          Weblog

          搜索

          最新評(píng)論

          評(píng)論排行榜

          什么是JAVA內(nèi)容倉(cāng)庫(kù)(Java Content Repository)(1)


          原文地址:http://www.onjava.com/pub/a/onjava/2006/10/04/what-is-java-content-repository.html?page=4
          JSR-170把自己定義為一個(gè)能與內(nèi)容倉(cāng)庫(kù)互相訪問(wèn)的,獨(dú)立的,標(biāo)準(zhǔn)的方式。同時(shí)它也對(duì)內(nèi)容倉(cāng)庫(kù)做出了自己的定義,它認(rèn)為內(nèi)容倉(cāng)庫(kù)是一個(gè)高級(jí)的信息管理系統(tǒng),該系統(tǒng)是是傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)的擴(kuò)展,它提供了諸如版本控制、全文檢索,訪問(wèn)控制,內(nèi)容分類、訪問(wèn)控制、內(nèi)容事件監(jiān)視等內(nèi)容服務(wù)。

          Java Content Repository? API(JSR-170)試圖建立一套標(biāo)準(zhǔn)的API去訪問(wèn)內(nèi)容倉(cāng)庫(kù)。如果你對(duì)內(nèi)容管理系統(tǒng)(CMS)不熟悉的話,你一定會(huì)對(duì)內(nèi)容倉(cāng)庫(kù)是什么感到疑惑。你可以這樣去理解,把內(nèi)容倉(cāng)庫(kù)理解為一個(gè)用來(lái)存儲(chǔ)文本和二進(jìn)制數(shù)據(jù)(圖片,word文檔,PDF等等)的數(shù)據(jù)存儲(chǔ)應(yīng)用程序。一個(gè)顯著的特點(diǎn)是你不用關(guān)心你真正的數(shù)據(jù)到底存儲(chǔ)在什么地方,是關(guān)系數(shù)據(jù)庫(kù)?是文件系統(tǒng)?還是XML?不僅僅是數(shù)據(jù)的存儲(chǔ)和讀取,大多數(shù)的內(nèi)容倉(cāng)庫(kù)還提供了更加高級(jí)的功能,例如訪問(wèn)控制,查找,版本控制,鎖定內(nèi)容等等。

          一段時(shí)間以來(lái)市場(chǎng)上出現(xiàn)了各個(gè)廠家開發(fā)的不同的CMS系統(tǒng),這些系統(tǒng)都建立在他們各自的內(nèi)容倉(cāng)庫(kù)之上。
          問(wèn)題出現(xiàn)了,每個(gè)CMS開發(fā)商都提供了他們自己的API來(lái)訪問(wèn)內(nèi)容倉(cāng)庫(kù)。這對(duì)應(yīng)用程序的開發(fā)者帶來(lái)了困擾,因?yàn)樗麄円獙W(xué)習(xí)不同的開發(fā)商提供的API,同時(shí),他們的代碼也與這些特定的API產(chǎn)生了綁定。

          JSR-170正是為解決這一問(wèn)題而出現(xiàn)的,它提供了一套標(biāo)準(zhǔn)的API來(lái)訪問(wèn)任何數(shù)據(jù)倉(cāng)庫(kù)。通過(guò)JSR-170,你開發(fā)代碼只需要引用 javax.jcr.* 這些類和接口。它適用于任何兼容JSR-170規(guī)范的內(nèi)容倉(cāng)庫(kù)。

          我們將通過(guò)一個(gè)例子來(lái)逐步了解JSR-170。

          為什么需要 Java Content Repository API

          隨著各個(gè)廠家各自的內(nèi)容倉(cāng)庫(kù)實(shí)現(xiàn)數(shù)量的增長(zhǎng),人們?cè)絹?lái)越需要一組通用的編程接口來(lái)使用這些內(nèi)容倉(cāng)庫(kù),這就是JSR-170所要做的東西。它提供一組通用的編程接口來(lái)連接內(nèi)容倉(cāng)庫(kù)。你可以把JSR-170理解為和JDBC類似的API,這樣你可以不依賴任何具體的內(nèi)容倉(cāng)庫(kù)實(shí)現(xiàn)來(lái)開發(fā)你的程序。你可以直接使用支持JSR-170的內(nèi)容倉(cāng)庫(kù);或者如果一些廠家的內(nèi)容倉(cāng)庫(kù)不支持JSR-170則可以通過(guò)這些廠家提供的JSR-170驅(qū)動(dòng)來(lái)完成從JSR-170與廠家特定的內(nèi)容倉(cāng)庫(kù)的轉(zhuǎn)換。

          下面這張圖描述了使用JSR-170開發(fā)的應(yīng)用系統(tǒng)的結(jié)構(gòu)。在該系統(tǒng)運(yùn)行的時(shí)候,它可以操作內(nèi)容倉(cāng)庫(kù)1,2,3中的任意一個(gè)。在這些內(nèi)容倉(cāng)庫(kù)當(dāng)中,只有2是直接支持JSR-170的,剩下的兩個(gè)都需要JSR-170驅(qū)動(dòng)來(lái)和應(yīng)用系統(tǒng)交互。注意:你的應(yīng)用系統(tǒng)完全不用關(guān)心你的數(shù)據(jù)是如何存儲(chǔ)的。1可能使用了關(guān)系數(shù)據(jù)庫(kù)來(lái)存儲(chǔ),而2使用了文件系統(tǒng),至于上,它甚至更前衛(wèi)的使用了XML。

          repositorymodel1.gif

          JSR-170 API對(duì)不同的人員提供了不同的好處。

          ●對(duì)于開發(fā)者無(wú)需了解廠家的倉(cāng)庫(kù)特定的API,只要兼容JSR-170就可以通過(guò)JSR-170訪問(wèn)其倉(cāng)庫(kù)。
          ●對(duì)于使用CMS的公司則無(wú)需花費(fèi)資金用于在不同種類CMS的內(nèi)容倉(cāng)庫(kù)之間進(jìn)行轉(zhuǎn)換。
          ●對(duì)于CMS廠家,無(wú)需自己開發(fā)內(nèi)容倉(cāng)庫(kù),而專注于開發(fā)CMS應(yīng)用。

          posted on 2007-03-19 00:56 Ecko 閱讀(296) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 湖南省| 泾源县| 常德市| 惠安县| 天峨县| 内乡县| 长海县| 临沧市| 潮安县| 娄烦县| 西华县| 习水县| 吴桥县| 东平县| 天等县| 赫章县| 于田县| 原平市| 交口县| 临江市| 武安市| 新民市| 昌黎县| 德昌县| 嘉祥县| 高阳县| 井陉县| 田阳县| 玛曲县| 海原县| 汉川市| 徐汇区| 黔南| 纳雍县| 南京市| 四会市| 怀安县| 奉化市| 浦县| 阿拉尔市| 青阳县|