红太阳!开个专题讲讲你的见解撒!

小弟学习学习撒

回复banq老师和那位写论文的朋友。

由于偶没有着论坛发贴还要先打开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几位朋友诙谐的回复。

>数据库是不必用的,数据库当然更不需要优化,字段长度都是256,很少访问数据库,这些优化对于J2EE系统来说只是隔靴饶痒。
怎么可能?如果我保存LOB,也是256?对于一个经常执行CUD操作的应用,可能“很少访问数据库”吗?如果你做论坛,我同意你的看法。如果你的数据库中保存十几T的数据呢?

>O/R mapping组件已经帮助我们实现一些优化和使用存储特性。
的确是,但是还不够。

>你的这些问题就象在问操作系统不重要一样。我想我们关注的角度是不一样的。
不明白。我们关注的角度是一样的。我也同意在设计的时候不要过多的考虑数据库的问题。但是在实际的应用中则必须考虑数据库。

>你重视数据库,你的J2EE系统就无法完全OO,你只有忽视数据库,你才有可能完全迈向OO
banq?我希望这些话是你一时冲动说的,太偏激了吧?对于大型数据库应用,一个索引就可以提高几百倍的查询效率,岂能忽视!不要告诉我,你开了几个G的Cache,即便如此,相信你所使用的Cache也不会比数据库提供的Cache快。
另外,如果你用EJB,那么其实你的J2EE就已经不太OO了。
我的经验是:在设计阶段不必考虑数据库,在实施阶段数据库是重中之重。

shuiwx
谢谢你的指点!现在的大学教育已经烂掉了!被人骂垃圾的话!我是不会反驳的!
呵呵!
有人说我门是垃圾生产线上的产品!

――――――――――
说心里话!上四年大学!一点都不爽!

看了这么多高手的争论,让我这个菜鸟自觉汗颜,学习。。。

mythmoon 朋友你好,偶没有大学文凭,所以还不如你呢,但冒昧的借这里悄悄的回复你,以您的胸襟大度,何必跟一个打着毁人不倦的旗号敛人钱财榨取家长油水的机构太认真呢?坚持走你自己的路吧,您的路还长着呢,无论是在象牙塔内外都有很多机会可以发展啊,好好弄弄外语吧,能离开这个大环境最好,再不走人民币就该升值了,老百姓就该更没活路了,趁着还没离开学校,赶紧找个留学生老婆吧,也让那些白白打了水飘的四年学费能为您多少捞回些本钱来。莫忘了有人说社会也是一所大学,既然您已经吃了一个大学的亏,莫让第二个再彻底埋葬您那宝贵的青春。

x!

无知者无畏啊。
假如数据的存储全部变成对象存储,当然我们可以不使用数据库。假如你可以完全的实现数据的select,insert,...当然也可以不需要数据库。
再试着想一下没有数据库会是什么样子???
是不是所有的TX等需要某种替代去实现??
再看看今天的ERP,SCM,CRM,几乎大型的商业运用数据都存储在db里面。没有db看看那些数据你怎么玩。数据的交付怎么办,集成怎么去实现????
所以基本上可以说说这个话的人一定没有做过大项目,做一个1000万左右的项目就知道数据库在整个系统中是多么的重要。看看电信,银行,企业他们的数据存在那里???

兄弟们,我现在搞oracle EBS 半年多了,原来也象板桥那样偏激的oo,现在对数据库了解的深了,知识也全面了,才发现很多问题不必那样。大家还是对操作系统,数据库再多一点了解,对架构水平有好处的,别整天oo的转来转去。其实oo等思想就那么点东西,关键还是要依靠现有的工具去做。

鲁中正气兄您好,看了您那么多包括自述在内的文字,唯有这一篇写的是最平淡无华,都不象您的文风了, 但其中透着自己心得的分享,谢谢你,让偶看到了你思想的另一面。多发点平易近人的帖子吧,偶曾经看您的回复象在看挑战者号升空似的,又象在仰望一个技术领域的珠穆朗玛峰,越侃越高,好晕的。“其实oo等思想就那么点东西”这句话偶最赞同,其实任何思想或是任何技术也就那么点东西,关键还是如何结合实际资源与需求来完成用例的实现,不知这么理解对否?

>我现在搞oracle EBS 半年多了,其实oo等思想就那么点东西,关键还是要依靠现有的工具去做

其实我有些话还没有说,怕伤害象你这样的一大批人(讨论不针对个人,不爱看不要来),象你这样抱着Oracle数据库臭脚的人很多,Oracle自己已经将重点转移到应用服务器上,看看他的广告和宣传策略,Oracle对于J2EE的介入非常深入。我非常反感他的两面做法:一手发展应用服务器;一手榨取数据库服务器剩余价值,误导用户,那些Oracle培训班参加一点用处都没有,会数据库编程只是编程者的初级阶段。

OO思想是一个全新的体系,我学到现在还没有学完,而且感觉精力不够,国内很多应用都不是真正OO体系,所以,他们才要求你研究操作系统和数据库,这样的公司就是有大大大项目,做了也是荒废时间和精力,投入一点不值得。

象鲁中正气这样的初学者更加需要谦虚,花费饱满的热情投入到学习中,而不是把时间花费在这里磨嘴皮子。

除非你想发展成为DBA,如果想真正成为一个OO开发程序员,

没办法啊,谁让俺做的是大大大项目呢。

banq兄,我觉得你该补的不是什么新技术,而是基础的冯诺依曼原理。计算是一个很笨的东西,他只会两件事,存储和计算,所以从它诞生的那天起始终不断的就是控制流和数据流哪个为主的争论,最后冯诺依曼系统确立,先存储后计算的结构。同样,在软件业有两种基础体系结构,cotent-centric architecture和service-centric architecture,两者的核心关注是不同的,cca是数据流中心论的极致,的目标是大数据库,然后在上面作检索,比如web就是典型的cca系统。sca正好相反,把计算推崇到极致,目前看到的终极形态就是grid computing。但是我个人认为,冯氏原理依然有效,就是先存储后计算。也就是说没有好的cca基础,sca很难做得很好,你看gc,不也是有分布存储,数据集中等等机制吗?所以说数据可以透明忽略我承认,说可以不要了,实在难以苟同。
另外,我怀疑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了呢?

raimundo 您好,前面偶的帖子也问到了catalyst,但偶确实菜,只依稀听说是什么组合型的方法,是否有点波粒二相性的味道呢,呵呵不得而知了,anyway,只想请教是否在做项目时借用catalyst方法来指导乃目前比较合理的一个选择呢?抛开细节和局部的辩论暂且不谈,您是否能象引文那样大概的描述一个您认为客观的实践性较强的系统构建方法呢?比如catalyst+ejb3.0?非得aop不可么?

不一定能企求得到满意的答复,甚至有时自己都觉得想法比较乱,但只希望您能看到这个回复,并稍作阐述,谢谢。同时也谢谢banq老师提供了这么好的交流的环境并付出了努力。