呵呵,热闹起来了。又可以满足我日益膨胀的表现欲了。
老板,首先声明啊,说得兴起,鸡鸡鸭鸭往外讲,不是针对哪个个人,纯粹是为了这么说着过瘾有杀伤力。本来,修辞是为了在辩论中打击别人。我这人正好相反,放狠话较劲完全是为了修辞,说着好玩,当不得真。呵呵。技术讨论就好比小孩玩打仗。玩完还是要一起玩撒尿和泥的。
首先,缓存恰恰就有很多数学模型。缓存在计算机科学里大概是最容易搞课题的领域了。这方面的学术文章多如牛毛。学生时代,在下曾对体系架构痴迷过,关于缓存的东西读了不少也做了一些。缓存方面的研究别说经典的基于统计的模型,花里胡哨的连PERCEPTRON都有人往上套。要说中间件,OO缓存,可千万别以为WEBLOGIC, WEBSPHERE, ORACLE APP SERVER的缓存是拍拍脑袋,套什么“模式”写出来的。在美国专利局的网站上查查这几家公司的专利,关于缓存的可不少啊~~
第二,老板的论点好像是“系统设计应该围绕OO,而不应该基于RDBMS”。本来这个论点稍加适用范围(象任何命题一样),也有一定道理。不过老板的论据有点不上路。尤其那个ORACLE的。
地球人都知道,ORACLE 自打通过收购弥补了中间件的缺陷以后,几年来的屡次收购,peoplesoft, siebel, 还有其他一把半大不小的公司,都是做应用的,而最近的一次收购做的是内存数据库,哪里有一笔买卖是做中间件? ORACLE的应用服务器10g,如果你花时间仔细看看ORACLE 10G的文档,就会发现数据库的痕迹无处不在,无孔不入,无缝不钻。比如,从PL/SQL直接导出WEB SERVICE,有趣吧?持久化层直接到服务层,没有中间件啊. 并且从财务方面看,ORACLE的主要收入仍然来自数据库,ORACLE的中间件和ORACLE自己原来的应用(除去PEOPLESOFT, JDEDWARDS, SIEBEL等遗留产品外。指ORACLE FORM之类的东东),基本上是套送,买一送一的。
要是非说 ORACLE 的方向是渐渐脱离单一的数据库产品线,追求产品多样化,倒也无可厚非。不过 LARRY 和 PHILLIPS 两个当家人自己都说了,今后的发展方向是商业应用,可不是J2EE。可别告诉我 PEOPLESOFT, SIEBEL,JDEDWARDS 的商业应用是基于J2EE的。要不我又得费劲一一解释他们的架构有COBOL, 有C/C++, 就是没有半个EJB,仅有的一点JAVA是用来做表现层的。
并且,ORACLE的商业发展战略,和你的论点好像没有直接关系吧?
BEA 还号称JAVA中间件已经过气了呢,人家已经继WEBLOGIC之后推出了AQUALOGIC。IBM 还要把中间件通通开源拉到,转收咨询服务费呢。这两家在J2EE领域可比ORACLE鲁棒多了。你咋办?再写篇“中间件时代的终结”?
还有那个关于美国什么人学金融经济什么的例子。美国那个经济学和中国大学里教的那个文科“数学5类”的经济学可不是一回事。随便GOOGLE个经济学的文献看看,大概不会比缓存的数学模型简单。清华北大中科大多少物理博士电机博士都在华尔街搞金融数学模型,在下的同门里就有人成天用神经网络模型给保险公司做预测的。从他们的收入看,这个数学模型不但不苍白,而且还很滋润,容光焕发的。呵呵。
第三,关于“模式”啊,“框架”啊啥的。这些东西,打个比方,就好像“射雕”的电视剧。演员换来缓去,剧本还是那一个。AOP至少十年前已经有人在搞搞。IOC更是好笑,用过C/C++框架的(比如 MOTIF, MFC,ATL)看到这个IOC大概都奇怪这个控制反转有什么新鲜。所谓框架,当然控制要反转,要不那不叫框架,叫API。还好Martin Fowler也看不下去了,给换了个名字叫依赖注射,要不还继续混淆视听,贻笑大方呢。
这些东西,属于“效率工具”的范畴,不是说它们没有,而是说它们只是个“器”,不能替代“道”。 把这些“器”层面的东东甘之如贻,对算法和数学这样的“道”层面的精华嗤之以鼻,这就叫“买椟还珠”,“一叶障目,不见泰山”。
最后,关于EJB和JAVA:
ORACLE 的EJB首席大拿,MICHAEL KEITH,前TOPLINK的架构师,EJB3的SPEC专家组成员,俩礼拜前自己刚刚在科罗拉多说了,EJB3里那个ENTITY,不是个EJB的。SUN 的大拿某某,MUSTANG/DOLPHIN的设计者之一(名字忘了),也讲JAVA要是再撑 10 年他就很吃惊了。老板,赶紧准备“OO时代的终结”草稿吧。
> 当然,有些想法和Lin虽然从不同角度考虑,但是还是不谋而?
> 的。数据库搬到内存这一说,Lin认为:“要是整个关系数据?
> 都搬到内存里,有点象ORACLE和SQL-SERVER正在做的内存数据
> 饽茄叵稻褪嵌韵螅韵缶褪枪叵担腔挂员チ顺诺恼
> 缓存干吗?”
>
> 当我们面对数据都在内存里时,而且内存足够大时,我们就开
> 技ι昂偷吧Φ奈侍庹郏Lin认为内存里的数据是从数据
> 饫吹模虼怂得魇菘馐瞧涓盖祝晃业谷衔捍媸瞧涓盖祝
> 存从以前我们的几十K小缓存发展到现在足够大,可以把数据?
> 都吃进来了。
>
> 有一点必须注意的是:缓存的数据不是关系数据库的数据,关
> 凳菘獾氖菔且恢止叵敌灾实氖荩捍媸嵌韵蠡捍妫
> 带有对象性质和关系的数据,用对象思路解决数据关系,这是
> /RMapping
> Hibernate/Toplink包括实体Bean(EJB3还叫实体Bean
> CMP)之类的主要设计思路,可惜Lin提了这两个名词,看出他
> ⒚挥欣斫馑堑恼孚校蛭惺菘庹飧霭ぴ谒嘉铮
> 然也可能有和我较劲的思维。
>
> 如果你经常关心软件业发展,Oracle重点放在发展中间件J2EE
> 饪樯夏悴豢赡懿恢馈?
>