中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 網(wǎng)絡編程 > 數(shù)據(jù)庫: JDO 能給我們帶來什么
開發(fā)人員需要知道的東西雜談 回到列表 Coldfusion:使用j2ee的session
 數(shù)據(jù)庫: JDO 能給我們帶來什么

作者:sun2bin 時間: 2003-06-30 文檔類型:原創(chuàng) 來自:CSDN

  JDO規(guī)范的出臺,給了傳統(tǒng)的數(shù)據(jù)庫應用,尤其是WEB方式的數(shù)據(jù)庫應用一個新的機會,就是采用透明的中間件存儲技術,減少傳統(tǒng)開發(fā)的繁瑣工作,提高開發(fā)和維護的效率,使我們能夠應對新的互聯(lián)網(wǎng)時代的日益迅速的需求變化。
從開發(fā)的角度來看,我們進行J2EE標準的Web應用開發(fā)時,如果涉及到數(shù)據(jù)庫,一般具有一定經(jīng)驗的開發(fā)團隊都不會采用JSP+JDBC的方式直接進行數(shù)據(jù)庫操作,那樣做一方面工程浩大,代碼冗長,另一方面不易維護,危險性更大。一個簡單的類似下面的語句:
resultSet = preparedStatement.execute();
...
preparedStatement = connection.prepareStatement(...);
  看上去沒什么問題,但運行過程中會漸漸導致服務器死機,因為第二條語句前面少了一句 preparedStatement.close(),這樣導致一些非JVM分配的內(nèi)存永遠無法回收(因為不歸Java的垃圾回收機制管)。這種問題就對不是非常精通JDBC的程序員來說,是非常容易犯的,最重要的是,發(fā)生這種問題后,要查出其中的問題來,在代碼量較大的情況下,你會發(fā)現(xiàn)這比聯(lián)合國在伊拉克的核查工作復雜得多。
因此,有經(jīng)驗的開發(fā)團隊會采用一些JavaBean來包裝數(shù)據(jù)對象,這也是面向?qū)ο箝_發(fā)方式的需要。然而,就算是這種采用ValueObject來包裝數(shù)據(jù)庫數(shù)據(jù)的方式,依然存在以上的風險。
  這只是問題的一方面,在應用開發(fā)需求越來越多的情況下,傳統(tǒng)的開發(fā)方式的效率和可維護性已經(jīng)跟不上需要。很多公司對此只有兩種解決方案:一是擴充招人,但這樣涉及到開發(fā)水平和培訓方面的成本問題;二是推遲或取消一些相對次要的開發(fā)任務,不過這樣只會拖慢企業(yè)的發(fā)展。
  就是在這樣的情況下,在國際上一些在這方面比較有經(jīng)驗的企業(yè)(如Sun,IBM等)才聯(lián)合起來制定了JDO規(guī)范,以求讓開發(fā)人員擺脫這方面的風險,從復雜而繁瑣并且重復性很大的工作中解脫出來,以全新的完全面向?qū)ο蟮母拍詈蜆I(yè)務意識來指導開發(fā)。JDO規(guī)范相對EJB來說,實現(xiàn)簡單而性能出眾,可大大節(jié)約公司的開發(fā)成本,因此得到很多公司的擁戴,盡管JDO1.0規(guī)范才公布不到一年,實現(xiàn)JDO規(guī)范的產(chǎn)品卻如雨后春筍一般冒出來,比如美國(Kodo, FrontierSuite, FastObjects, etc.)、法國(Libelis LiDO)、南非(JDOGenie)、德國(JRelay)等廠商都有比較不錯的產(chǎn)品(從中我們可以看出Java是一個比較開放、比較國際化的東西),另外,除了這些商業(yè)產(chǎn)品之外,還有一些見義勇為的壯士組成一些團隊提供免費產(chǎn)品(Implementation),比如TJDO,Xorm,OJB等等。
下面我們就來看看JDO到底能給我們帶來什么。


1、節(jié)約開發(fā)成本和時間。
  使用JDO,據(jù)對目前采用JDO的一些公司的統(tǒng)計,在開發(fā)中大概節(jié)約30%代碼量,在維護中大概節(jié)約60%的工作。盡管這些數(shù)據(jù)來自JDO產(chǎn)品提供商,但從用戶的角度來看,我認為這個數(shù)字并不過分。因為傳統(tǒng)的開發(fā)方式代碼量很大,導致開發(fā)人員多,開發(fā)時間長,人一多,相互的協(xié)調(diào)和溝通難度就大,開發(fā)時間長,開發(fā)人員的記憶力有限,前后代碼的連貫性一致性也會受到影響。而采用JDO后,開發(fā)人員需要寫的代碼,主要是對數(shù)據(jù)層的包裝部分,將大大減少,應用中的代碼將主要集中在業(yè)務邏輯的處理上。俗話說,做得多,錯得多,做得少,錯得少。雖然有點消極,但也說明這個事實。當我們的手工代碼變少后,出錯的機率就會小很多,就算出錯,也很容易查出來。當這些目標達到后,對JDO的一次性投入(比如購買JDO產(chǎn)品及相關培訓),比起傳統(tǒng)的開發(fā)開銷來,就會顯得微不足道。人力成本方面更是,原來三個人的工作,現(xiàn)在可以兩個人做(因為工作量減少了),這就節(jié)省了一個人力的成本。


2、提高應用性能,尤其是Web應用。
  JDO廠商們都在利用多年的經(jīng)驗對底層數(shù)據(jù)庫操作進行了大量的優(yōu)化,而這些優(yōu)化,一般的程序員由于經(jīng)驗和復雜性,都比較難做到,比如分布式緩沖、JDBC2.0和JDBC3.0中的一些面向性能優(yōu)化的高級處理等等。因此,我們使用JDO產(chǎn)品的話,就可以利用這些由廠商提供的優(yōu)化來提高服務器的性能。一般的廠商都會提供很多性能調(diào)節(jié)的參數(shù),以針對不同的具體情況。


3、更靈活的業(yè)務邏輯。
  由于JDO解放了開發(fā)人員在數(shù)據(jù)底層的工作,他們可以集中精力考慮業(yè)務邏輯方面的事務,與需求方也更容易溝通,不會象原先一樣,凡聽到一個新的需求或變更時心里首先想到的是要加多少數(shù)據(jù)表,外鍵如何關聯(lián),越想越復雜,最終拒絕需求。采用JDO后,開發(fā)人員可以更快地實現(xiàn)業(yè)務邏輯,即使是做試驗,也更加方便快捷,比如想對需求方提出兩種不同的實現(xiàn)方案供效果比較,做起示范程序來就能迅速完成,而傳統(tǒng)方式中能在同樣的時間內(nèi)完成一種就已經(jīng)很不錯了。當開發(fā)人員可以與需求方更好地溝通后,能更準確地理解需求,并且往往能提出比較專業(yè)的意見以改善業(yè)務邏輯,這樣,對雙方都能有更好的鍛煉。


4、有利于開發(fā)團隊的穩(wěn)定。
  這里所說的穩(wěn)定并不是說人員都比較固定,而是說開發(fā)中的角色比較固定,工作定位比較固定。比如關心性能的人負責映射層,他需要了解所采用的JDO產(chǎn)品的具體實現(xiàn),以及如何將業(yè)務模型有效地映射到數(shù)據(jù)庫上,而關心代碼的人不用考慮這些細節(jié),只需要在面向?qū)ο蟮臄?shù)據(jù)模型(一般是一個或復雜或簡單的實體類圖)的基礎上進行業(yè)務邏輯的實現(xiàn)。各有各的責任,分工更明確,整體工作效率得到大大提高。也就是說,采用JDO技術后,項目開發(fā)中更容易實現(xiàn)任務的縱向劃分,不同類型的任務由不同的人做。而傳統(tǒng)的方式中,項目一般只能實現(xiàn)橫向的分工,一人做一塊,每一塊都是從界面到JavaBean再到數(shù)據(jù)庫全包,如果縱向劃分的話,因為任務之間難以確定接口規(guī)范,導致大家互相抱怨,從情緒上已經(jīng)影響了開發(fā)的進展,這就是為什么很多項目一開始都設想得很好,而具體做的時候會互相牽連,導致“無工不拖”的局面。JDO技術,由于是一種比較實際可行的規(guī)范,便項目管理者能更好地分配工作任務,相互之間更容易“劃清界限”。這樣的方式下,項目開發(fā)就不易受人員流動的影響,因為:第一,如果走掉一名開發(fā)人員,只要補充一個人,或者將其工作分配到另一人身上,讓他明確責任,對其它開發(fā)人員的影響并不大,不象以前“走一人癱一塊”;第二,如果工作量大了,需要新加入開發(fā)人員,對其的進入工作狀態(tài)的培訓比以前簡單,因為越來越多的人會熟悉并精通JDO規(guī)范,就象會Java一樣,有了這個基礎,只要了解一下業(yè)務邏輯就可以進行開發(fā)了,這也是規(guī)范化的好處。就象很多外資企業(yè)一樣,大家都是螺絲釘,人員流動性雖然大,但公司的發(fā)展卻很穩(wěn)定。


5、提供更多的個人發(fā)展機會。
  對開發(fā)人員來說,長年累月一成不變而又低效的工作方式是最大的殺手,是在扼殺自己的生命。采用JDO技術后,他們會看到原來開發(fā)可以如此容易,原來還有更多的業(yè)務邏輯方面的東西值得自己關注和投入精力。開發(fā)人員的思維會從底層的代碼轉(zhuǎn)移到高級的業(yè)務處理上來,因為自己的開發(fā)方式已經(jīng)有規(guī)范化的質(zhì)的提升。我估計,以后會出現(xiàn)JDO認證之類的概念,在萬一的情況下的求職將會更加容易。畢竟一種規(guī)范帶來的東西往往是多方面的改善。當開發(fā)人員更多地思考業(yè)務方面的問題后,對需求方的業(yè)務流程往往會有更規(guī)范的意見,從而引起雙方的良性循環(huán)。以住的開發(fā)人員,常常會想為什么很多大公司的老板都不是做開發(fā)而是做業(yè)務的,以后自己的出路在哪里。其實,開發(fā)人員完全可以在開發(fā)過程中了解業(yè)務方面的內(nèi)容,對自己以后的發(fā)展也有好處,并且,思維將會更加嚴謹,原則性更強。

  以上只是JDO所能帶來的比較明顯的幾個好處,實際上還有更多的好處等待我們在使用中去發(fā)掘,去研究。在以后的文章中,我會從具體的開發(fā)過程入手,描述如何使用JDO來開發(fā)項目。

相關討論:

 http://www.95time.cn/bbs/NewsDetail.asp?id=1043092

出處:CSDN
責任編輯:無意

◎進入論壇網(wǎng)絡編程版塊參加討論

相關文章 更多相關鏈接
走近數(shù)據(jù)恢復
動網(wǎng)論壇代碼分析之嵌套查詢
包含文件對數(shù)據(jù)庫鏈接的影響
[ASP]向數(shù)據(jù)庫讀寫image文件
FWMX系列:數(shù)據(jù)驅(qū)動圖形向?qū)?/a>
作者文章
數(shù)據(jù)庫: JDO 能給我們帶來什么
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍色理想版權申明:除部分特別聲明不要轉(zhuǎn)載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯(lián)系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2