WEB开发网      婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈功缁犻箖鏌嶈閸撴氨鎹㈠☉娆愬闁告劕寮堕幖鎰棯閸撗勫殌闁宠鍨块幃鈺冣偓鍦Т椤ユ繈姊哄Ч鍥р偓妤呭磻閹捐桅闁告洦鍨扮粻娑㈡煕椤愶絾绀冩い搴$Ч濮婅櫣绮欏▎鎯у壋闂佸摜濮甸崝娆愪繆閻㈢ǹ绀嬫い鏍ㄨ壘閸炪劑姊洪棃娴ゆ稒鎷呴幓鎺嶅闂佸湱鍎ら〃鍡涘煕閹烘鐓曢柡鍥ュ妼娴滄粍銇勮箛锝呭籍闁哄备鈧磭鏆嗛悗锝庡墰閺嗙娀鏌ф导娆戝埌闁靛棙甯掗~婵嬫偂鎼达絼鐢荤紓浣诡殕閸ㄥ灝顫忕紒妯诲缂佹稑顑呭▓顓炩攽椤旀枻鍏紒鐘虫崌閵嗕礁顫濋幇浣光枌婵犵數濮崑鎾趁归敐鍥┿€婇柡鈧禒瀣厽婵☆垱顑欓崵瀣偓瑙勬偠閸庤精鐏冮梺缁樏鍫曞疮閻愮數纾奸柛灞炬皑鏁堥悗瑙勬礃缁繘藝鐎靛摜妫柟顖嗕礁浠悗娈垮枛閻栫厧鐣烽悡搴樻婵☆垯璀﹂悗宕囩磽閸屾瑧鍔嶆い銊ユ閻f繈骞栨担姝屾憰闂佺粯妫冮ˉ鎾诲汲鐎n喗鐓熸俊銈傚亾闁绘妫楅埢鎾澄旈崨顔规嫼闁荤姴娲犻埀顒冩珪閻忊偓闂備礁鎼幊鎰叏閹绢喗鍋╅柣銈庡灛娴滃綊鏌熼悜妯肩畺闁哄懏绻堝娲濞戞艾顣哄┑鈽嗗亝閻熲晠銆佸▎鎺旂杸闁哄啫鍊婚惁鍫ユ⒑濮瑰洤鐏叉繛浣冲嫮顩烽柨鏇炲€归悡鏇㈡煏婵炲灝鍔ら柛鈺嬬稻椤ㄣ儵鎮欓弶鎴濐潚濡ょ姷鍋為敃銏ゃ€佸▎鎾村殐闁冲搫顑囬獮銏ゆ⒒閸屾瑦绁版い顐㈩槸閻e嘲螣閼测晝鐓嬪銈嗘閿熴儲绂嶈ぐ鎺撶厵闁绘垶蓱鐏忣厼霉濠婂啰绉烘慨濠呮缁辨帒螣閾忛€涙闂備焦瀵уú宥夊疾濞戞粎浜遍梻浣告啞濞诧箓宕归柆宥呯厱闁硅揪闄勯悡娆撴煠濞村娅呭ù鐘崇矊閳规垿鍨鹃悙钘変划闂佽鍠楅〃鍛村煡婢舵劕绠抽柟鎯ь嚟瑜板洨绱撻崒娆戣窗闁哥姵鐗犻、鏍川閹碱厽鏅i梺绋跨箳閸樠呮閻愮繝绻嗘い鏍ㄧ矌鐢稒绻涢崨顓熷枠婵﹦绮幏鍛存偡闁箑娈濈紓鍌欐祰椤曆囧磹閸噮鍤曠紓浣贯缚缁♀偓闂佹悶鍎崝宥呪枍閸ヮ剚鈷戠紒瀣濠€鎵磼鐎n偅宕岀€规洏鍨介幃浠嬪川婵犲嫬骞楅梺鐟板悑閻n亪宕规繝姘厐闁哄洢鍨洪悡銉︽叏濡灝鐓愰柣鎾跺枛閻擃偊宕堕妷銉ュБ缂備礁顑堝畷鐢垫閹烘梻纾兼俊顖濆亹閻h櫣绱撴担铏瑰笡缂佽鐗嗛悾宄邦潨閳ь剚淇婂宀婃Ш缂備浇椴哥换鍫濐潖缂佹ɑ濯寸紒娑橆儏濞堟劙姊洪幖鐐插闁告鍟块悾鐑筋敍閻愯尙楠囬梺鐟邦嚟婵潧鈻撴ィ鍐┾拺缂備焦蓱閳锋帡鏌嶅畡鎵ⅵ鐎殿噮鍋婂畷鎺楁倷鐎电ǹ骞堥梻浣瑰▕閺侇噣宕戦幘缁樼厸闁告侗鍠氶幊鍛繆閸欏濮囬摶锝夋偠濞戞帒澧查柡鍌楀亾闂傚倷鑳剁划顖炲礉閺囩倣鐔哥節閸パ冩優闂佺粯鏌ㄩ惃婵嬪绩閼恒儯浜滈柡鍐ㄦ处椤ュ鏌涢弬璇测偓婵嬪箺閸洘鍊烽柣鎴炨缚閸橀亶姊洪崫鍕偍闁告柨鏈弲鍫曨敍閻愬鍘卞┑鐐叉缁绘帞绮绘繝姘厸閻忕偟鏅晥閻庤娲﹂崑濠傜暦閻旂⒈鏁嗛柍褜鍓欓埢宥夋晲閸モ晝锛濇繛杈剧稻瑜板啯绂嶉悙顒傜瘈闁靛骏绲剧涵鐐亜閹存繃宸濈紒顔剧帛閵堬綁宕橀埡鍐ㄥ箥闂佽瀛╃粙鎺戠幓鐠恒劎涓嶆慨妞诲亾闁哄被鍔岄埥澶娢熸径鐧哥稻閵囧嫰濡搁敐鍛Е闂佽鍠楅悷鈺呫€侀弮鍫濈妞ゆ挻绻勭粈鍕⒒閸屾瑦绁版い鏇熺墵瀹曚即寮介銈囶槸婵犵數濮撮崐濠氬汲閿曞倹鐓欐い鏍仜娴滅増淇婇懠棰濆殭闁宠鍨块崺鍕礃閵娧呫偡婵$偑鍊ら崢楣冨礂濡警鍤曢悹鍥ㄧゴ濡插牓鏌曡箛鏇烆潔闁冲搫鎳忛悡蹇擃熆鐠鸿櫣澧曢柛鏃€鎸抽弻娑㈠棘濞嗙偓楔缂備浇椴搁幐濠氬箯閸涱垳鐭欓幖瀛樻尭娴滈箖鏌涘┑鍕姢闁活厽鎸鹃幉鎼佹偋閸繄鐟ㄩ梺鍝勵儎缁舵岸寮婚悢鐓庣鐟滃繒鏁☉銏$厸闁告侗鍠楅崐鎰版煛鐏炶濮傞柟顔哄€濆畷鎺戔槈濮楀棔绱� ---闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸婂潡鏌ㄩ弮鍫熸殰闁稿鎸剧划顓炩槈濡搫绠诲┑鐐叉▕娴滄粓鎮″☉銏$厱婵炴垵宕獮妯汇亜閺傛寧顥㈡慨濠呮閹瑰嫰濡搁妷锔惧綒闂備胶鎳撻崵鏍箯閿燂拷
开发学院WEB开发Jsp JDO能给我们带来什么 阅读

JDO能给我们带来什么

 2008-01-05 09:26:15 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸澀缃曢梻鍌欑濠€閬嶆惞鎼淬劌绐楅柡宥庡亞娑撳秵銇勯弽顐沪闁绘挶鍎甸弻锝夊即閻愭祴鍋撻崷顓涘亾濮樼偓瀚�闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿极閹剧粯鍋愰柟缁樺笧閳ь剦鍙冨鍝勑ч崶褏浠奸梺璇茬箲閼归箖鎮鹃悜钘夎摕闁靛濡囬崢鐢告⒑鐟欏嫷鍟忛柛鐘崇墵閵嗗倹绺介崨濠勫幈闁硅壈鎻槐鏇熺墡闂備線娼уú銈団偓姘嵆閻涱噣骞掑Δ鈧粻锝嗙節闂堟稑鏆欏ù婊堢畺閺岋綁濮€閳惰泛婀辨竟鏇熺節濮橆厾鍘甸梺缁樺姦閸撴岸鎮樻潏銊ょ箚闁圭粯甯炴晶娑氱磼缂佹ḿ娲寸€规洖宕灃闁告劕鍟犻崜婵堟崲濞戞ḿ鏆嗗┑鐘辫兌閺佹牜绱撴担浠嬪摵闁圭懓娲ら悾鐑藉箳閹搭厽鍍甸梺鐟板悁閻掞箓鎮楅幖浣光拻濞达絿鍎ら崵鈧梺鎼炲€栭悧鐘荤嵁韫囨稒鏅搁柨鐕傛嫹婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繑銇勯幘鍗炵仼缂佺媭鍨堕弻娑㈠箛闂堟稒鐏堥悗鐟版啞缁诲啴濡甸崟顖氱閻庨潧鎽滈悾濂告⒑绾拋娼愭繛鑼枎椤繒绱掑Ο鑲╂嚌闂侀€炲苯澧畝锝堝劵椤︽煡鎮¢妶澶嬬厪闁割偅绻冮崑顏呯箾瀹割喕绨婚幆鐔兼⒑鐎圭姵銆冮柤鍐茬埣瀹曟繈鏁冮埀顒勨€旈崘顔嘉ч柛鈩冾殘閻熸劙姊洪悡搴℃毐闁绘牕銈稿畷鐑樼節閸パ冨祮闂侀潧楠忕槐鏇㈠储椤忓牊鈷戦柟鑲╁仜閸旀鏌¢崨顔锯姇缂佸倹甯熼ˇ瀵哥磼鏉堛劌绗氭繛鐓庣箻閸┾剝鎷呴柨瀣垫綗闂傚倷娴囧銊╂倿閿曞倸绠查柛銉墮閺嬩線鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸澀缃曢梻鍌欑濠€閬嶆惞鎼淬劌绐楅柡宥庡亞娑撳秵銇勯弽顐沪闁绘挶鍎甸弻锝夊即閻愭祴鍋撻崷顓涘亾濮樼偓瀚�  闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌ら崫銉︽毄濞寸姵姘ㄧ槐鎾诲磼濞嗘帒鍘$紓渚囧櫘閸ㄥ爼濡撮崘顔煎窛闁哄鍨归崢娲倵楠炲灝鍔氭い锔诲灦瀹曪繝骞庨懞銉у帾闂婎偄娲﹀ú鏍ㄧ墡闂備浇顕х€垫帡宕滈悢濂夋綎闁惧繐婀辩壕鍏间繆椤栨碍鎯堟い顐㈢Т椤啴濡堕崱妤€顫庨梺鍛婎焼閸パ呭弨婵犮垼娉涜癌闁绘柨鍚嬮悡銉╂倵閿濆骸鍘撮柛瀣尰缁绘繂顫濋娑欏闁荤喐绮庢晶妤冩暜閹烘挾顩插ù鐓庣摠閻撴洟鏌熼幆褜鍤熼柍钘夘樀閺屽秶绱掑Ο鑽ゅ弳濡炪値鍋呯换鍫ュ箠濠婂懎鏋堟俊顖濐嚙椤忓綊姊婚崒娆戭槮闁硅绱曠划娆撳箣閿斿搫浜奸梺鍝勵槹閸ㄧ喖寮搁弮鍫熺厸闁告劧绲芥禍鍓х磽娴h櫣甯涚紒瀣尰缁傛帡鏁冮崒姘憋紲濠殿喗锕╅崜锕傛倵閹惰姤鈷掑ù锝呮憸閿涘秶绱掗鍛仸妤犵偞鍨垮畷鍫曨敆閸屾氨銈﹂梺璇插嚱缂嶅棙绂嶉弽顓炵哗濞寸姴顑嗛悡娆撴⒑椤撱劎鐣卞褜鍨遍妵鍕棘閸喒鍋撶憴鍕攳濠电姴娲﹂崐閿嬨亜韫囨挸顏ら柛瀣崌瀵€燁檨婵炲吋鐗曢埞鎴︽偐鐎圭姴顥濋梺绋胯閸斿酣骞夊宀€鐤€婵炴垶岣块悿鍛存⒑閸︻叀妾搁柛鐘愁殜瀵煡骞栨担鍦弳闂佺粯娲栭崐鍦偓姘炬嫹
核心提示:JDO能给我们带来什么 2003-7-3Matrix让你不断进步 浏览选项: 颜色 默认 灰度 橄榄色 绿色 蓝色 褐色 红色 本文已被浏览 18 次 作者:sun2bin JDO规范的出台,给了传统的数据库应用,JDO能给我们带来什么,尤其是WEB

  JDO能给我们带来什么
2003-7-3 Matrix让你不断进步 浏览选项: 颜色 默认 灰度 橄榄色 绿色 蓝色 褐色 红色 本文已被浏览 18 次



作者:sun2bin
JDO规范的出台,给了传统的数据库应用,尤其是WEB方式的数据库应用一个新的机会,就是采用透明的中间件存储技术,减少传统开发的繁琐工作,提高开发和维护的效率,使我们能够应对新的互联网时代的日益迅速的需求变化。
从开发的角度来看,我们进行J2EE标准的Web应用开发时,假如涉及到数据库,一般具有一定经验的开发团队都不会采用jsp+JDBC的方式直接进行数据库操作,那样做一方面工程浩大,代码冗长,另一方面不易维护,危险性更大。一个简单的类似下面的语句:
resultSet = PReparedStatement.execute();
...
preparedStatement = connection.prepareStatement(...);
看上去没什么问题,但运行过程中会渐渐导致服务器死机,因为第二条语句前面少了一句 preparedStatement.close(),这样导致一些非JVM分配的内存永远无法回收(因为不归java的垃圾回收机制管)。这种问题就对不是非常精通JDBC的程序员来说,是非常轻易犯的,最重要的是,发生这种问题后,要查出其中的问题来,在代码量较大的情况下,你会发现这比联合国在伊拉克的核查工作复杂得多。
因此,有经验的开发团队会采用一些JavaBean来包装数据对象,这也是面向对象开发方式的需要。然而,就算是这种采用valueObject来包装数据库数据的方式,依然存在以上的风险。
这只是问题的一方面,在应用开发需求越来越多的情况下,传统的开发方式的效率和可维护性已经跟不上需要。很多公司对此只有两种解决方案:一是扩充招人,但这样涉及到开发水平和培训方面的成本问题;二是推迟或取消一些相对次要的开发任务,不过这样只会拖慢企业的发展。
就是在这样的情况下,在国际上一些在这方面比较有经验的企业(如Sun,IBM等)才联合起来制定了JDO规范,以求让开发人员摆脱这方面的风险,从复杂而繁琐并且重复性很大的工作中解脱出来,以全新的完全面向对象的概念和业务意识来指导开发。JDO规范相对EJB来说,实现简单而性能出众,可大大节约公司的开发成本,因此得到很多公司的拥戴,尽管JDO1.0规范才公布不到一年,实现JDO规范的产品却如雨后春笋一般冒出来,比如美国(Kodo, FrontierSuite, FastObjects, etc.)、法国(Libelis LiDO)、南非(JDOGenie)、德国(JRelay)等厂商都有比较不错的产品(从中我们可以看出Java是一个比较开放、比较国际化的东西),另外,除了这些商业产品之外,还有一些见义勇为的壮士组成一些团队提供免费产品(Implementation),比如TJDO,Xorm,OJB等等。

下面我们就来看看JDO到底能给我们带来什么。


1、节约开发成本和时间。
使用JDO,据对目前采用JDO的一些公司的统计,在开发中大概节约30%代码量,在维护中大概节约60%的工作。尽管这些数据来自JDO产品提供商,但从用户的角度来看,我认为这个数字并不过分。因为传统的开发方式代码量很大,导致开发人员多,开发时间长,人一多,相互的协调和沟通难度就大,开发时间长,开发人员的记忆力有限,前后代码的连贯性一致性也会受到影响。而采用JDO后,开发人员需要写的代码,主要是对数据层的包装部分,将大大减少,应用中的代码将主要集中在业务逻辑的处理上。俗话说,做得多,错得多,做得少,错得少。虽然有点消极,但也说明这个事实。当我们的手工代码变少后,出错的机率就会小很多,就算出错,也很轻易查出来。当这些目标达到后,对JDO的一次性投入(比如购买JDO产品及相关培训),比起传统的开发开销来,就会显得微不足道。人力成本方面更是,原来三个人的工作,现在可以两个人做(因为工作量减少了),这就节省了一个人力的成本。


2、提高应用性能,尤其是Web应用。
JDO厂商们都在利用多年的经验对底层数据库操作进行了大量的优化,而这些优化,一般的程序员由于经验和复杂性,都比较难做到,比如分布式缓冲、JDBC2.0和JDBC3.0中的一些面向性能优化的高级处理等等。因此,我们使用JDO产品的话,就可以利用这些由厂商提供的优化来提高服务器的性能。一般的厂商都会提供很多性能调节的参数,以针对不同的具体情况。


3、更灵活的业务逻辑。
由于JDO解放了开发人员在数据底层的工作,他们可以集中精力考虑业务逻辑方面的事务,与需求方也更轻易沟通,不会象原先一样,凡听到一个新的需求或变更时心里首先想到的是要加多少数据表,外键如何关联,越想越复杂,最终拒绝需求。采用JDO后,开发人员可以更快地实现业务逻辑,即使是做试验,也更加方便快捷,比如想对需求方提出两种不同的实现方案供效果比较,做起示范程序来就能迅速完成,而传统方式中能在同样的时间内完成一种就已经很不错了。当开发人员可以与需求方更好地沟通后,能更准确地理解需求,并且往往能提出比较专业的意见以改善业务逻辑,这样,对双方都能有更好的锻炼。


4、有利于开发团队的稳定。
这里所说的稳定并不是说人员都比较固定,而是说开发中的角色比较固定,工作定位比较固定。比如关心性能的人负责映射层,他需要了解所采用的JDO产品的具体实现,以及如何将业务模型有效地映射到数据库上,而关心代码的人不用考虑这些细节,只需要在面向对象的数据模型(一般是一个或复杂或简单的实体类图)的基础上进行业务逻辑的实现。各有各的责任,分工更明确,整体工作效率得到大大提高。也就是说,采用JDO技术后,项目开发中更轻易实现任务的纵向划分,不同类型的任务由不同的人做。而传统的方式中,项目一般只能实现横向的分工,一人做一块,每一块都是从界面到JavaBean再到数据库全包,假如纵向划分的话,因为任务之间难以确定接口规范,导致大家互相抱怨,从情绪上已经影响了开发的进展,这就是为什么很多项目一开始都设想得很好,而具体做的时候会互相牵连,导致“无工不拖”的局面。JDO技术,由于是一种比较实际可行的规范,便项目治理者能更好地分配工作任务,相互之间更轻易“划清界限”。这样的方式下,项目开发就不易受人员流动的影响,因为:第一,假如走掉一名开发人员,只要补充一个人,或者将其工作分配到另一人身上,让他明确责任,对其它开发人员的影响并不大,不象以前“走一人瘫一块”;第二,假如工作量大了,需要新加入开发人员,对其的进入工作状态的培训比以前简单,因为越来越多的人会熟悉并精通JDO规范,就象会Java一样,有了这个基础,只要了解一下业务逻辑就可以进行开发了,这也是规范化的好处。就象很多外资企业一样,大家都是螺丝钉,人员流动性虽然大,但公司的发展却很稳定。


5、提供更多的个人发展机会。
对开发人员来说,长年累月一成不变而又低效的工作方式是最大的杀手,是在扼杀自己的生命。采用JDO技术后,他们会看到原来开发可以如此轻易,原来还有更多的业务逻辑方面的东西值得自己关注和投入精力。开发人员的思维会从底层的代码转移到高级的业务处理上来,因为自己的开发方式已经有规范化的质的提升。我估计,以后会出现JDO认证之类的概念,在万一的情况下的求职将会更加轻易。究竟一种规范带来的东西往往是多方面的改善。当开发人员更多地思考业务方面的问题后,对需求方的业务流程往往会有更规范的意见,从而引起双方的良性循环。以住的开发人员,经常会想为什么很多大公司的老板都不是做开发而是做业务的,以后自己的出路在哪里。其实,开发人员完全可以在开发过程中了解业务方面的内容,对自己以后的发展也有好处,并且,思维将会更加严谨,原则性更强。

以上只是JDO所能带来的比较明显的几个好处,实际上还有更多的好处等待我们在使用中去发掘,去研究。在以后的文章中,我会从具体的开发过程入手,描述如何使用JDO来开发项目。

本文的版权属于笔者本人,但欢迎转载,前提是注明出处和原作者。另外,欢迎在我的专栏中查看我的另几篇文章,并提出宝贵意见!

Tags:JDO 我们 带来

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接