如何用JDO開發數據庫應用(2)
發表于:2007-07-14來源:作者:點擊數:
標簽:
如何用JDO 開發 數據庫 應用(2) · 1.3. JDO浮出水面,可別以為是ADO JDO自1999年起就由一些經常寫數據庫對象映射層的富有經驗的開發人員提出大綱,他們在長期的 面向對象 開發中進行了大量的數據庫方面的處理和對象化包裝,終于,多種多樣的包裝方式引起
如何用JDO
開發數據庫應用(2)
· 1.3. JDO浮出水面,可別以為是ADO
JDO自1999年起就由一些經常寫數據庫對象映射層的富有經驗的開發人員提出大綱,他們在長期的
面向對象開發中進行了大量的數據庫方面的處理和對象化包裝,終于,多種多樣的包裝方式引起很多
兼容性方面的問題。于是,一些主要的開發團隊就聯合起來,以SUN為領頭羊,制定了JDO規范。它的目標不是取代JDBC或EJB,而是在JDBC的基礎上進行包裝,同時又可以做EJB的底層(CMP),簡化J2EE
服務器提供商的工作。JDO主要面向中小型規模的項目,不過隨著產品提供商(Vendors)給出越來越多的功能(Feature),比如分布式的同步控制等等,JDO的作用也越來越大。
JDO規范在Sun的富有經驗的Craig Russel的帶領下,經過三年的討論,終于在2002年四月形成了第一版。目前最新版是1.0.1版,在 http://access1.sun.com/jdo/ ;可以看到。
(大家應該知道,Java的規范形成時間一般都比較長,因為它太開放了,任何人都可以發表意見,參與制定規范的人都要考慮這些意見)
ADO是微軟的數據訪問組件集合,相信很多寫過基于ASP頁面的數據庫應用的朋友都印象深刻,快速、容錯性強是它的特點,不過擴展性就不敢恭維,寫多少年都是那幾個東東,無法超越。一些剛接觸JDO的讀者可能會將JDO與ADO搞混起來,以為是Java版的ADO,那就大錯特錯了,兩者風馬牛不相及,可以說不是一個檔次上的東西。慶幸的是,微軟沒有將“xDO”這類縮寫注冊成商標或專利,否則兩個大塊頭又要打官司了,嘿嘿,我倒是喜歡看熱鬧,打起來同樣精彩!
· 1.4. JDO產品介紹
JDO規范自從2002年4月推出以來,出現了很多種各有特色的產品,當然,這些產品都遵循JDO規范,不會影響你寫的JDO應用的可移植性。下面列舉一下我對各個產品的印象:(參見第6節的參考文章:《JDO資源介紹》)
教父:LiDO(法國LibeLis公司)
我對JDO的認識主要是通過LiDO這個產品,它在2002年3月的一份圖文并茂的教程中簡要解說了JDO的使用和優點。LiDO的特色是大而全,支持文件型數據庫、RDBMS、ODBMS,甚至是XML數據庫。不過配置較麻煩。最新版本是2.0RC。
霸主:KodoJDO(美國SolarMetrics公司)
Kodo是JDO的中流砥柱之一,在JDO1.0還未最后通過的時候,它就是一個比較成熟的產品了,其特點是注重
性能和穩定性,目前最新版本是2.5.0,是客戶最多的產品。
最佳傳教士:JDOGenie(南非HemSphere公司)
這是目前我最推薦的產品,最新版本是1.4.7,性能也不錯,穩定性還有待驗證,但它有一個最大的特點:集成性好,最易學,其公司的CTO David Tinker也是一個善解人意的年輕人,采納了很多網友的意見對產品進行改進,主要是在配置上非常方便,有一個專門的圖形界面工具,可以進行配置、數據庫生成、對象查詢等等很實用的功能。強烈推薦!
大家閏秀:JRelay(德國ObjectIndustries公司)
這也是一個出現得比較早的產品,也有一個GUI工具用于配置,曾幾何時,這個工具還是相對很方便的,但一年多過去了,好象沒什么進展,最新版本是2.0,我試過一段時間,后來就沒有再跟進了。
兩面派:FrontierSuite for JDO (美國ObjectFrontier)
這個產品與JRelay、Kodo一起,可算是早期的JDO三劍客,稱它為兩面派是因為它正向開發和反向開發都還可以。它的特色是反向工程(從表結構生成數據類)比較方便,與
UML的結合也很強,不過真正運行起來的時候,配置復雜。當初該公司曾許諾我以10%的價格買一份,可惜我當時沒在意。如果上天再給我一次機會……
免費午餐:TJDO(一群跨國界的有志之士)
這是一個在Sun提供的參考產品(Reference Implementation)的基礎上加入一些擴展功能而形成的一個免費產品,目前最新版本是2.0beta3,不過進展也緩慢,這個版本已經出現好幾個月了沒有進一步的更新。
以上這些是我用過的比較有代表性的產品,還有很多商業產品,以及其它一些或規范或不完全規范的免費JDO產品(如XORM、OJB等),這里不再一一列舉,有興趣的讀者可以到 http://www.jdocentral.com/ ;去進一步了解。
· 2. JDOGenie是哪路英雄
前面已經提過,JDOGenie是南非的一個商業化產品,可別小看南非人,他們的收入可不少!當然技術也不錯。如果讀者做過UML的建模和設計,可能會知道Together Control Center這個產品,也就是最近被
Borland收購的一個
UML設計工具。JDOGenie的出品公司HemSphere就是Together的南非總代理和合作伙伴。
說到這里,插句題外話,IBM收購了
Rational,Borland收購了Together,Sun收購了DescribeUML,一場IDE+UML的大戰又將上演。
好,書歸正傳,JDOGenie是我目前最推薦的產品,原因是易學易用,簡單上手,對于想學習JDO的朋友是最適合不過的了!它有一個圖形界面的配置工具,可在里面進行數據表映射、
SQL操作、JDOQL查詢等等功能,非常方便。對采用JDOGenie的Web服務器也可以通過這個圖形工具進行監控,可以了解哪些查詢費時,哪些查詢執行次數多等等,有助于數據庫優化調節。
俗話說,百聞不如一見,下面先給幾張圖片,過把癮先:

控制臺界面(WorkBench):

(圖片較大 請放大后查看)
http://www.hemtech.co.za/jdo/download.html下載最新版本(本文使用的是1.4.7),然后點擊該頁面上的“Obtain Evaluation License”鏈接獲取一個月的試用License(一個月會不會太少了?放心,該公司在快到期時會發布一個新的License的)。在獲取試用License的時候需要填寫一些資料。
(未完待續)
原文轉自:http://www.anti-gravitydesign.com