SOA需要ESB吗?

日期: 2009-08-23 作者:徐建明 来源:TechTarget中国 英文

  服务的监控及提供相对比较简单。最让人困惑的SOA决策是服务如何联系、服务之间应采用哪种仲裁机制。

  在理想情况下, SOA中的每个服务都应符合标准的Web服务规范,健壮可靠,而且可以供需要服务的应用或者XML负载的一系列众多授权的应用或者服务直接使用。但实际上,企业需要应对使用从MQ到AS2等各种专有协议的遗留系统。而许多人认为,只有WS-Reliable Messaging等Web服务协议完全成形,并得到广泛实施,Web服务的传送才会获得企业所需的可靠性。

  于是,ESB蜂拥而入——ESB是如今与SOA关系最紧密的一类产品。ESB是一种消息传送总线及服务平台,有了它,连接旧系统、管理及编制服务就会比较简单。与企业应用集成(EAI)产品一样,ESB也负责转换及发送消息。ESB厂商对自己的产品是否基于标准非常重视,目前大多数使用Java消息服务(JMS)或者某种专有的消息传送协议,目的是为了提供必要的可靠性。

  支持者喜欢ESB是因为ESB让他们可以配置服务、管理服务之间的联系。经历了好几年没有ESB的日子后,工资单处理服务市场的巨擘ADP公司最近采用了分布式ESB,因为“很难维护大批一对一的消息传送适配器”,该公司雇主服务部门的CIO Bob Bongiorno说。这家公司的服务数量从9个增加到了30个以上,但在此过程中,“管理难度绝不是仅仅增加了三倍”。Intuit公司集成架构解决方案部门的首席架构师Martin Moseley说,ESB适用于需要编制的长时间运行流程,譬如订单处理。在这种流程中,各步骤必须按某种次序来进行,而且整个过程都要进行验证。譬如,在计算运费或者批准使用信用卡之前,订单流程可能需要验证顾客的地址(原因是验证信用卡往往需要地址);只有完成了所有步骤,才可以发送货物清单。Intuit的订单处理系统就使用这样一种仲裁服务方法。

  但也有人认为ESB只是改头 换面的EAI而已,他们认为ESB有悖于SOA的开放性。伯顿集团的分析师Anne Thomas Manes认可使用ESB配置服务,甚至把细粒度服务编制成可广泛访问的粗粒度服务,但抨击了总线作为传送所有服务的网关这一概念,尤其当ESB消息的来回传送带来额外开销时,她更是觉得不能接受。

  我的意见是:

  根据你的项目中对soa识别,soa服务,soa接口掌握的需求程度,以及soa预算所需要的情况来决定。而且在中国,务必要考虑旧系统的整合,你要站在信息中心主任的角度去思考:我应该把这个项目定义为一个EAI项目呢?还是一个soa项目?毕竟许多国内的项目是为了soa而soa的,选择厂商的同时也就决定了你的配置,因为soa项目目前作为一个集成类项目来搞的可能性很大,经济搭台,技术唱戏。如果客户已经选了esb,那你作为架构师就要随学蠕动,充分的去搞定使用esb的问题带来的性能问题。所以需要esb与否还是要casebycase来看。架构师需要做的,还是抽象再抽象,熟练的可以进行webservice的封装调用,客户买了esb就用esb做,没有esb就自己来搞,毕竟,项目的成功验收才是王道。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 总线技术究竟该不该用?

    曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。

  • 从ESB到微服务:如何演变?

    从web开发人员的角度看,大量的微服务部署到轻量级的Karaf 容器中,这就符合了ESB的定义。

  • API设计如龙生九子 各不相同

    IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。