论坛首页 Java企业应用论坛

商业J2EE中间件价值何在?

浏览 34455 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-06-08  
  当年曾在一家规模较大的国内软件公司干过,发现客户的IT投资可分为四大部分:硬件、数据库、中间件、业务软件,其中业务软件比值最大(因为要投入人月实施),剩下硬件、数据库、中间件的比例大约是2:2:1.5。这个比例纯粹是我个人观察,并且这些客户规模都很大,不具有典型性。
  硬件不用说,肯定是必要的,而且一分钱一分货,基本上还算明明白白。数据库因为存放着企业核心数据,宝贝万分,多花一点钱似乎也是应该的。而中间件呢,厂商宣称很有必要,很有价值,优点很多,其中有两点是必提的:对J2EE规范的完全支持、强大的可用性和可扩展性。而对规范支持必然会浓黑重彩的写上一笔的就是对EJB的支持。
  当时公司的产品只需要JSP和Servlet即可,特别是后台业务逻辑,与今天的Hibernate有点相似,基本上就是POJO,根本不需要EJB。我们通常都会明白地告诉客户不会用到EJB,但奇怪的是每一个客户最后采购时,要么会买Websphere,要么会买Weblogic,甚至相当一部分客户并不会问我们要建议,直接就选定了。当时Without EJB的旗帜还刚刚举起,国内响应的不多,而我也远谈不上资深,虽然有点小疑惑,但一直认为是自己见识太浅。
  后来碰到了一个客户,IT部门技术力量很强,愿意为省钱折腾,选择了Tomcat,先是一台PC Server,后来慢慢的扩展到了5台PC Server做Tomcat的集群。这件事让我第一次觉得花几十万块钱去买中间件似乎不值。但有朋友告诉我,要换角度思考,这样太折腾,一个技术水平高的IT人员一年的成本差不多就够买中间件的钱了。
  再后来Spring横空出世,渐成潮流,我也慢慢地见识了很多的人和很多的公司,用EJB的不多,少数有用的基本上也都有抱怨,有想换的心思。同时WebSphere、Weblogic也玩得很熟了,发现他们出错的时候一点都不比Tomcat少(尤其是Websphere,连自带jdom、xerces都会出问题,必需要更换),而且出了问题还很难找。印象深刻的一点是出了莫名其妙的问题的话,我们会先去WebSphere的Bug列表中去找,然后再怀疑产品代码。性能上也没有表现出优势,可扩展性和所谓可用性这个一时半会没有结论,我只能说我感觉,感觉Tomcat这样的开源软件也不比他们差,那个5个Tomcat集群的客户的核心业务系统就运行得很好。
  这时候我已经很怀疑商业中间件的价值了,和同事们聊天发现大家其实都有这种感觉,当时我们为商业中间件为什么这么成功,以至于客户总是会买它找了一个理由:一个预算不是特别紧张的企业,他的IT人员通常愿意购买价值高昂的的商业软件,因为他从个人角度上找不到要用开源软件的理由,使用开源软件的话,如果将来出现问题,他要承担技术决策失误的责任,但如果是商业软件的话,他将会有一个非常好的说辞,“IBM和Bea的产品都搞不定,别的就更不用说了”。
  到了06年,J2EE中间件厂商开始异口同声推出SOA的新概念,当时我就觉得是不是EJB不足以成为用户购买中间件的理由,厂商们要开始炒作新概念了?我承认我目前对SOA一知半解,但我从06年开始观察,经常也找些相关文章读读,06年过去了,07年也过去了,奥运开完了,09年到了,但我看到依然是“缺乏有说服力的成功案例”云云。
  也许我错误地看待了SOA,但我现在对商业中间件的价值表示深深的怀疑,我找不到花钱购买它理由。
   发表时间:2009-06-09  
有些应用,根本不需要EJB。有些应用,根本不需要中间件。
系统被人为的搞复杂,就像ROD说的那样:“有些技术人员想尝试新技术,让自己提高技术经验”。我说:“大概是想面子上提高项目的科技含量吧,除此之外,我找不到任何的理由”。
0 请登录后投票
   发表时间:2009-06-09  
我认为现在的商用服务器软件随着开源产品的增加,价值确实在下降。不过很多时候价值并不全在软件本身。
比如IBM的Websphere已经形成了一个超级大家族,卖的是一个整体解决方案。所有的Websphere产品可以更加容易地进行集成。而在这方面开源产品就差很多了。很多开源产品的整合缺少资料,难以获得支持。
还有就是企业原来就是用的是IBM等大公司的解决方案。继续采购其后续产品,在迁移和整合方面的成本比较小。
所以,如果你是全新购买,而且自己的技术能力又比较高的话,那么使用开源产品确实可以大大降低成本。
如果你总想获得本地化支持、全包的解决方案、对钱的敏感度不是太高,那么还是使用IBM、Oracle、Microsoft这些公司的整体解决方案吧。虽然贵,但是相对来说在纯技术方面要省心(但是如果你想在业务方面省心,那么什么公司也帮不了你),遇到问题只要给中国区的技术支持中心打个电话就可以。必要时可以花钱让对方现场服务。虽然现场贵,但是很多时候业务停机的损失更大。反正只要有钱,一切帮你搞定。
如果你使用了开源方案,那么很多技术问题就必须自己操心。遇到自己解决不了的,只能上网上进行搜索、到开源产品的论坛里发贴子、到邮件组里寻求帮助。即使是购买了商业支持,对国内企业来说也难以满足其支持需求。以Spring Server的商业支持为例,哪怕你就是肯花钱,恐怕也无法让SpringSource从国外派人过来现场帮忙。
5 请登录后投票
   发表时间:2009-06-09   最后修改:2009-06-09
servlet, jsp=J2EE? 还是回顾一下商业中间件的历史吧?


商业中间件最早是TM的形式出现的,TM=事务管理,代表是IBM的CICS和Weblogic Tuxedo,TP的出现主要是要满足高可靠性的分布性的需求,主要面对金融、电信、证券等等重要系统.

后来MS提出了COM+/MTS,这是历史上第一次出现了CTM,即组件事务管理,EJB继承了COM+的理念,进一步提出了EJB的概念。


即使Sun一再否认,但是J2EE的核心就是EJB,sun系的商业中间件也就是EJB服务器,核心还是高可靠性的分布性处理。

其他杂七杂八的servlet,jsp,无非就是相当于ASP,但是asp从来被认为是商业中间件。
5 请登录后投票
   发表时间:2009-06-09  
魔力猫咪 写道
我认为现在的商用服务器软件随着开源产品的增加,价值确实在下降。不过很多时候价值并不全在软件本身。
比如IBM的Websphere已经形成了一个超级大家族,卖的是一个整体解决方案。所有的Websphere产品可以更加容易地进行集成。而在这方面开源产品就差很多了。很多开源产品的整合缺少资料,难以获得支持。
还有就是企业原来就是用的是IBM等大公司的解决方案。继续采购其后续产品,在迁移和整合方面的成本比较小。
所以,如果你是全新购买,而且自己的技术能力又比较高的话,那么使用开源产品确实可以大大降低成本。
如果你总想获得本地化支持、全包的解决方案、对钱的敏感度不是太高,那么还是使用IBM、Oracle、Microsoft这些公司的整体解决方案吧。虽然贵,但是相对来说在纯技术方面要省心(但是如果你想在业务方面省心,那么什么公司也帮不了你),遇到问题只要给中国区的技术支持中心打个电话就可以。必要时可以花钱让对方现场服务。虽然现场贵,但是很多时候业务停机的损失更大。反正只要有钱,一切帮你搞定。
如果你使用了开源方案,那么很多技术问题就必须自己操心。遇到自己解决不了的,只能上网上进行搜索、到开源产品的论坛里发贴子、到邮件组里寻求帮助。即使是购买了商业支持,对国内企业来说也难以满足其支持需求。以Spring Server的商业支持为例,哪怕你就是肯花钱,恐怕也无法让SpringSource从国外派人过来现场帮忙。


是的,对非IT公司来说,服务还是很重要的,服务本身就具有商业价值。我个人认为对于技术产品而言,商业价值不能长久脱离技术价值单独存在,也就是既然中间件本身的技术价值在消失,那么他的商业价值也会随着渐渐消失,但中间件服务本身又具有单独的商业价值,所以将来中间件厂商可能会开源,以卖服务为主要经营模式。

一己之言,大家姑妄听之。
0 请登录后投票
   发表时间:2009-06-09  
不仅是中间件的问题,还有服务的问题。人家不缺钱,需要服务。

哪个领导愿意为公司省钱,来担责任。

钱花出去,说不准自己还得到经济好处。
1 请登录后投票
   发表时间:2009-06-09  
一句话:出了问题谁负责?找谁去?
技术并不能决定一切,技术也从来没有决定过一切。
任何社会活动都包含着各方面的掣肘因素,而项目开发,本身也是种社会活动。
0 请登录后投票
   发表时间:2009-06-09  
treblesoftware 写道
有些应用,根本不需要EJB。有些应用,根本不需要中间件。
系统被人为的搞复杂,就像ROD说的那样:“有些技术人员想尝试新技术,让自己提高技术经验”。我说:“大概是想面子上提高项目的科技含量吧,除此之外,我找不到任何的理由”。

其实说”系统被人为的搞复杂“,那么反过来问一下,你见过复杂的系统么?开发过复杂的系统么?
很多时候,大家都是人云亦云。
严肃的应用中,还真没看到面子起过多大的作用
0 请登录后投票
   发表时间:2009-06-09  
murainwood 写道
treblesoftware 写道
有些应用,根本不需要EJB。有些应用,根本不需要中间件。
系统被人为的搞复杂,就像ROD说的那样:“有些技术人员想尝试新技术,让自己提高技术经验”。我说:“大概是想面子上提高项目的科技含量吧,除此之外,我找不到任何的理由”。

其实说”系统被人为的搞复杂“,那么反过来问一下,你见过复杂的系统么?开发过复杂的系统么?
很多时候,大家都是人云亦云。
严肃的应用中,还真没看到面子起过多大的作用


采购很贵的应用服务器或者没必要的中间件,这也只会在有人出钱的时候才会有的吧,为自己做事情,其实是肯定不会的,像我们公司,现在用jboss,如果哪天jboss说要收钱了,我们会立马准备其他方案,拿掉仅有的几个ejb,转向tomcat或者jetty,肯定不会在这种没必要的地方花钱。
1 请登录后投票
   发表时间:2009-06-09  
wyuch 写道

是的,对非IT公司来说,服务还是很重要的,服务本身就具有商业价值。我个人认为对于技术产品而言,商业价值不能长久脱离技术价值单独存在,也就是既然中间件本身的技术价值在消失,那么他的商业价值也会随着渐渐消失,但中间件服务本身又具有单独的商业价值,所以将来中间件厂商可能会开源,以卖服务为主要经营模式。

一己之言,大家姑妄听之。


同意这样的观点,IT公司或者拥有强大技术背景的非IT公司选择免费开源产品当然无可厚非,但社会上大量存在的是IT基础较为薄弱的公司,他们非常需要的售后服务以及现成的完整的解决方案,商业软件也就应运而生了。

个人感觉商业中间件和免费开源产品之间的关系有点类似于品牌电脑与兼容机之间的关系,没有最好只有最合适。
2 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics