对于大型公司项目平台选择j2ee的几层认识(二)

简介:

对于大型公司项目平台选择j2ee的几层认识(二)
Posted on 2010-06-01 13:32 HAL9000 阅读(3055) 评论(52) 编辑 收藏 所属分类: 技术


如前面所述的,由于很多人已经被洗过脑,还有其他很多操作上的考虑,大家都会很自觉地配合IBM的营销攻势,而且我们也衷心相信:在IBM等软件和硬件的支持下,我们的一个个系统步入了“高档系统”的行列。把.net平台留给了孩子们玩去吧。

其实,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倍以内的效率之差,不会慢到二十秒出现登录页,再过二十秒才能登录进去。因此,一定是与软件、数据库的设计很有关系,也就是与开发者的水平有关系,只有那样才会导致几百上千倍的效率区别。

因此,用什么技术效率高什么的,只是一个建立在“完全相等条件下进行比较”这个前提下的一种说法而已,现实中,你没有办法忽略具体设计人员的个人水平造成的影响。就算是有严格的数据证明说什么技术比另一个什么技术快,也不能保证“这个项目”就一定会“吞吐量大”。其实这就是一个营销手法,它在我们遇上巨额费用支出是否合理的问题时,提供自我心理安慰的理由。

既然说到了这个项目,我就用这个项目做例子,继续说我的第二层认识吧。

本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2010/07/02/1769914.html如需转载请自行联系原作者

jiahuafu

相关文章
|
6月前
|
自然语言处理 Java Go
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
158 0
|
1月前
|
存储 开发框架 安全
J2EE 技术的企业人事管理系统的设计与实现(论文+源码)_kaic
J2EE 技术的企业人事管理系统的设计与实现(论文+源码)_kaic
|
3月前
|
前端开发 Java 应用服务中间件
架构篇:Tomcat 高层组件构建一个商业帝国
架构篇:Tomcat 高层组件构建一个商业帝国
296 6
|
11月前
|
机器学习/深度学习 数据采集 并行计算
脑补出新视角,一个统一的NeRF代码库框架已开源
脑补出新视角,一个统一的NeRF代码库框架已开源
270 0
|
测试技术 API 调度
【老司机平台技术】构建应用级项目集成任务通用实验室
欢迎使用老司机平台,共同推进高效业务测试体验,地址:http://drivers.alibaba.net/背景老司机项目集成任务原计划为每一个项目老司机创建一个实验室,当项目环境部署时,会拉起这个实验室,然后触发老司机的项目集成任务。项目集成任务本身配置可触发的项目标,通过与实验室传递的项目标匹配以判断是否真正执行此集成任务。这里存在几个问题:如果每个项目都创建一个实验室,那么最终同一个应用上存在
344 0
【老司机平台技术】构建应用级项目集成任务通用实验室
|
区块链
阐述佛萨奇开发源码 佛萨奇系统开发原力方案 佛萨奇2.0版本源码部署技术解决逻辑
阐述佛萨奇开发源码 佛萨奇系统开发原力方案 佛萨奇2.0版本源码部署技术解决逻辑
|
存储 SQL 人工智能
谈谈企业如何构建现代数据平台
数据平台是一组集成的技术,它们共同满足组织的端到端数据需求。
谈谈企业如何构建现代数据平台
|
监控 前端开发 安全
大型 SPA 项目架构设计与重构
本文主要为分享我司 控制台 最近两年的架构演进,遇到的问题和解决方案等。控制台项目包含近百个不同产品,跨部门、跨地域协作开发,是一个比较典型的大型 SPA 前端项目。
大型 SPA 项目架构设计与重构
|
存储 缓存 自然语言处理
构建系统之我见
翻译稿,来是 https://ruudvanasseldonk.com/2018/09/03/build-system-insights,2018年
1236 0
|
索引
自然框架开发系列(一):自然框架 和 AgileEAS.NET 合作,开发b/s的药店系统!
  AgileEAS.NET平台开发Step By Step系列-药店系统-索引     看了药店系统系列,很敬佩作者,可以把自己的业务经验拿出来与大家分享,和作者魏琼东、CallHot 商量了一下,我们可以用药店系统的需求和业务逻辑,用自然框架做一个b/s的版本。
918 0