IBM MessageBroker笔记系列(一)
前言
SOA
已经在中国喊了几年,连象牙塔的大学生都知道了,但实施的案例并不多,而作为SOA
基础设施的企业服务总线ESB
,在国内的应用更是稀少,主要都是银行和电信等大牌企业在使用。我算非常好彩,打工所在的公司恰好要为客户开发一个基于MB
和WAS
的平台,让我有很多机会接触到MB
的应用。现在国内MB
的资料非常少,主要是IBM
的红皮书,可惜全部都是英文的,看起来颇费力,效率也不高;出版物我所知的只有一本,是陈宇翔先生所著的《精通Websphere Message Broker
》【中国水利水电出版社】,也是目前手边唯一的一本参考书。因此希望将这段时间的一些使用心得记下来,作为一个从未接触过SOA
和MB
(甚至没用过websphere
产品)的菜鸟,面对这个上百万人民币的庞然大物,应该怎样下手
书评
先来说说这段时间翻阅的一些MB
的书籍,包括纸质和电子版,首先是上文说到的《精通Websphere Message Broker
》这本书。本来这种书给人的第一反应就是:一本红皮书的翻译,无非就是从IBM
的各个红皮书里面摘抄文字,翻译好之后综合一下的“大杂烩”。老实说这本书里面的确有很多翻译的内容,比如MB toolkit
中自带的一些教程,以及MB Information center
里面的部分实例,书的后半部分都是附录,包括函数库、命令库,等等。但是不可否认的是,IBM
的红皮书、InfoCenter
本身就是相当好的教程库,而这本书用到其中的内容也翻译的流畅,所以也是方便了国内读者。而且,作者本身也的确有一些MB
的使用经验,书中也有他自己的内容。所以,这本书作为入门的话,实在是比较辛苦,因为没有考虑太多初学者的难处,内容的编排也不太合理,但是作为一本参考书却是不错的选择。在如今没什么资料的情况下,最好咬牙坚持看下去。
再说说IBM
提供的电子资源,包括红皮书和网上资料,以及InfoCenter
。只要你买了MB
的产品,IBM
自然会提供一堆红皮书给你,当然你也可以慢慢从网上下载,这些红皮书很多写的不错,但是要从头看太痛苦,作参考比较好。此外如果你购买MB
的培训,那么培训机构也会给你一些pdf
材料(其实都是IBM
出品的),这些材料相对易懂,适合入门。再有就是developerWorks
,IBM
的官方技术网站,里面提供最新最全的资料,有空多去看看,也可以订阅它的邮件。最后是InfoCenter
,其实说白了是网页版的手册,可以在线看也可以下载,相对其他来说,难度介于中等,而且不像网站的资源那么零散,所以也是很好的提高阶段的学习资料。
ESB产品
如果你还不清楚ESB
的概念,和IBM
的相关产品,可以去IBM
网上查查资料,我之前也写了一篇简介http://blog.csdn.net/wangchengsi/archive/2008/02/25/2120316.aspx
作为一个菜鸟我没法全面评论当前的ESB
产品,只能记录一下自己的所见所闻(就是跟IBM
和BEA
公司打交道的时候听到的一些内容)。撇开两者的应用服务器不谈(这方面的口水战已经够多了,国内用BEA
的相对多,容易上手适合快速开发,性价比很高),SOA
和ESB
方面,IBM
无疑是走在前面的,这个可以从两者的产品线看出来。BEA
的ESB
产品只有一款AquaLogicBus
,IBM
却已经开始划分各类市场、推出不同档次的产品了(但这个也是BEA
宣传的好处之一,买一个就能到处用,见仁见智了);其二,BEA
自己的销售都对AquaLogic
不甚了解,而且在国内尚无成熟应用,这点是很多企业最关注的,没有成熟应用意味着没有好的技术支持,出了问题不知道找谁解决,甚至从没有人遇过这种问题;而IBM
这两年在SOA
的推广方面做得比较好,广告也做得多,在国内已经有一些成功案例,技术支持也更加完善,我们在广州就能直接联系到工程师,而不必等北京、上海,甚至国外的支持。
MB
在对异构环境的支持方面,做得也比AquaLogicBus
好,可以支持几十种通信协议和平台,而且天生和IBM
自家的大型机等结合的比较好,AquaLogicBus
支持的就相对比较少,主要是基于java
平台的SOA
流行协议,比如web service
,给人感觉更像是websphere ESB
的竞争对手。但是BEA
的产品向来给人的感觉是除了在IBM
的平台,其他平台上都比IBM
的同类产品性价比要高,不知道AquaLogicBus
是不是也一样表现优秀,这个就需要专业的测试了。
另外很重要的一点,就是BEA
的消息中间件做得不如IBM
的MQ
强大,而MB
又是依托于MQ
才能有如此强大的功能,这个是BEA
的销售也不得不承认的。尽管Web service
是当前SOA
的主流,但是性能方面却是不敢恭维,在企业内部实施SOA
,如果服务组件都用web service
连接,虽然更加通用、更加廉价易用,但是往往会有性能瓶颈,关键地方还得靠消息中间件。
最后呢,就是BEA
工作人员对于自家的产品,底气明显不足,一方面是不熟悉,另一方面也是国内用的少,也侧面反映了对于这类重量级产品、而且关乎整个系统性能的底层部件,人们还是倾向于选择IBM
,将来SOA
应用普及了,AquaLogicBus
肯定也会遍地开花,就像现在的weblogic
一样。只是目前来看,还是选择MB
更让人放心。
还有一个不得不提到的有力竞争者是来自开源社区的JBOSS ESB
,这个产品我没了解过,但是现在Reahat
收购了JBOSS
,在JBOSS AS
和ESB
上也下了相当大力气,誓要在SOA
市场与IBM
和BEA
分一杯羹。很看好JBOSS
的潜力,只是开源产品在中国连个服务中心都没有,暂时只能供高手们自己研究着玩了。