課程咨詢: 400-996-5531 / 投訴建議: 400-111-8989
認(rèn)真做教育 專心促就業(yè)
以下是一個(gè)專家的視角透視java數(shù)據(jù)對(duì)象(JDO)名字和當(dāng)前一些看法下的使用問(wèn)題以及帶來(lái)的更多的問(wèn)題。這不一定反映了O"Reilly & Associates的意見(jiàn)。
Exolab組織是一個(gè)開(kāi)發(fā)開(kāi)源企業(yè)級(jí)軟件的信息組織。許多年以前一個(gè)偶然的機(jī)會(huì),我碰到了Exolab ,當(dāng)時(shí)我正在尋找一款工具提供JAVA對(duì)象模型到XML數(shù)據(jù)映射的工具。當(dāng)時(shí)我想用對(duì)象數(shù)據(jù)管理組織(ODMG)的標(biāo)準(zhǔn)實(shí)現(xiàn)存儲(chǔ)JAVA對(duì)象。SUN最近宣布了一攬子計(jì)劃建立XML到JAVA對(duì)象映射的標(biāo)準(zhǔn);這個(gè)計(jì)劃發(fā)展成現(xiàn)在的JAXB標(biāo)準(zhǔn)。Exolab有一個(gè)叫Castor XML的產(chǎn)品 ,它提供了這種映射。Exolab的人員告訴我他們的實(shí)現(xiàn)跟SUN的標(biāo)準(zhǔn)非常相近,他們緊緊的跟蹤SUN的標(biāo)準(zhǔn)?,F(xiàn)在,我已經(jīng)發(fā)現(xiàn)出現(xiàn)了一個(gè)免費(fèi)的對(duì)SUN最新的XML到JAVA對(duì)象映射標(biāo)準(zhǔn)的實(shí)現(xiàn)。
Exolab 也有一個(gè)叫Castor 得工具,它提供了一個(gè)JAVA對(duì)象模型到關(guān)系數(shù)據(jù)庫(kù)的對(duì)象-關(guān)系映射。他們聲稱該工具支持對(duì)象數(shù)據(jù)管理組織(ODMG)的標(biāo)準(zhǔn),包括對(duì)ODMG查詢語(yǔ)言-QQL的實(shí)現(xiàn)。我曾經(jīng)做過(guò)ODMG的C++和JAVA編輯;我檢查過(guò)他們的實(shí)現(xiàn)并判定該實(shí)現(xiàn)并不符合ODMG的標(biāo)準(zhǔn)。然而他們一直在用ODMG 名字。
我曾想在一個(gè)符合ODMG的標(biāo)準(zhǔn)的商業(yè)產(chǎn)品中用他們的XML工具。Exolab團(tuán)隊(duì)提供了些支持,引導(dǎo)我們對(duì)他們的工具進(jìn)行些改進(jìn)市的它能夠在ODMG的產(chǎn)品上可以使用,但是 我們有幾個(gè)無(wú)法解決的問(wèn)題,后來(lái)我們決定不用他們的技術(shù)。
1999年組成的Java 數(shù)據(jù)對(duì)象 (JDO)專家組定義了一個(gè)在JSR(JAVA specification Request)-12下JAVA對(duì)象透明持久性模型的標(biāo)準(zhǔn)。在2002年3月的java社區(qū)組織(Java Community Process 簡(jiǎn)稱JCP)上JDO規(guī)范作為一個(gè)標(biāo)準(zhǔn)被分發(fā)。目前有10個(gè)公司提供JDO標(biāo)準(zhǔn)的商業(yè)實(shí)現(xiàn)。Apache公司的Jakarta 工程正在開(kāi)發(fā)一個(gè)開(kāi)源的JDO實(shí)現(xiàn)。JDOcentral 是一個(gè)致力于JDO標(biāo)準(zhǔn)發(fā)展的網(wǎng)站。
在專家組成立后不久,Exolab 開(kāi)始把他們的產(chǎn)品與JDO聯(lián)系起來(lái)。他們把他們產(chǎn)品的名字從Castor改成Castor JDO。在JDO專家發(fā)布他們的第一個(gè)草案時(shí),他們就在他們的產(chǎn)品上使用JDO的名字,而他們的產(chǎn)品并沒(méi)有實(shí)現(xiàn)JDO標(biāo)準(zhǔn)。他們也在他們的站點(diǎn)上用“JAVA數(shù)據(jù)對(duì)象”這個(gè)短語(yǔ)。
我已經(jīng)檢查了最新版的Castor JDO;它與JDO標(biāo)準(zhǔn)有很大的不同,他用Exolab的OQL 查詢語(yǔ)言實(shí)現(xiàn),這種查詢語(yǔ)言用了ODMG查詢語(yǔ)言的名字,而他不與ODMG的OQL兼容。JDO有它自己的查詢方法,叫JAVA對(duì)象查詢語(yǔ)言(JDOQL). JDOQL和OQL語(yǔ)言有很大的不同,他們提供了不同的性能??傊?,在Castor JDO 和 JDO 標(biāo)準(zhǔn)之間有很多根本的不同。
我是JDO專家組的初始成員之一,我確信Exolab 不是JDO專家組的成員。 Java Community Process 對(duì)于專家組成員的規(guī)則將使得Exolab當(dāng)他們用JDO的名字時(shí)他們無(wú)法得到規(guī)范,他們不能合法的聲稱他們的產(chǎn)品實(shí)現(xiàn)了JDO標(biāo)準(zhǔn)如果他們是專家組成員的話。
有人問(wèn)Exolab用JOD和Java Data Objects是否侵犯了SUN的商標(biāo)。根據(jù)SUN JDO規(guī)范的領(lǐng)導(dǎo)者拉塞爾.克雷格(Craig Russell)的說(shuō)法:“SUN沒(méi)有聲明任何關(guān)于縮寫(xiě)JDO的商標(biāo)權(quán)“。但是SUN聲明了JAVA的 商標(biāo)權(quán)。"Java Data Objects"這個(gè)名詞能夠、確實(shí)意味著一件事情:Sun"s JSR-12 規(guī)范。
Castor JDO是一個(gè)開(kāi)源的具有應(yīng)用程序編程接口的工具,但是它一直在用Java Data Objects 和 JDO的名字。它是一個(gè)單獨(dú)的商家Exolab提供的專用工具。與此相反的是Java Data Objects標(biāo)準(zhǔn)被Java Community Process 詳細(xì)說(shuō)明,被許多廠商支持。Exolab一直在用JDO, Java Data Objects, 和 OQL這些名字好象是為了得到ODMG 和JDO名字被承認(rèn)而進(jìn)行的投資。
不幸的是, Exolab對(duì)JDO名字的使用已經(jīng)造成了產(chǎn)業(yè)界的和多混淆。許多人錯(cuò)誤的認(rèn)為Castor JDO 支持JDO標(biāo)準(zhǔn)。我最近聽(tīng)說(shuō)幾個(gè)主要應(yīng)用服務(wù)器廠商的首席設(shè)計(jì)師做出了許多關(guān)于JDO的貶損之語(yǔ),我發(fā)現(xiàn)他們是指Castor。他們認(rèn)為Castor支持JCP制定的JDO標(biāo)準(zhǔn)。那些已經(jīng)實(shí)現(xiàn)了JDO標(biāo)準(zhǔn)的廠商不斷的遇到了市場(chǎng)的混淆。許多他們潛在的客戶錯(cuò)誤地認(rèn)為Castor JDO 支持JDO標(biāo)準(zhǔn)。
Castor JDO 并不支持JDO標(biāo)準(zhǔn)
現(xiàn)在在Exolab"s 站點(diǎn)上的文章聲明Castor JDO 與 JDO 標(biāo)準(zhǔn)截然不同,但是許多人并不知道這個(gè)。很明顯即使Castor JDO 并不支持JDO標(biāo)準(zhǔn),Exolab也用JDO這個(gè)名字贏得了客戶。盡管有幾個(gè)組織已經(jīng)要求他們改變他們產(chǎn)品的名字,但是他們?nèi)匀焕^續(xù)使用它。只是人們不會(huì)把它和 JCP的JSR12制定的Java Data Objects 標(biāo)準(zhǔn)相混淆。
如果你考慮使用Castor JDO 的產(chǎn)品,現(xiàn)在你知道了它并不支持JDO標(biāo)準(zhǔn)。你可以得到一個(gè)免費(fèi)對(duì)象關(guān)系映射工具,它具有私有的API。但是如果你想構(gòu)建你的應(yīng)用在JDO標(biāo)準(zhǔn)之上,你應(yīng)該考慮一個(gè)現(xiàn)在已有的商業(yè)實(shí)現(xiàn)。
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!
免費(fèi)
4578
免費(fèi)
4578
免費(fèi)
4578
免費(fèi)
4578
免費(fèi)
4578
免費(fèi)
4578
免費(fèi)
4578
免費(fèi)
4578