严重质疑J2EE


4年前就开始怀疑,边怀疑边用,现在只有更加怀疑......



用户都以为J2EE能够给他们带来光明的IT前景,其优点是由一堆眩目的名词组成的,并且体现出了你能想像到的技术所能体现的一切优势。然而,事实表明,它只是为IT部门找到了一个可以无节制地花钱的不可反驳的借口。

J2EE告诉人们,好的技术架构很重要。然而,J2EE所推崇的技术架构,每年都在改变和出新。每次出新之后,都会有无数光环和吹捧笼罩在这个新出 现的事物上,什么EJB、Hibenate、Structs、JDO...等等,以及各种大小版本的互不兼容的“升级”。根据过去的经验,可以预言不出二 年就会有新的东西来替代现在的光环。举例来说,象EJB这样蠢笨的技术,为了使软件更加易于编写和维护,推出了所谓“数据持久化”;而“数据持久化”不具 备性能上的可行性,因此,再为了在理论上提高性能而推出完全没有实用意义的业务组件分布(象过时的CORBA一样);从而导致软件的编写和维护比不用 EJB要难得多。绕了这么一个圈子,没有达到任何目的,却迷惑了无数人。

在光环之外的朴素原理反而受到冷落、无人尊重。成本加大、开发周期变长、复杂的技术架构......带来的结果,竟然是性能更低、反应更慢、出错更 多、维护更难,以及要面临各种版本变化和不兼容的问题。当用户在所谓的J2EE潮流后面疲于奔命时,根本就忘记了当初选择J2EE的初衷——更稳定、更可 靠、高性能、以及最终的低成本。J2EE曾经的迷人承诺,不仅远远没有实现,而且现实根本是与初衷分道扬镳,永远都无望了。

所谓跨平台,实际上也是一套美丽的谎言。对于软件公司来说,开发一个软件,卖给各种客户。对于客户端应用系统和嵌入式应用系统来说,也有普遍应用在 不同终端上的意义。可是,对于企业级应用系统(J2EE),往往是装在一台服务器上、使用浏览器作为客户界面,跨平台有什么意义呢?政府也好、企业也罢, 上一套软件系统,同时也会配备相应的硬件设备。难道说,今年用的是Intel+Windows,明年就非要换成IBM+AIX,有这个必要吗?这年头,无 论什么硬件平台,它的性能都足够地好。换平台,这不是自己没事找事哪!难道为了这种只有理论上存在的更换平台的可能性,就要去牺牲性能、增加成本,再拿客 户当实验室里的白老鼠来试验各种“新技术”?

SUN是一家太过弱小的公司,以至于它不可能掌握它所创建的帝国。Java的一切都掌握在那些貌似拥戴SUN的技术却各自心怀鬼胎的公司手中,可能 最重要的原因之一,是为了找到一个对抗MS的支点和标榜自己的旗帜——揭穿了,是完全的公司利益,不存在任何技术上的创造性,更不值得那么多Java Fans的摇旗呐喊。

然而,J2EE的影响就是这样实实在在。大企业的董事长们从来没有这样深信过技术上的意识形态,以至于他们也开始关心什么EJB之类的词汇。谁能想到,在看起来最为理性和朴素的技术之下,竟然有如此铺张的谎言和气泡般的迷信?

据说,J2EE准备不再叫J2EE,而要叫JEE5或者什么东西。EJB的拥戴者们也开始反醒,说在绝大多数场合EJB甚至还不如最基本的JDBC 有效和实用。看起来,以前被“忽悠”得猛上EJB的用户只有自认倒霉,并只有准备掏银子迎接下一个技术潮流的份儿。晕~~~~如此混乱,还想领袖群伦?谁 能告诉我,除了所吹嘘的和没有实际意义的“跨平台”,J2EE到底有什么实实在在的好处?搞技术的同志们,你们应该是最实事求是的啊!