ESB系统工作原理及要求ESB全称为EnterpriseServiceBus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。ESB的基本概念企业服务总线(EnterpriseServiceBus,ESB)从面向服务体系架构(Service-OrientedArchitecture,SOA)发展而来,是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务级别上动态的互连互通,是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:①面向服务的架构—分布式的应用由可重用的服务组成;②面向消息的架构—应用之间通过ESB发送和接受消息;③事件驱动的架构—应用之间异步地产生和接收消息。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为低廉的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口2基本功能1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址进行管理。2)传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。3)中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议。4)多服务集成方式:如JCA,Web服务,Messaging,Adapter等。5)服务和事件管理支持:调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能;扩展功能1)面向服务的元数据管理:他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;2)Mediation:它必须具有某种机制能够完成中介的作用,如协议转换;3)通信:服务的发布/订阅、响应/请求、同步/异步消息、路由和寻址等;4)集成:遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。5)服务交互:服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。6)服务安全:认证和授权、不可否认和机密性、安全标准的支持等;7)服务质量:事务,服务的可交付性等;8)服务等级:性能、可用性等。ESB中最常提到的两个功能是消息转换和消息路由。4ESB架构ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。5ESB的发展在云计算应用时代,ESB将逐步发展到EBB(EnterpriseBusinessBus,企业业务总线),国际范围内EBB尚处于发展初期,当然许多人也将ESB在业务上的应用,未作区分对待而统一作为ESB看待。事实上,ESB更关注IT服务,而EBB更关注业务执行,具有不同的属性。国内在2008年就有人就EBB的发展做了专题研究,并就潍柴动力与湘火炬汽车集团结成战略联盟后形成的集齿轮箱、变速器、发动机和整车为一体的汽车产业链实例,使用面向服务的架构SOA和企业协同理念,给出了协同服务平台的设计与分析。目前国内在EBB领域研究较为超前的,是由中国最年青博士后导师之一、协达软件创先人付勇,所指导的协同软件博士后工作站。该团队所研究的成果,已经在产业应用上有良好表现,并广泛应用在办公自动化OA、企业资源计划ERP、制造执行系统MES、客户关系管理CRM等领域。6应用特征大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。让不同的应用服务协调运作,实现不同服务之间的通信与整合。ESB在不同领域具有非常广泛的用途:电信领域:ESB能够在全方位支持电信行业OSS的应用整合概念。是理想的电信级应用软件承载平台。电力领域:ESB能够在全方位支持电力行业EMS的数据整合概念,是理想的SCADA系统数据交换平台。金融领域:ESB能够在全方位支持银企间业务处理平台的流程整合概念,是理想的B2B交易支撑平台。电子政务:ESB能够在全方位支持电子政务应用软件业务基础平台、信息共享交换平台、决策分析支撑平台和政务门户的平台化实现。7主要结构ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求。它可以在不改变现有基础结构的情况下让几代技术实现互操作。通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使企业已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。更重要的是,充当“缓冲器”的ESB(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,用不着在应用程序或者数据发生变化时,改动服务代码。7.1SmartServiceBusSmartEnterpriseServiceBus™是神州数码秉承SOA理念,结合十数年企业应用集成领域的最佳实践,研发的一套功能完善、高效稳定、灵巧开放的企业服务总线中间件。作为核心的交换平台,能保证7*24小时永不间断提供服务。提供最优的扩容方式,保证扩展线性度达到100%,为组织提供高吞吐量的优质基础服务。提供灵活的部署方式,支持集中部署、分布式部署及总分结构部署。最佳的IT架构治理平台,提供基于元数据的服务治理工具和系统监控工具套件。7.2OracleServiceBusServiceBus的前身是BEA的AquaLogicServiceBus,BEAAquaLogic产品家族交付了最全面的服务基础架构产品线,可以帮助企业成功部署SOA。作为首款完全针对SOA而构建的产品套件,它为IT提供了一组统一的产品来处理消息传递、服务管理、数据一致和安全需要。OracleServiceBus为IT提供了一个理想的SOA基础,可以实现下列业务目标:通过动态配置异构共享服务之间的集成来节省时间。通过简单的集中式服务注册来减少维护工作。通过经济有效的服务部署和自动配置来降低成本。通过确保服务交互的正常进行和可用性来增加正常运行时间。通过使用服务元数据来简化共享服务的配置、集成和管理。提供支持基于SOA的业务解决方案所需的企业级可靠性和性能。[1]7.3IBMWebSphereESBIBM提供了三种ESB产品:IBMWebSphereESB、IBMWebSphereMessageBroker、IBMWebSphereDataPowerIntegrationApplianceXI50。根据您的需求选择ESB来增强您的SOA。WebSphereESB是一种基于平台的ESB,作为集成的SOA平台,针对WebSphere应用服务器进行了优化。WebSphereMessageBroker是跨平台的ESB,是为异构IT环境中的统一连接和转换而构建的。WebSphereDataPowerIntegrationApplianceXI50是一种基于设备的ESB,是为简化的部署和更强的安全性而构建的。客户面临着从简单到复杂的各式各样的ESB需求。7.4MicrosoftESB微软通过其应用平台提供了全面的ESB服务,包括:WindowsServer®2003,.NETFramework,BizTalk®Server2008R2.应用平台提供了一个基础架构,基于此可以灵活和安全地重复使用架构和商业服务,并具有协调原有的服务整合到新的端到端的业务流程中的能力。微软通过一些列的产品WindowsServer2003,the.NETFramework3.0,andBizTalkServer2006作为对企业实现ESB的支撑,MicrosoftESBGuidance是基于BizTalkServer2006一组应用,它提供以下公用的ESB组件:lMessagerouting(消息路由)lMessagevalidation(消息验证)lMessagetransformation(消息转换)lCentralizedexceptionmanagement(集中的异常管理)lExtensibleadapterframework(可扩展的适配器框架)lServiceorchestration(服务的编制支持)lBusinessrulesengine(业务规则引擎)lBusinessactivitymonitoring(业务活动监视)微软ESB指南提供了架构指导,模式和实践,以及一套BizTalkServer和.NETFramework组件来简化基于微软平台的大型或小规模的ESB解决方案的开发。它还可以帮助开发人员扩展现有的信息和集成解决方案,包括的一些服务和组件。7.5JBOSSSOAPlatformJBossEnterpriseSOAPlatform提供了一个基于标准的平台,用以集成应用、SOA服务、业务事件和自动化业务流程。这一SOA平台集成了特定版本的JBossESB、jBPM、Drools、和已得到验证的JBoss企业应用平台,把它们组织在一起形成一个单一的企业级发布。JBossEnterpriseSOAPlatform打包了不少流行组件如:lJBossESBlJBossjBPMjPDLlJBossRules(Drools)lJBossApplicationServerlHibernatelHibernateEntityManagerlHibernateAnnotationslJBossSeamlJBossWeb(嵌入式Tomcat6.0)lJBossCachelJGroupslJBossMessaginglJBossTransactionslJBossWebServices(JBossWS)lJBossXBlJBossAOPlJBossRemotinglJBossSerializationlJacORB7.6ServiceMix对ESB的实现ServiceMix是一个建立在JBI(JSR208)语法规则和APIs上的开源ESB(EnterpriseServiceBus:企业服务总线)项目。ServiceMix是基于JBI的ESB。它是开源的基于JBI语义和API的ESB和SOA工具包,以Apache许可证方式发布。它是轻量的ESB实现,易于作为嵌入式ESB使用;集成了对Spring技术的支持;可以在客户端或