如前面所述的,由于很多人已经被洗过脑,
其实IBM以及其他一些高端厂商(Oracle, BEA等)做承接的项目大部分的活计是直接再转包给其他国内的小厂商的他们自己所需要做的基本只限于“规划、咨询、建议、项目管理方法论”等一些又高端又阳春白雪的工作。不过说实话这些大厂商的总结能力真不是盖的你听了他们的咨询师的课之后大部分会感觉自己醍醐灌顶狠不得把自己的所有的系统都推倒了重来甚至狠不得把自己的业务方式都来个大变革。不过另一方面这些高瞻远瞩的规划一般也会与现实社会有很大的距离要么是客户不接受要么是监管不接受要么是现实不接受。无论如何听听绝对有好处就当开阔了思路了。既然远景做不到那么近景能做一些就做一些也是好的。首先就要听这些大厂的话选择SOA, 或是SAAS, 或是别的什么概念来做这些项目, 当然听IBM他们说这些项目的都需要J2ee来支持而最好的J2ee应用中间件当然是IBM自己的websphere什么的。其实都没所谓.net好还是Java好无关乎技术。对于厂商来说这都无非是一件武器用来对抗微软的武器罢了因为MS真得太令人害怕了需要这么多厂商来一起对抗它。为什么MS令人害怕因为以下的几个原因。1. MS是一个程序员的公司而IBM是一个营销员的公司。MS有实实在在的技术但是明显在市场头脑方面差人一等因此总是在战略上慢几拍但是后发的产品很强大。2. MS一直不停地研发。相信学MS技术的人都有感觉就是他的主导技术基本上不到三年就要整个推掉重来一次比如从ado到linq再到现在的那个什么Ado.net entity framework的东西。每一代技术都更强大但是翻新得让人追不上。这种技术创新的能力是十年不变的java阵营很害怕的。而且下一代的WPF、WCF等平台的高度和技术能力是其他厂商难以达到的。3. MS有着令人难以置信的软件产品线从操作系统到游戏甚至是机器人仿真和开发包在每一个战线上他都有产品可能是原型级的可以用来对抗全世界厂商。4. MS正在蚕食下一代程序员。因此java联盟必须努力抗击MS, 他们其实对java的低效率心知肚明但是他们已经选择了这个武器和这个招牌因此只好做足文章把数据库、应用服务器全部用java写成——当然可以用。这就够了。但是效率太低无论懂不懂技术都能看出来系统慢。那么也没问题的只要几台P590上线也就快多了。技术上也对此准备了解释是的j2ee是用于对付大批量用户的应用平台在少用户的情况下效率上不明显。但是当用户量上升到海量级别时这个系统的响应曲线一定是平缓的。而“.net一类”的响应曲线必然是陡峭的。这叫做“吞吐量”。我们得到了安慰为我们的预算支出找到了解释。每个人都满意了。至于什么时候我们会用上百万并发的吞吐量也许永远也不会不过备着这个能力也好。一度我也很相信这个含义不明的“吞吐量”指标实际上的情况如何有个例子可以参考公司里有一个系统很关键用户并不是很多,这个系统由IBM规划orcale实施运行在一个oracle cluster上数据库的存储用的是HP的11000应用服务器用两台单独的590全部资源都划为一个分区来跑。在每个月初会有几百人在里面干活系统要把上千万条数据做转换、抽取和导入ETL)每到这个时候系统就会慢得几乎不能干活登录页都需要十几秒才会响应。听说硬件组的人为了加快效率都把这个数据库的存储移到最快的硬盘条带上了还是很慢。每次登录这个系统我都能感觉到IBM和oracle的庞大重量全部压在我的鼠标上。这个例子并不是为了证明j2ee很慢。相反我认为这个系统的慢一定出现在软件的设计上那种级别的慢法一定是要有数量级上的性能提升才会有用java与C相比也不过是10倍以内的效率之差不会慢到二十秒出现登录页再过二十秒才能登录进去。因此一定是与软件、数据库的设计很有关系也就是与开发者的水平有关系只有那样才会导致几百上千倍的效率区别。