小弟学习学习撒
由于偶没有着论坛发贴还要先打开notepad做cache的习惯,所以做为一个新人已两次被论坛程序的记时器将自己的回复无情的吞噬了,也就没有了再写的兴趣,只好胡乱答谢两句了。
banq老师的论题是好的,但从偶的遭遇上看,感觉中间件的集群和后台数据库的支持是不可分割的了,好象美军的现代化战争,实际上是海陆空打击和后勤补给两条线同时作战一样,缺一不可。偶可不希望偶将来的程序出现黑洞,那些不可能包揽一切的object farm会象偶丢失自己的文字一样去丢失人家企业的数据,还是早点盼着前台应用革命的来临吧,比如rfid,可以让偶有机会从效率和架构两个方面来说服用户及时调整他们的系统,在midware和rdbms同时进行有效的扩充硬件,现在好象还暂时不能打破sap,peoplesoft那些企业应用商们的垄断,也就只能限于在编程领域呼喊变革了。十年前就在呼喊N层计算了,可到现在还是在ejb2.1的阶段,同时这十年数据库也得到了应有的发展,所以偶还是属于两派均支持的主,希望将来中间层架构清晰,实时处理能力强,后台稳定,能迅速存储中间层的old object状态,前台灵活多变,可以适应j2me,swing,web, ria等多种需要,呵呵听起来象一支切尔西足球队了,也对,用户就是阿布,负责买单,架构师就是穆帅,左右一切数据转化流程。但是一味的强调中场或是后方的重要偶觉得都不可取,会产生可能的依赖。
banq老师说的好,解耦,自觉得无论争论和现实如何的演变发展,自该朝着这二字来努力。
祝那位朋友论文写好,一句话,把论文侃到连你自己都不知道在说什么就行了,偶没有大学文凭,文笔也很差,但是这是偶能说的唯一建议了。甚至不求能过,只求能把评委侃晕。原因是偶觉得任何问题都没有单一固定的答案,只要能把论文认真看待当作自己的作品来雕琢,过不过都无所谓了。不是当年的对象序列化都是博士论文的选题么,如今还不是api遍地都是,所以莫把这些问题看的太高,甚至将来自己都忘记了曾经写过的内容。
rtm : 我受不了了 -- 呵呵偶也是这个感觉,头皮都炸了,好象看到了serverside的热闹场面,话题起的够水平。
licy : 无言,很多东西是需要折衷的 -- 默默的赞赏。
lovegame : banq 的胆儿越来越大了:说出了Mc Nealy 想说而不敢说的话. 佩服!
-- 不是banq口无遮拦了,而是SUN的总裁先生似乎近来收敛了许多,懂得了迂回之道,搁他老人 家以前的脾气,恐怕比banq煽呼的更猛,不过mid-ware市场不是他一家把持的,甚至都快没有 他说话的份儿了,瞧ibm/bea把人家欺负的,就剩下api一招了,甚至都跑去和微软套近乎了。
catstiger: 如果是海量的数据应用,或者是基于OLAP(例如决策分析)的应用,恐怕系统设计再合理也没有用。
-- 感觉前辈您的分析是比较中肯的.
banq : 由于只关注系统两端:数据表和界面;结果使得J2EE系统的中间部分变得混乱而无序,反而丧失了多层结构易于维护和扩展的优势
-- 那反过来如果只关注中间,那么如果对象结构发生了改变,是否很容易修改整个系统呢,或者 结合设计模式来应对需求的变更?
很多人抨击EJB中的实体Bean不是好东西,其实是他的坏思维导致,
-- 强烈赞同。
全OO的系统由于实现松耦合... -- 既然都松耦合了,为什么不能和已经成熟的后台系统松耦合呢?rdbms,xml,idl,webservice.无 论谁来都能给你耦合了。前台不也是么,随你选择界面方式,偶们只接纳对象化的输入。
最后想说,才看到了csdn的一个文字,感觉很有意思也很赞赏,拿来给大家消遣一下吧
JSR-273设计期API:让Java更像VB
http://news.csdn.net/news/newstopic/21/21047.shtml
ps : 个人喜欢yippeesk,okitgo,W_W_Q几位朋友诙谐的回复。
怎么可能?如果我保存LOB,也是256?对于一个经常执行CUD操作的应用,可能“很少访问数据库”吗?如果你做论坛,我同意你的看法。如果你的数据库中保存十几T的数据呢?
>O/R mapping组件已经帮助我们实现一些优化和使用存储特性。
的确是,但是还不够。
>你的这些问题就象在问操作系统不重要一样。我想我们关注的角度是不一样的。
不明白。我们关注的角度是一样的。我也同意在设计的时候不要过多的考虑数据库的问题。但是在实际的应用中则必须考虑数据库。
>你重视数据库,你的J2EE系统就无法完全OO,你只有忽视数据库,你才有可能完全迈向OO
banq?我希望这些话是你一时冲动说的,太偏激了吧?对于大型数据库应用,一个索引就可以提高几百倍的查询效率,岂能忽视!不要告诉我,你开了几个G的Cache,即便如此,相信你所使用的Cache也不会比数据库提供的Cache快。
另外,如果你用EJB,那么其实你的J2EE就已经不太OO了。
我的经验是:在设计阶段不必考虑数据库,在实施阶段数据库是重中之重。
谢谢你的指点!现在的大学教育已经烂掉了!被人骂垃圾的话!我是不会反驳的!
呵呵!
有人说我门是垃圾生产线上的产品!
――――――――――
说心里话!上四年大学!一点都不爽!
假如数据的存储全部变成对象存储,当然我们可以不使用数据库。假如你可以完全的实现数据的select,insert,...当然也可以不需要数据库。
再试着想一下没有数据库会是什么样子???
是不是所有的TX等需要某种替代去实现??
再看看今天的ERP,SCM,CRM,几乎大型的商业运用数据都存储在db里面。没有db看看那些数据你怎么玩。数据的交付怎么办,集成怎么去实现????
所以基本上可以说说这个话的人一定没有做过大项目,做一个1000万左右的项目就知道数据库在整个系统中是多么的重要。看看电信,银行,企业他们的数据存在那里???
其实我有些话还没有说,怕伤害象你这样的一大批人(讨论不针对个人,不爱看不要来),象你这样抱着Oracle数据库臭脚的人很多,Oracle自己已经将重点转移到应用服务器上,看看他的广告和宣传策略,Oracle对于J2EE的介入非常深入。我非常反感他的两面做法:一手发展应用服务器;一手榨取数据库服务器剩余价值,误导用户,那些Oracle培训班参加一点用处都没有,会数据库编程只是编程者的初级阶段。
OO思想是一个全新的体系,我学到现在还没有学完,而且感觉精力不够,国内很多应用都不是真正OO体系,所以,他们才要求你研究操作系统和数据库,这样的公司就是有大大大项目,做了也是荒废时间和精力,投入一点不值得。
象鲁中正气这样的初学者更加需要谦虚,花费饱满的热情投入到学习中,而不是把时间花费在这里磨嘴皮子。
除非你想发展成为DBA,如果想真正成为一个OO开发程序员,
另外,我怀疑banq兄是不是真正的oo分子,EJB entity bean,尤其cmp bean,在理论上是不能支持完整oo建模的,在精细化建模上(比如array, map等collection)他做得远不如hibernate。为什么每次说oo,banq兄总拿ejb entity bean做例子呢?
再有作为oo倡导者的bang兄,可知道ooram方法、catalysis方法?j2ee组件体系结构可以用catalysis理论完美解释,同时,依据catalysis也指出entity bean,尤其cmp,是与j2ee系统相违背的。bmp, cmp完全是row set gateway,不是domain model,怎么能就说是全oo了呢?
不一定能企求得到满意的答复,甚至有时自己都觉得想法比较乱,但只希望您能看到这个回复,并稍作阐述,谢谢。同时也谢谢banq老师提供了这么好的交流的环境并付出了努力。