`
wyuch
  • 浏览: 74322 次
  • 性别: 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,但我现在对商业中间件的价值表示深深的怀疑,我找不到花钱购买它理由。
分享到:
评论
35 楼 wyuch 2009-06-10  
魔力猫咪 写道
开源服务器和商业服务器相比,在售后支持方面要差于商业服务器是不争的事实。即使是购买了商业支持的情况下,也有很多不足。比如文档缺乏,只有英文而无中文,文档的版本可能滞后于发布的版本。无法进行现场支持。电话支持可能只有英文而且你还得打国际长途,不能用800。邮件方面也只支持英文邮件回复。如果不购买专门的商业支持的话,最多有邮件组和论坛,而且不保证回复。
所以对开发和管理人员的要求要高于商业服务器。商业服务器卖得贵,其中的成本并不小。想想那大本大本的说明书、技术手册的维护。而且还要多语言维护。这方面的人力成本非常大。24小时免费电话支持,包括多语言支持,这些费用都相当高。而一般的开源软件公司是无力进行这些支持的。
不要总认为有问题可以到Google上去查。很多开源服务器的技术资料网上相当匮乏,你经常只能搜到一些重复的HelloWorld级的例子。比如Red5服务器,连它自己网站上的文档都不全,如果没有专门的商业支持,必须自己一点一点扣源代码。对于一个要马上上项目的企业来说是无法接受的。所以这个时候可能直接买FlashMeidaServer更合算。


Red5有体会,文档太少,有时候得自己一个个去试哪个方法有可能能用。
34 楼 HenryYu 2009-06-10  
ray_linn 写道
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从来被认为是商业中间件。

概括得很精辟,最后一句应为:asp从来没被认为是商业中间件
33 楼 Saito 2009-06-10  
   有一部分是因为技术层面. 更多的是忽悠吧.

   我最近才深刻认识到忽悠的重要性 .一定要把客户忽悠舒服了. 让他觉得我这值..就行了.
32 楼 truesmile 2009-06-10  
魔力猫咪 写道
开源服务器和商业服务器相比,在售后支持方面要差于商业服务器是不争的事实。即使是购买了商业支持的情况下,也有很多不足。比如文档缺乏,只有英文而无中文,文档的版本可能滞后于发布的版本。无法进行现场支持。电话支持可能只有英文而且你还得打国际长途,不能用800。邮件方面也只支持英文邮件回复。如果不购买专门的商业支持的话,最多有邮件组和论坛,而且不保证回复。
所以对开发和管理人员的要求要高于商业服务器。商业服务器卖得贵,其中的成本并不小。想想那大本大本的说明书、技术手册的维护。而且还要多语言维护。这方面的人力成本非常大。24小时免费电话支持,包括多语言支持,这些费用都相当高。而一般的开源软件公司是无力进行这些支持的。
不要总认为有问题可以到Google上去查。很多开源服务器的技术资料网上相当匮乏,你经常只能搜到一些重复的HelloWorld级的例子。比如Red5服务器,连它自己网站上的文档都不全,如果没有专门的商业支持,必须自己一点一点扣源代码。对于一个要马上上项目的企业来说是无法接受的。所以这个时候可能直接买FlashMeidaServer更合算。

嗯嗯,有些问题是自己没办法解决的。
以前有个多系统单点登录导致session混乱的问题,原因是公司一个Oracle的peoplesoft系统和IBM的工作流系统的session打架(原因是后来才知道的)。负责的项目组弄了一个多星期没搞定,问题的定位都定不下来。最后还是IBM新加坡实验室的人冲过来,一个下午搞定。
31 楼 truesmile 2009-06-10  
EldonReturn 写道
很多时候就是个“政治问题”。说到底就是如果出了问题谁来负责。采购商业软件,出了问题本公司IT不需要背负太多责任,可以找供应商索赔。要是采用开源的,那出了问题还不是死翘翘了。
所以在业务核心的公司,宁愿选商业软件。

对,这要看CIO能不能、敢不敢承担起这个责任了。
如果拍脑袋上了开源的产品,万一产品出了问题,又找不到人解决,会死得很难看的。
以前采用Websphere有问题,CIO可以逮住IBM的售后狂拍。用了Tomcat有问题,你拍谁去?
技术层面上好的东西,在“政治”层面可能就是一坨...
30 楼 魔力猫咪 2009-06-10  
开源服务器和商业服务器相比,在售后支持方面要差于商业服务器是不争的事实。即使是购买了商业支持的情况下,也有很多不足。比如文档缺乏,只有英文而无中文,文档的版本可能滞后于发布的版本。无法进行现场支持。电话支持可能只有英文而且你还得打国际长途,不能用800。邮件方面也只支持英文邮件回复。如果不购买专门的商业支持的话,最多有邮件组和论坛,而且不保证回复。
所以对开发和管理人员的要求要高于商业服务器。商业服务器卖得贵,其中的成本并不小。想想那大本大本的说明书、技术手册的维护。而且还要多语言维护。这方面的人力成本非常大。24小时免费电话支持,包括多语言支持,这些费用都相当高。而一般的开源软件公司是无力进行这些支持的。
不要总认为有问题可以到Google上去查。很多开源服务器的技术资料网上相当匮乏,你经常只能搜到一些重复的HelloWorld级的例子。比如Red5服务器,连它自己网站上的文档都不全,如果没有专门的商业支持,必须自己一点一点扣源代码。对于一个要马上上项目的企业来说是无法接受的。所以这个时候可能直接买FlashMeidaServer更合算。
29 楼 lnaigg 2009-06-10  
iaimstar 写道
一群人瞎掰掰啥呢

开发轻松?轻量级?

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

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

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


说到点子上。
28 楼 treblesoftware 2009-06-10  
totti19841106 写道
treblesoftware 写道
EldonReturn 写道
很多时候就是个“政治问题”。说到底就是如果出了问题谁来负责。采购商业软件,出了问题本公司IT不需要背负太多责任,可以找供应商索赔。要是采用开源的,那出了问题还不是死翘翘了。
所以在业务核心的公司,宁愿选商业软件。



这点到真说到点子上去了。我想如果系统要求的性能(开源与非开源)接近的情况下,也许这点到真的是最重要的指标了。



我倒是觉得如果用开源的话,你得有相对比较强大的技术力量去进行维护,再比如这个技术团队有一些核心离开了,很多问题就冒出来了。但是如果你用商业中间件,相对而言你的维护人员不需要要求那么高了,毕竟有原厂和第三方的支持。


比如TOMCAT,本身就有许多文档,资料可以在GOOGLE上GO到,而且使用熟练的技术,大众化的技术,问题应该不大。当然,如果系统高度复杂,那另说。
27 楼 lnaigg 2009-06-10  
中间件跟硬件、数据库一样,几乎都是属于必买的东西,赚这些钱几乎不需要什么成本,90%客户也都心甘情愿去买,作为厂商怎么可能不忽悠客户去买呢?

以上,就是这么简单。
26 楼 treblesoftware 2009-06-10  
iaimstar 写道
一群人瞎掰掰啥呢

开发轻松?轻量级?

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

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

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



要想长远的发展下去,光忽悠可不行啊。
钱要拿,但是质量一定要过硬。
25 楼 iaimstar 2009-06-10  
一群人瞎掰掰啥呢

开发轻松?轻量级?

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

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

程序员从从程序员的角度考虑,当然是怎么爽怎么来,项目里面扯的概念多,客户才认可啊
24 楼 totti19841106 2009-06-10  
treblesoftware 写道
EldonReturn 写道
很多时候就是个“政治问题”。说到底就是如果出了问题谁来负责。采购商业软件,出了问题本公司IT不需要背负太多责任,可以找供应商索赔。要是采用开源的,那出了问题还不是死翘翘了。
所以在业务核心的公司,宁愿选商业软件。



这点到真说到点子上去了。我想如果系统要求的性能(开源与非开源)接近的情况下,也许这点到真的是最重要的指标了。



我倒是觉得如果用开源的话,你得有相对比较强大的技术力量去进行维护,再比如这个技术团队有一些核心离开了,很多问题就冒出来了。但是如果你用商业中间件,相对而言你的维护人员不需要要求那么高了,毕竟有原厂和第三方的支持。
23 楼 treblesoftware 2009-06-10  
EldonReturn 写道
很多时候就是个“政治问题”。说到底就是如果出了问题谁来负责。采购商业软件,出了问题本公司IT不需要背负太多责任,可以找供应商索赔。要是采用开源的,那出了问题还不是死翘翘了。
所以在业务核心的公司,宁愿选商业软件。



这点到真说到点子上去了。我想如果系统要求的性能(开源与非开源)接近的情况下,也许这点到真的是最重要的指标了。
22 楼 totti19841106 2009-06-10  
jamesqiu 写道
应该多出现一些本土的一些开源软件技术支持公司.



咱们公司就是做中间件服务的,商业的和开源的都做,呵呵
应该说国内这方面的纯粹的第三方公司还是比较少的,主机和数据库的倒是不少。
21 楼 EldonReturn 2009-06-10  
很多时候就是个“政治问题”。说到底就是如果出了问题谁来负责。采购商业软件,出了问题本公司IT不需要背负太多责任,可以找供应商索赔。要是采用开源的,那出了问题还不是死翘翘了。
所以在业务核心的公司,宁愿选商业软件。
20 楼 Rainbamboo 2009-06-10  
深有同感,开源产品的东东我也宁愿采用较轻量的东东,比如大家常用的jboss与tomcat,以前总是怀疑jboss就比tomcat多了个ejb的支持,但小项目上我不用ejb,而且tomcat速度比jboss快,为啥不用
19 楼 treblesoftware 2009-06-10  
wyuch 写道
我的意思是,对于一个本身就不需要过分复杂的系统来说,人为的搞复杂了。我并不是否定的确需要使用分布式,的确需要中间件,的确需要XX的项目。这些技术的存在确实有它们的价值,这是不可否定的。但是100个项目,到底有多少个是需要复杂的技术呢?对于这些本来就不需要这些技术的项目,为了门面或者别的原因选择的这些技术,本身就是不合适的。比方LZ的一个例子,几个TOMCAT集群工作的很好,很稳定,这足已说明TOMCAT已经够用了。quote]
tomcat集群真的可以吗??


为什么不可以?有的系统并发量本来就不大呀。而且公司内部使用,tomcat完全可以搞定啊。当然,如果tomcat不能搞定的话,自然要想到用那些昂贵的东西了。
18 楼 treblesoftware 2009-06-10  
wyuch 写道
我的意思是,对于一个本身就不需要过分复杂的系统来说,人为的搞复杂了。我并不是否定的确需要使用分布式,的确需要中间件,的确需要XX的项目。这些技术的存在确实有它们的价值,这是不可否定的。但是100个项目,到底有多少个是需要复杂的技术呢?对于这些本来就不需要这些技术的项目,为了门面或者别的原因选择的这些技术,本身就是不合适的。比方LZ的一个例子,几个TOMCAT集群工作的很好,很稳定,这足已说明TOMCAT已经够用了。quote]
tomcat集群真的可以吗??


为什么不可以?有的系统并发量本来就不大呀。而且公司内部使用,tomcat完全可以搞定啊。当然,如果tomcat不能搞定的话,自然要想到用那些昂贵的东西了。
17 楼 treblesoftware 2009-06-10  
murainwood 写道
treblesoftware 写道
murainwood 写道
treblesoftware 写道
有些应用,根本不需要EJB。有些应用,根本不需要中间件。
系统被人为的搞复杂,就像ROD说的那样:“有些技术人员想尝试新技术,让自己提高技术经验”。我说:“大概是想面子上提高项目的科技含量吧,除此之外,我找不到任何的理由”。

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



我的意思是,对于一个本身就不需要过分复杂的系统来说,人为的搞复杂了。我并不是否定的确需要使用分布式,的确需要中间件,的确需要XX的项目。这些技术的存在确实有它们的价值,这是不可否定的。但是100个项目,到底有多少个是需要复杂的技术呢?对于这些本来就不需要这些技术的项目,为了门面或者别的原因选择的这些技术,本身就是不合适的。比方LZ的一个例子,几个TOMCAT集群工作的很好,很稳定,这足已说明TOMCAT已经够用了。

这不是分布式不分布式的问题,有些时候,是“政治问题”。再说了,昂贵的应用服务器,意味着服务支持。就好比你买电脑,花了一大笔钱,总会去在意保修售后问题的。不是用电脑的人,都能强悍到自己从CPU悍起。
自己玩,那些简单的CRUD,ASP就行了。



如果是“政治问题”,那么很简单,直接买那些昂贵的东西,反正客户给钱。
16 楼 jamesqiu 2009-06-10  
应该多出现一些本土的一些开源软件技术支持公司.

相关推荐

    J2ee中间件教程(PPT)教学资源

    **J2EE中间件教程(PPT)教学资源** 本教程是针对J2EE开发的一套详尽的PPT教程,旨在帮助学习者深入理解并掌握J2EE中间件技术。J2EE(Java 2 Platform, Enterprise Edition)是Java平台上的企业级应用开发框架,...

    J2EE与中间件技术

    J2EE 与中间件技术课件,这是前言,以后几章陆续上传

    J2EE规范&中间件介绍

    J2EE将一些繁琐的服务端任务交给中间件供应商来完成,使开发人员能够专注于商业逻辑的构建。这不仅提高了开发效率,还减少了开发成本。此外,J2EE还提供了一套全面的服务,包括事务管理、消息传递、安全性和持久性等...

    j2ee与中间件教材配套

    《J2EE与中间件:全面解读》 Java 2 Platform, Enterprise Edition(J2EE)是Oracle公司推出的企业级应用开发平台,主要用于构建分布式、多层架构的应用程序。J2EE提供了一套完整的框架和服务,包括Web组件、EJB...

    J2EE与中间件期末考点

    J2EE与中间件期末考点 J2EE(Java 2 Platform, Enterprise Edition)是一种分布式的、多层的框架,主要用于开发企业级应用程序。在这里,我们将详细介绍J2EE的架构、组件、安全模型、事务模型、远程连接模型、开发...

    中间件和J2EE技术

    ### 中间件与J2EE技术详解 #### J2EE技术概览 J2EE(Java 2 Platform, Enterprise Edition)是一种广泛应用于企业级应用程序开发的技术框架,它由Sun Microsystems提出并在2001年发布第一个版本。J2EE旨在简化企业...

    J2EE面试大全(一)

    J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)

    胡晓军中间件技术j2ee ppt

    胡晓军教授的“中间件技术j2ee ppt”课程主要涵盖了中间件技术的基本概念、J2EE架构及其在企业级应用中的重要性。中间件技术是连接操作系统、网络协议与分布式应用的关键,它屏蔽了底层系统的复杂性,使得不同系统...

    J2EE与中间件技术-J2EE应用.ppt

    【J2EE与中间件技术-J2EE应用】 Java 企业版(J2EE,现称为Java EE)是Oracle公司推出的用于开发企业级分布式应用程序的平台。它建立在中间件之上,提供了一套标准和规范,使开发者可以构建可扩展、高可用性和安全...

    如何成为J2EE架构师?请看J2EE架构师手册

    J2EE架构师手册 The J2EE Architect's Handbook: How to be a Successful Technical Architect for J2EE Applications by Derek Ashmore ISBN:0972954899 DVT Press © 2004 (284 pages) This handbook is a ...

    14基于J2EE平台的GIS地图中间件

    基于J2EE平台的GIS地图中间件的研究旨在实现地理信息系统(GIS)的分布式Web计算,从而提升WebGIS应用研究的层次。这一研究领域强调使用J2EE框架作为核心技术,结合GIS应用的需求,来设计和实现GIS地图中间件。J2EE...

    J2EE与中间件技术-3[汇编].pdf

    J2EE与中间件技术-3[汇编].pdf

    j2ee j2ee j2ee j2ee j2ee j2ee

    j2ee j2ee j2ee j2ee j2ee j2ee j2ee j2ee j2ee

    中间件及程序 java cobar j2ee

    Java Cobar和J2EE是与中间件相关的两个关键概念,它们在企业级应用开发中扮演着重要角色。 1. **Java Cobar**: Cobar是阿里巴巴开源的一个高性能、高可用的MySQL数据库代理,主要应用于分布式数据库系统。Cobar通过...

    J2EE面试题集锦(附答案) - J2EE

    **J2EE面试题集锦(附答案)** 在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)作为企业级应用开发的基石,一直备受关注。掌握J2EE技术是许多Java开发者职业生涯中的重要一步,而面试则是检验开发者技能的...

    论文研究-基于J2EE平台的GIS地图中间件.pdf

    这篇论文详细探讨了如何在J2EE框架的基础上,结合商业中间件的核心与GIS应用,设计并实现了一个GIS地图中间件,以及如何将其应用于实际项目中,从而促进Web GIS的应用研究达到一个更高的水平。 J2EE(Java 2 ...

    J2EE指南(J2EE中文教材)

    它包括了组成J2EE平台的技术以及描述如何开发J2EE组件并部署在J2EE软件开发包上。 这篇指南不是为J2EE服务器及工具供应商准备的,它没有解释如何实现J2EE结构,也没有解释J2EE软件包。J2EE规范描述了J2EE结构并可以...

Global site tag (gtag.js) - Google Analytics