传统的企业数据总线和目前的分布式消息系统有什么区别
有了它,才能释放SOA的最大价值。因此,ESB成为厂商在SOA(面向服务的架构)竞争中的焦点。 作为近两年软件领域最热门的词汇之一,SOA(Service Oriented Architecture,面向服务的架构)的概念以及SOA带来的好处,正在被用户逐步接受。Gartner的数据表明,到2007年,全球将有70%以上的大企业会将他们的应用转到SOA。但是目前CIO们最关心的是,如何才能真正实现基于SOA的应用? 在近一段时期,多家软件厂商如IBM、Sun、BEA、Oracle等都加大了对ESB(Enterprise Service Bus,企业服务总线)产品的投入力度,并声称自己的SOA解决方案因此而更加完善,ESB成为厂商在SOA竞争中的焦点。 ESB成为一种新的诱惑 ESB是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 业内对ESB的定义是:它是由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。 这样的定义稍显抽象,简单地说,ESB就是试图将应用服务器上的多种逻辑层面迁移到总线以及连接点上,从而降低企业内部信息共享的成本。IBM WebSphere软件全球副总裁Sandy Carter女士介绍说,“企业服务总线是SOA中的消息框架-即消息相互交换和通信的方式,是业界标准与客户消息框架的整合。” ESB产品的共有特性包括:连接异构的MOM(Microsoft Operations Manager)、利用Web服务描述语言接口封装MOM协议,以及在MOM传输层上传送简单对象应用协议(SOAP)传输流的能力。大多数ESB产品支持在分布式应用之间通过中间层如集成代理实现直接对等沟通。 ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。 从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。 在电信领域:ESB能够在全方位支持电信行业OSS(运营支撑系统)的应用整合概念,是理想的电信级应用软件承载平台。 在电力领域:ESB能够全方位支持电力行业EMS的数据整合概念,是理想的系统数据交换平台。 在金融领域:ESB能够在全方位支持银企间业务处理平台的流程整合概念,是理想的B2B交易支撑平台。 为SOA挑起大旗 对于SOA的概念,不同的软件提供商有不同的定义方式。很多用户也都是从不同的视角来理解SOA,从程序员的角度,SOA是一种全新的开发技术,新的组件模型,比如说Web Service;从架构设计师的角度,SOA就是一种新的设计模式,方法学;从业务分析人员的角度,SOA就是基于标准的业务应用服务。 SOA不仅是Web服务,如何让业务服务最大限度地复用才是SOA的核心价值。ESB为分散服务提供了交互、组合和治理的基础架构。有了它,才能释放SOA的最大价值。 我们可以这样来理解,ESB就是在SOA架构中实现服务间智能化集成与管理的中介。而它与SOA的关系是:ESB是逻辑上与SOA所遵循的基本原则保持一致的服务集成基础架构,它提供了服务管理的方法和在分布式异构环境中进行服务交互的功能。可以这样说,ESB是特定环境下(SOA架构中)实施EAI(enterprise application integration,企业应用集成)的方式。 IONA公司大中国区总裁薛志勇表示,采用IONA公司的ESB产品Artix作为SOA的切入点,将可以使企业以最小的投入将已有系统纳入SOA架构。 薛志勇称,目前ESB是SOA集成中最普遍采用的方法,传统的EAI和平台厂商是以“服务器”为中心、以“Hub”为形式的解决方案,这种方法虽然解决了信息孤岛问题,但投资大,见效慢,而且也不灵活。 因为ESB是传统中间件技术与XML、Web服务等技术结合的产物,对企业而言,采用ESB中间件系统作为企业级信息系统整合方案中的中枢技术,可以无须添加任何软硬件设备,就可把过去、现有和未来的IT系统整合在企业级的信息应用框架下,并且能为企业提供实时、大容量的信息通信和实时控制、管理和分配消息传递的能力。 目前,除了IONA、Tibco等专业的ESB公司外,SOA的两大领导厂商IBM和BEA也加入了ESB的阵营。 Forrester公司分析师Mike Gilpin说:“尽管人们还不十分确定如何构建出一个完整的SOA,但他们已经知道要解决集成问题,而ESB正好能帮助他们解决该问题。” 国内CIO对SOA早已听了很多。SOA的理念和他们所面临诸多挑战,SOA 的开放性和灵活性,给了CIO一个选择它的理由。然而,不菲的平台迁移成本以及缺少成功案例的佐证,都让CIO难下决心。 CIO不但要考虑必须对现有产品进行集成以支持SOA的使用场景。还必须考虑如何构建面向未来的SOA应用。ESB的出现和应用恰好为这个难题提供了一个解决之道。 甲骨文公司在去年将ESB产品内嵌在其业务流程管理产品中,今年就推出了独立的ESB产品。BEA推出了 AquaLogic Service Bus等来加强ESB的产品线。IBM在原有WBI Message Broker、WAS 6 SIBus这些集成产品之外,又推出了独立的WebSphere ESB产品。而传统的EAI厂商Tibco和WebMethods也宣布了各自的ESB产品。 BEA公司中国区技术经理刘汩春认为:“SOA的‘服务’必须是可组装编排、可快速注册发布、质量可监控、生命周期可管理的。这样SOA才能在整个 IT范围内实现服务治理和优化,从而直接推动业务的优化。而从简单的服务重用框架到SOA演进的过程中,ESB就是其中最重要的催化剂之一。” ESB的兴起让SOA的渐进之路可以走得更开放和平稳,而ESB也代表了中间件产品本身的进化方向,从应用领域而言,由于ESB是基于开放的Web服务而来,在SOA的发展过程中,ESB已经当仁不让地挑起大旗。 ESB开源之路 开源软件市场这几年的发展也早就显示出极其旺盛的生命力。Linux服务器、开源数据库、开源应用软件等产品的市场份额都已有了很大提高。开源软件已成为政府机构和企业用户节约成本的一种有效手段。 随着Java应用服务器迅速成为一种大众化商品,企业中间件也朝着开源的方向跟进。近两年,已出现了许多极其成熟的企业服务总线实施项目。 Sun在JavaOne大会上发布了自己的免费ESB。这个名为Java开放式企业服务总线的项目将放在Java.net上进行,第一个版本有望在今年夏末交付。Sun还计划把来自这个社区项目的代码包装成商用产品。 Sun的应用程序以及开发者平台的市场副总经理Joe Keller说,Open ESB将会基于Java商业集成1.0规范。还提供了使用开源代码的Java系统应用程序服务器。“这将是一个推动整个世界商业的应用程序服务器,”Keller说。 而在Sun对ESB开源前,Iona科技公司就公开了Celtix的源代码,这是采用GNU LGPL许可证的Java ESB,从而启动了ObjectWeb社区在ESB方面的工作。Iona方面声称,Celtix将支持Java商业智能(JBI)规范,该规范为跨应用集成明确规定了标准化的对象容器。 目前市场上已经有大量BEA、IBM以及Sun Microsystems等大制造商生产的ESB产品。而ObjectWeb在上星期也接收到了法国IT服务公司BULL的源代码捐赠来加速它ESB产品发展。 随着开源项目的这股趋势,这个领域的所有供应商都在观望哪个ESB会获得成功。IDC的副总裁Dennis Byron说:“拿IBM举例,如果不管什么原因ObjectWeb占据了市场!