`
wyuch
  • 浏览: 72807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

商业J2EE中间件价值何在?

阅读更多
  当年曾在一家规模较大的国内软件公司干过,发现客户的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,但我现在对商业中间件的价值表示深深的怀疑,我找不到花钱购买它理由。
分享到:
评论
95 楼 guoxu1231 2010-03-29  
murainwood 写道
看了某些小同学的观点,我想说下面的话:

民科和科学家最大的区别是什么?科学家想弄清楚事情的真相,行的原因是什么,不行的原因是什么,怎么严格推导和证明,怎么用实验证明,怎么处理后果,怎么利用。民科的目的就是他说什么,什么就是对的,专家的如果和他不一样,就是错的,用各种各样的“经历”和“名词”来加以强调。所以民科和科学家没法交流,民科的理论尽管没有任何用处(或害处),但讨论和对公众的不良印象损耗也是非常大的。

民科是不会因为你挖苦,鄙视,教育就可以领会如何从真正科学的角度来考虑问题的,因为他们没有这个基础。这是客观条件,没法改变的。民科只会坚持自己的观点,这是没有办法改变的,真的!别以为你可以教会试图推翻相对论的民科真正的相对论,因为他们连牛顿定律都不知道,需要好多年才能理解相对论。你是绝对没有能力让他理解相对论,然后从同一个层次来讨论的!软件架构也是一样……



不要跟傻逼辩论,他们会把你智商降低到他们的程度,然后用丰富的经验打败你.....
94 楼 taikeqi 2010-03-29  
一般来讲,在中国,做那些客户,尤其是牵涉到政府采购(社保,医保)的项目的喜欢用WebLogic/Oracle,这里有Oracle公司大量的公关工作在里面,这样的公司,绝大多数时候都用这些东西,那么即使做小项目,也一并用了。反正都很熟悉了。

还有像农业银行之类的公司,大小项目都喜欢用WebSphere。这里是IBM公司的地盘,用IBM的软件对他们的管理人员来讲有好处的。第三方做他们的项目,你必须会用WebSphere,不好用也得用!如果你说难用,那是你技术不行。

其实商业J2EE中间件价值要在于2方面:技术价值 and 商业价值。
说白了,技术价值不大,那些东西繁琐,速度慢,稳当也不好。
商业价值,大,很大,流行技术综合体,大公司品质保证的感觉。注意这是领导的感觉,不是下面技术人员的感觉!

但是技术人员中间也存在分化现象,有的人就说WebSphere很好用,如果你不会用,或不喜欢用WebSphere,而他会,领导则认为他技术比你强。






93 楼 beiyangshuishi 2010-01-19  
iaimstar 写道
一群人瞎掰掰啥呢

开发轻松?轻量级?

那你拿什么卖钱?随便一个小公司用eclipse2分钟给你搞个demo,最后交付连硬件+软件 8w搞定

不整点复杂度,不整标准,不整概念,能挣钱么?上千万的大项目,就算是忽悠,你也不能让客户自己倒吃倒吃就看明白了,还怎么拿钱?

程序员从从程序员的角度考虑,当然是怎么爽怎么来,项目里面扯的概念多,客户才认可啊



这倒是实话,以前我们公司卖给别的的软件就用jsp+servlet 就行了,但数据库和web服务器非搞 oralce 9i+weblogic不行
,结果是显而易见的因为客户对技术一窍不通,所以怎么吹是由我们说的算
92 楼 C_J 2010-01-15  
大概分下类:

##IT公司:opensource比较多(技术力量比较雄厚),像douban,ebuy,淘宝,youku等

##非IT公司:商业软件比较多

##有钱的公司:一部分全走商业解决方案,一部分用opensource并开发自己的中间件(较高的人力成本),像三大运营商,金融,政府机构。

##没钱的公司:opensource比较多,省钱

不知道大家是否同意?
91 楼 liujunsong 2010-01-14  
商业中间件的最大价值在于成功的创造出了一个属于他们的生态环境,围绕这东西有很多的外围厂家来生存.
举个对应的例子吧,可口可乐的价值难道在于那点水妈,不是,是品牌,以及附在其上面的文化,这才是真正的核心,不过这个核心必须有个载体来承载罢了.

相对而言,商业中间件的成功之处是商业上的成功,技术次之;而开源中间件的成功在于爱好与思路,与商业基本无关.

很多商业中间件之所以做成那个样子,不是技术问题,而是商业问题和政治考虑问题.
90 楼 jasonshi 2009-12-01  
wangyetao 写道
基本上就是这样,总体来说还是一个具有中国特色的,一些大的官僚机构或者垄断行业,一定是要有面子的,举个例子,如果中国移动用websphere,weblogic做服务器,那中国电信用tomcat,那岂不是太没面子了,好比人家穿着nike,你就穿着地摊上花10钱买的便宜货,面子上着实过意不去.
    因此在中国的的特殊社会,人家外国大佬们抓住了中国民众的心里,只要是牌子,国际品牌,我价格一定就要贵,越贵越好.让你买的人感觉我比较高一等!
    我们最近做的一个政府的项目,想一想,web方面一共就4个人用,也要买websphere,还要做集群,负载均衡!说出来简直可笑~~.中国的官僚!中国的面子!


负载均衡通常就是cluster,这可是个好东东,要是你开发的软件不稳定,时不时的当机,没有cluster就出丑了。

我们公司实施的一些项目,欧洲/日本以及东南亚的几个富国,用的都是weblogic/websphere/oracleIas等产品,人家就信这个。人家不差钱。再说老外的人工很贵的,搞一大堆opensource,谁来维护/管理。人家用的软硬件都是有排他性的,不会几个不同厂商混在一起,为的就是节约管理成本
倒是印度等的不发达地区,倾向使用tomcat这种免费的服务器。
89 楼 xiogxiog 2009-10-19  
别以为买了商业软件支持就好,你以为微软和IBM会支持你中小公司!?人家要卖服务的,一天至少8000块,并且有的时候你有钱没人也想买还买不到啊
88 楼 anky_end 2009-09-27  
tomcat的问题很多,weblogic我的看法的确好用多了,功能提供的也好用。

当然为此多花钱,普通用户就不必了。。。

期待更好的免费j2ee服务器
87 楼 treblesoftware 2009-06-18  
macro.son 写道
treblesoftware 写道
macro.son 写道
lonlyleo 写道
在我还没来得及深入研究EJB的时候,EJB就已经淡出我们项目组的视线了。
即使用了EJB,那也是多半部署在JBoss中,Weblogic就一两个有钱的主指定才用了,反正我们公司也赚不到这个钱(都不用我们采购Weblogic)

SOA目前看起来在我们这里似乎也还没有特别明确的应用需求,感觉我们可以用其他的一些实实在在的技术框架去解决我们的问题,这些问题看起来也像是SOA要解决的,但我们却没有已经或部分“SOA”了的感觉。

我们还没有碰到一个能把SOA的概念给我们解释得很清楚的,包括很多上门来推销SOA产品的;也许是这些SOA产品公司的销售对SOA本身也是稀里糊涂,总之,我们就是觉得他们所说的SOA好像就是模块化、组件等等类似的概念;甚至还不如OSGi来的实在。

说实话,我们现在对SOA这个概念真的很不了解,有点畏惧。随之而来的又是一大堆大词,SOA、ESB、EAI、GOD。。。。

ESB、EAI可不是什么虚幻的概念,是实实在在东东,前者用于企业应用间总线式访问调用,取代原来的EJB、JMS调用。后者常用来做系统间数据同步,关联系统间通过EAI发布和订阅文档实现业务数据同步。


这些东西我还没有接触过。不过听你这么一说,我到有种换了马甲来卖钱的嫌疑。 ESB、EAI,取代原来的EJB、JMS调用。

不解,无言...


意思就是:SOA似乎在忽悠。以前有的,换个名字。在来忽悠。
86 楼 wangyetao 2009-06-18  
基本上就是这样,总体来说还是一个具有中国特色的,一些大的官僚机构或者垄断行业,一定是要有面子的,举个例子,如果中国移动用websphere,weblogic做服务器,那中国电信用tomcat,那岂不是太没面子了,好比人家穿着nike,你就穿着地摊上花10钱买的便宜货,面子上着实过意不去.
    因此在中国的的特殊社会,人家外国大佬们抓住了中国民众的心里,只要是牌子,国际品牌,我价格一定就要贵,越贵越好.让你买的人感觉我比较高一等!
    我们最近做的一个政府的项目,想一想,web方面一共就4个人用,也要买websphere,还要做集群,负载均衡!说出来简直可笑~~.中国的官僚!中国的面子!
85 楼 javaoldboy 2009-06-18  
从程序员的角度看,似乎是完全没必要用这些的
可是如果从电信,移动局方的角度,就不一样了
84 楼 lonlyleo 2009-06-17  
macro.son 写道
lonlyleo 写道
在我还没来得及深入研究EJB的时候,EJB就已经淡出我们项目组的视线了。
即使用了EJB,那也是多半部署在JBoss中,Weblogic就一两个有钱的主指定才用了,反正我们公司也赚不到这个钱(都不用我们采购Weblogic)

SOA目前看起来在我们这里似乎也还没有特别明确的应用需求,感觉我们可以用其他的一些实实在在的技术框架去解决我们的问题,这些问题看起来也像是SOA要解决的,但我们却没有已经或部分“SOA”了的感觉。

我们还没有碰到一个能把SOA的概念给我们解释得很清楚的,包括很多上门来推销SOA产品的;也许是这些SOA产品公司的销售对SOA本身也是稀里糊涂,总之,我们就是觉得他们所说的SOA好像就是模块化、组件等等类似的概念;甚至还不如OSGi来的实在。

说实话,我们现在对SOA这个概念真的很不了解,有点畏惧。随之而来的又是一大堆大词,SOA、ESB、EAI、GOD。。。。

ESB、EAI可不是什么虚幻的概念,是实实在在东东,前者用于企业应用间总线式访问调用,取代原来的EJB、JMS调用。后者常用来做系统间数据同步,关联系统间通过EAI发布和订阅文档实现业务数据同步。


从字面上、概念定义里面能够对这些词有些感觉,但总不是那么清晰。科学家们又讲得太抽象,最好能从实际项目需求出发来讲讲:EAI/ESB/SOA这些似乎都是面对系统间的整合/交互,那么什么样的项目/场景适合实施SOA?因为项目规模很大?还是因为要集成一堆遗留系统?或者需要异构支持?实施的最佳方案是全盘更新的大蓝图还是挨个去改造现有系统?对开发团队/个人能力有何要求?

其实真的很想去理解这样一些概念,因为工作中也会经常面临系统间接口、消息/业务流程整合等;但总是感觉这样一些理论大约只会应用在中间件的实现中(并作为卖点之一),假如是我们打算自己去实施企业内部应用,不打算买中间件,估计找不到人来教我们怎么自己去实施SOA吧?

上面民科和科学家的比喻没太明白,但如果鼓吹的技术/概念只能商业产品中找到所谓实现,多数技术人员难免会有些失望,因为至少做成本考虑时总会去想一个问题:假如不买这个东东,我们自己可以怎么去做?要是技术人员自己都摸不清楚,就会有一种上商业产品贼船的感觉。

万一要交互的一堆系统中用到了PHP/Java/C/RoR等等各种五花八门的实现技术的时候,又该用什么样的方法整合、交互?大部分的技术人员可能第一时间想到WebService,毕竟对负责开发不同系统的团队来讲,WS是个很通用的交流语言,总比对所有人培训如何SOA简单吧?(也因此反证:SOA可能更适用于某公司给某局整合实施完整业务系统的场景,因为只有局里才有那个魄力每隔几年推倒一切重来一次)

已经偏离楼主的问题了:)
83 楼 macro.son 2009-06-17  
treblesoftware 写道
macro.son 写道
lonlyleo 写道
在我还没来得及深入研究EJB的时候,EJB就已经淡出我们项目组的视线了。
即使用了EJB,那也是多半部署在JBoss中,Weblogic就一两个有钱的主指定才用了,反正我们公司也赚不到这个钱(都不用我们采购Weblogic)

SOA目前看起来在我们这里似乎也还没有特别明确的应用需求,感觉我们可以用其他的一些实实在在的技术框架去解决我们的问题,这些问题看起来也像是SOA要解决的,但我们却没有已经或部分“SOA”了的感觉。

我们还没有碰到一个能把SOA的概念给我们解释得很清楚的,包括很多上门来推销SOA产品的;也许是这些SOA产品公司的销售对SOA本身也是稀里糊涂,总之,我们就是觉得他们所说的SOA好像就是模块化、组件等等类似的概念;甚至还不如OSGi来的实在。

说实话,我们现在对SOA这个概念真的很不了解,有点畏惧。随之而来的又是一大堆大词,SOA、ESB、EAI、GOD。。。。

ESB、EAI可不是什么虚幻的概念,是实实在在东东,前者用于企业应用间总线式访问调用,取代原来的EJB、JMS调用。后者常用来做系统间数据同步,关联系统间通过EAI发布和订阅文档实现业务数据同步。


这些东西我还没有接触过。不过听你这么一说,我到有种换了马甲来卖钱的嫌疑。 ESB、EAI,取代原来的EJB、JMS调用。

不解,无言...
82 楼 murainwood 2009-06-17  
看了某些小同学的观点,我想说下面的话:

民科和科学家最大的区别是什么?科学家想弄清楚事情的真相,行的原因是什么,不行的原因是什么,怎么严格推导和证明,怎么用实验证明,怎么处理后果,怎么利用。民科的目的就是他说什么,什么就是对的,专家的如果和他不一样,就是错的,用各种各样的“经历”和“名词”来加以强调。所以民科和科学家没法交流,民科的理论尽管没有任何用处(或害处),但讨论和对公众的不良印象损耗也是非常大的。

民科是不会因为你挖苦,鄙视,教育就可以领会如何从真正科学的角度来考虑问题的,因为他们没有这个基础。这是客观条件,没法改变的。民科只会坚持自己的观点,这是没有办法改变的,真的!别以为你可以教会试图推翻相对论的民科真正的相对论,因为他们连牛顿定律都不知道,需要好多年才能理解相对论。你是绝对没有能力让他理解相对论,然后从同一个层次来讨论的!软件架构也是一样……
81 楼 treblesoftware 2009-06-17  
macro.son 写道
lonlyleo 写道
在我还没来得及深入研究EJB的时候,EJB就已经淡出我们项目组的视线了。
即使用了EJB,那也是多半部署在JBoss中,Weblogic就一两个有钱的主指定才用了,反正我们公司也赚不到这个钱(都不用我们采购Weblogic)

SOA目前看起来在我们这里似乎也还没有特别明确的应用需求,感觉我们可以用其他的一些实实在在的技术框架去解决我们的问题,这些问题看起来也像是SOA要解决的,但我们却没有已经或部分“SOA”了的感觉。

我们还没有碰到一个能把SOA的概念给我们解释得很清楚的,包括很多上门来推销SOA产品的;也许是这些SOA产品公司的销售对SOA本身也是稀里糊涂,总之,我们就是觉得他们所说的SOA好像就是模块化、组件等等类似的概念;甚至还不如OSGi来的实在。

说实话,我们现在对SOA这个概念真的很不了解,有点畏惧。随之而来的又是一大堆大词,SOA、ESB、EAI、GOD。。。。

ESB、EAI可不是什么虚幻的概念,是实实在在东东,前者用于企业应用间总线式访问调用,取代原来的EJB、JMS调用。后者常用来做系统间数据同步,关联系统间通过EAI发布和订阅文档实现业务数据同步。


这些东西我还没有接触过。不过听你这么一说,我到有种换了马甲来卖钱的嫌疑。 ESB、EAI,取代原来的EJB、JMS调用。
80 楼 macro.son 2009-06-17  
lonlyleo 写道
在我还没来得及深入研究EJB的时候,EJB就已经淡出我们项目组的视线了。
即使用了EJB,那也是多半部署在JBoss中,Weblogic就一两个有钱的主指定才用了,反正我们公司也赚不到这个钱(都不用我们采购Weblogic)

SOA目前看起来在我们这里似乎也还没有特别明确的应用需求,感觉我们可以用其他的一些实实在在的技术框架去解决我们的问题,这些问题看起来也像是SOA要解决的,但我们却没有已经或部分“SOA”了的感觉。

我们还没有碰到一个能把SOA的概念给我们解释得很清楚的,包括很多上门来推销SOA产品的;也许是这些SOA产品公司的销售对SOA本身也是稀里糊涂,总之,我们就是觉得他们所说的SOA好像就是模块化、组件等等类似的概念;甚至还不如OSGi来的实在。

说实话,我们现在对SOA这个概念真的很不了解,有点畏惧。随之而来的又是一大堆大词,SOA、ESB、EAI、GOD。。。。

ESB、EAI可不是什么虚幻的概念,是实实在在东东,前者用于企业应用间总线式访问调用,取代原来的EJB、JMS调用。后者常用来做系统间数据同步,关联系统间通过EAI发布和订阅文档实现业务数据同步。
79 楼 caiwenhn2008 2009-06-17  
我们的客户全套的ibm产品线,真他娘的有钱。
78 楼 lonlyleo 2009-06-17  
在我还没来得及深入研究EJB的时候,EJB就已经淡出我们项目组的视线了。
即使用了EJB,那也是多半部署在JBoss中,Weblogic就一两个有钱的主指定才用了,反正我们公司也赚不到这个钱(都不用我们采购Weblogic)

SOA目前看起来在我们这里似乎也还没有特别明确的应用需求,感觉我们可以用其他的一些实实在在的技术框架去解决我们的问题,这些问题看起来也像是SOA要解决的,但我们却没有已经或部分“SOA”了的感觉。

我们还没有碰到一个能把SOA的概念给我们解释得很清楚的,包括很多上门来推销SOA产品的;也许是这些SOA产品公司的销售对SOA本身也是稀里糊涂,总之,我们就是觉得他们所说的SOA好像就是模块化、组件等等类似的概念;甚至还不如OSGi来的实在。

说实话,我们现在对SOA这个概念真的很不了解,有点畏惧。随之而来的又是一大堆大词,SOA、ESB、EAI、GOD。。。。
77 楼 treblesoftware 2009-06-16  
murainwood 写道
treblesoftware 写道
murainwood 写道
treblesoftware 写道
shevliu 写道
zozoh 写道
说到花季护航,我到觉得那应该是个反面教材。 要是那么搞软件公司,公司一定倒闭


我反而觉得这公司很牛b,能做到这种程度,后台真硬啊。
佛曰:有关系了,还怕倒闭么



的确,问题的最后还是钱。
WITHOUT EJB能风行的原因归根到底,还是钱。开发简单了,速度快了,人也轻松了,最后,赚的钱也就快了


赚钱快了?呵呵,软件这玩意儿,技术门槛已经低到了纺织女工都能进来扣代码的地步了。你说说看,赚钱是快了还是慢了?
一个行业,一旦成熟门槛放低之后,赚钱的关键就不是靠什么技术了。
就说通信业吧,华为最成功的地方,是把一个技术密集型的产业做成了劳动密集型。华为的技术差么?不差,而且可以说很好。电信3G设备的测试结果就能看出来。但是人家的报价却只有国外巨头的一半。
为什么能做到劳动密集型?通信业的技术也已经成熟了,用里面的人说法”快和彩电一个德行了“。这种背景下,想赚钱,仅仅靠技术,靠技术的成熟而轻松赚钱,无疑是痴人说梦--几大供应商的技术趋于同质化,你说赚钱是难了还是轻松了?

至于软件这个领域,很多方面已经发展到了可以媲美纺织业的技术成熟度。想想,你靠几个Tomcat,吹吹自己的技术实力,就想去赚钱?去轻松赚钱?


用SPRING扣,总比用EJB扣要来的快吧?一年里,用EJB你扣5个系统,用SPRING你扣10个系统,哪个来钱快?

赚钱不是说你乱扣扣就能赚的。赚钱是种社会活动,你为什么总是在一个不考虑任何其他社会因素的假设上谈赚钱呢?
如果你立足在一个不考虑任何社会因素的假设上谈技术,那么说明你只是太学院派了,但不缺可爱。
但是如果在一个虚幻的假设上谈赚钱,那么就是太天真。

感觉已经有点走题了,闪!~

76 楼 treblesoftware 2009-06-16  
macro.son 写道
treblesoftware 写道
有些应用,根本不需要EJB。有些应用,根本不需要中间件。
系统被人为的搞复杂,就像ROD说的那样:“有些技术人员想尝试新技术,让自己提高技术经验”。我说:“大概是想面子上提高项目的科技含量吧,除此之外,我找不到任何的理由”。

不同意这样的说法,在我看来:想尝试新技术,让自己提高技术经验的人,更多的是那些整天在捣鼓开源框架,用全free的软件实现商业解决方案的人。



用开源框架。全FREE实现商业解决方案也并非是件坏事。

相关推荐

Global site tag (gtag.js) - Google Analytics