
ESB技术分析整理.doc
8页简述ESB全称为Enterprise Service Bus,即企业服务总线它是传统中间件技 术与XML、Web服务等技术结合的产物ESB提供了网络中最基本的连接中枢, 是构筑企业神经系统的必要元素ESB的出现改变了传统的软件架构,可以提供 比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术 差异,让不同的应用服务器协调运作, 实现了不同服务之间的通信与整合 从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机 制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一 系列的标准接口技术特点1. 监视和控制服务之间的消息交换的路由2. 解决服务组件间通信产生的冲突3. 服务的版本控制和部署控制4. 整理冗余的服务5. 满足一般的商业服务,例如事件处理,数据传输,消息映射,安全,错误处理,协议转换,保证服务通信质量等等技术方案ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接 口,来完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企 业环境的集成需求它可以在不改变现有基础结构的情况下让几代技术实现互操 作。
通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式 使企业已有的系统具有全新的服务接口, 并能够在部署环境中支持任何标准更 重要的是,充当“缓冲器”的ESB (负责在诸多服务之间转换业务逻辑和数据格式) 与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务, 用不着在应用程序或者数据发生变化时,改动服务代码图、ESB技术实现方案基本功能:1) 服务的MetaData管理:在总线范畴内对服务的注册命名及寻址进行管 理2) 传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还 包括基于内容的路由功能3) 中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持 广泛使用的传输协议4) 多服务集成方式:如JCA, Web服务,Messaging , Adaptor等.5) 服务和事件管理支持:调用服务的记录、测量和监控数据;提供事件检 测、触发和分布功能;扩展功能:1) 面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;3) 通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;4) 集成:遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
5) 服务交互:服务接口定义,服务实现的置换,服务消息模型,服务目录 和发现等6) 服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;7) 服务质量: 事务,服务的可交付性等;服务等级:性能、可用性等9) ESB中最常提到的两个功能是消息转换和消息路由开源及商业解决方案1. Mule ESB开源软件轻量级的消息框架和整合平台;基于 EIP实现;核心组件UMO实现整合逻辑;支持 20多种传输协议(File、FTP、UDP、SMTP、POP、HTTP、SOAP、JMS等)并整合了许多流行的开源项目,比如Spring,ActiveMQ,CXF,Axis,Drools 等Mule提供了以Java为中心的模型,支持jBPM,支持消息无关,没有热部署功能Mule的优点:1, 架构简单清晰、容易上手;2, 它有非常广泛的传输器、路由器和转换器,且易于扩展;3, Mule不需将消息转换成统一的格式,而只在需要时进行转换,提高了性能;4, 开发过程中无需关注 Mule代码,只需通过配置即可将服务暴露,减少了侵入性;5, 文档清晰而完善;Mule的缺点:1, 没有实现任何 ESB规范(但遵循了《Enterprise IntergrationPatterns》与 SEDA?(Staged Event-Driven Architecture) );2, 不支持热部署(企业版支持);Mule选择不实现JBI的理由:为保持其轻量级和灵活性,提高效率和 易用性。
Mule提供了一个JBI适配器来与JBI容器保持联通性2. ApacheServiceMix开源软件它 是JBI规范的一种实现;包含很熟 JBI组件这些组件支持多种协议,比如 JMS,HTTP,FTP,FILE等同时也实现了 EIP,规则和调 度ApacheServiceMix 也整合了其他的开源项目,比如 Apache、Apache、ActiveMQ CXF,Apahe Camel,Apache ODE 以及 Apache Geronimo如果要做进一步的总线上的扩展, 则需要对源代码和例子进行较为深入的学习和研究,当然这一切的基础是对 JBI的规范有较为全面的了解ServiceMix提供了 JBI支持,BPEL集成,关注XML消息和热部署功能Servicemix 的优点:1, 基于JBI规范;2, 可以热部署;3, 支持Camel (可以用DSL去开发集成流程);Servicemix 的 缺点:1, JBI规范带来了使用上的繁琐,且 JBI规范没有得到太多的青睐, 前途未卜;2, 过多依赖XML的配置;3, 由于所有消息要进行标准化处理,即生成和解析 XML文件,所以会导致性能下降;4, 开发过程中需要实现框架特定接口 (MessageExchangeListener) 接收和处理上述标准消息,侵入性强;5, 文档不健全、不够清晰;3. IBM WebSphere ESBIBM 提供了三种 ESB 产品:IBM WebSphere ESB、IBM WebSphereMessageO根据您Broker、IBM WebSphere DataPower Integration Appliance XI50的需求选择ESB来增强您的SOAo WebSphereESB是一种基于平台的 ESB, 作为集成的SOA平台,针对 WebSphere应用服务器进行了优化。
WebSphereMessage Broker是跨平台的ESB,是为异构IT环境中的统一连接和转换 而构建的WebSphere DataPower Integration Appliance XI50 是一种基于设备的ESB,是为简化的部署和更强的安全性而构建的客户面临着从简 单到复杂的各式各样的 ESB需求4. Microsoft ESB微软通过其应用平台提供了全面的 ESB服务,包括: WindowsServer®2003,.NET Framework, BizTalk®Server 2006 R2. 应用平台提供了一个基础架构,基于此可以灵活和安全地重复使用架构和商业服 务,并具有协调原有的服务整合到新的端到端的业务流程中的能力微软通过一些列的产品 Windows Server 2003, the .NET Framework 3.0,and BizTalk Server 2006 作为对企业实现 ESB 的支撑.Microsoft ESBGuidance是基于BizTalk Server 2006 一组应用,它提供以下公用的 ESB组件:I Message routing ( 消息路由)I Message validation ( 消息验证) I Message transformation ( 消息转换 )I Centralized exceptionmanagement集中的异常管理)I Extensible adapter framework( 可扩展的适配器框架)1 Service orchestration( 服务的编制支持)I Business rulesengine(业务规则引擎)I Business activity monitoring( 业务活动监视)微软ESB指南提供了架构指导,模式和实践,以及一套 BizTalk Server 和.NET Framework组件来简化基于微软平台的大型或小规模的 ESB解决方案的开发。
它还可以帮助开发人员扩展现有的信息和集成解决方案,包括的 一些服务和组件5. JBOSS SOA PlatformJBoss Enterprise SOA Platform 提供了一个基于标准的平台,用以集成应用、SOA服务、业务事件和自动化业务流程这一 SOA平台集成了特定 版本的JBoss ESB. jBPM、Drools、和已得到验证的 JBoss企业应用平台, 把它们组织在一起形成一个单一的企业级发布财政应用随着信息化程度的提高,迫切需要一个集成的平台,大大降低采取不同系统 所带来的重复性开发和集成成本,降低应用风险目前各地财政信息建设的实际 情况不同,导致实施的模式、系统提供商也不尽相同,如: 陕西省财政一体化应用这样就导致财政的信息化建设存在以下一些问题:1) 缺乏统一规划、集成的信息系统,“信息孤岛”现象严重,财政各类资源 无法实现共享和优化2) 应用系统不易改变传统的应用程序基本上是根据给定的业务需求定制 开发,业务功能依赖复杂的技术手段实现,系统都是刚性的整合各业务应用,消除信息孤岛,实现各个应用系统的信息和资源共享,提 高财政的信息化建设水平实现跨地区乃至跨部门间广泛的数据共享和信息交 换。
面向服务架构SOA,以其可靠、稳定的性能,先进的 SOA架构、灵活的开 发部署模式和统一安全的认证模式,作为资源、应用集成和交换的服务平台应用 于政府部门信息整合解决方案之中,实现统一信息资源、统一信息标准、统一安 全性能、统一基础应用平台,为政府领导决策和公共服务支持起到了重要的支撑 中枢作用。
