1.背景
企业服务总线(Enterprise Service Bus),以下简称ESB,是由过去消息中间件的发展而来。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的互连互通。
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。ESB是SOA软件构架基础设施的一种实现方式,它提供了服务通信、服务发现/注册、服务事务处理、服务管理和服务安全等功能。是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供 一系列的标准接口。
2.应用需求
通常而言,在企业和政府机构信息系统建设过程中,构建了许许多多各种类型的应用系统,这些“烟囱式”的应用系统之间彼此独立、难以通信,必然造就了各种各样的“信息孤岛”,各系统间数据不能共享,业务无法协同,已经成为了制约企业信息化进一步发展的瓶颈。
因此,企业在整合和发展信息系统时会面临两大难题:一是如何自然、有效地整合种类繁多、分散于各地、服务于不同商业目标的信息系统平台;二是如何只利用一种成熟、有效的中间件技术,就能把未来的新信息系统有机地包容到现有系统中,使现在和未来能自然而有机地结合在一起。
对于已投资的应用程序或系统将不会做太大的更改,而是被人们所接受,并且互相整合在一起。对于企业来说,他们不希望整个IT环境全部被替换掉,而是希望同时也要求现有的系统能够互相整合在一起工作,而且获得更好的效果。这样的要求,无论是对于企业高层还是对于开发人员来说,都意味着“在现有企业投资成果的基础上获取更大的收益”。如果只是简单的将现有的应用程序和系统分散再用新的代码填补其中的空白,往往不能达到这样的要求。
将现有的系统整合在一起工作并且达到更好的目标和效果,实际上是企业服务总线(ESB)所扮演的核心角色。ESB技术的特点能够帮助企业通过使用Web服务的形式保留现有IT资源的价值,并且使得现有的系统或应用程序能够更方便的互相通讯和共享数据,而这一切和底层的系统所使用的技术都是无关的。ESB满足了业务和管理层希望在现有组件基础上结合有意义的体系构架的需要,并能通过这种方式构建、部署、管理和连接跨多个不同IT环境的服务。
传统的 EAI 采用了一种中央辐条方式(hub-and-spoke)来解决不同应用系统间的集成问题,其技术机制是点对点的集成,而后来更成熟和被业界所接受的是Hub-Broker机制,即EAI 软件创建了一个交换中心,用于转换不同应用程序间的数据和消息。EAI 交换中心使用这些适配程序将所有进入数据的格式重新转换为一种 EAI 交换中心内部和外部适配程序都可以理解的通用格式,并将其称为规范格式。
在Hub-Broker机制之下的中心总线确实有可能成为系统的瓶颈,并造成额外的系统开销,或者用户必须购买更强大的硬件设备来保证总线的效率。但在ESB问世后,EAI的Hub-Broker机制已经烟消云散,代之以更灵活、轻便的结构。EAI 体系架构有其固有的局限性,限制了它提供企业级可持续解决方案的能力。

对企业而言,采用ESB中间件系统作为企业级信息系统整合方案中的中枢技术,几乎可以无须添加任何软硬件设备,就可把过去、现有和未来的IT系统整合在企业级的信息应用框架下,并且能为企业提供实时、大容量的信息通信和实时控制、管理和分配消息传递的能力。它能大大提高整个网络和信息系统的使用效率,它还能为企业节省可观的整合费用。
ESB中间件技术的强势出现不仅解决了令企业最头痛的信息系统整合问题,还能满足企业向实时型公司转型的需求。ESB的实时信息传递和大容量的信息承载能力适用于不同行业和类型的商业应用。目前,IT业界所流行的IT服务随需而动(Service on demand)、网格计算(Grid Computing)或服务导向型企业级信息系统架构(Service-Oriented Architecture,SOA)等新概念都可以使用ESB技术平台,作为其实现蓝图的工具。可以说,ESB技术平台为企业级信息系统的整合、规划、开发和建设提供了一把低成本和相对简单、实用的钥匙。
3.SynchroESB
SynchroESB是西安协同时光软件经过多年来在企业流程整合成功经验下,研发推出为企业复杂、需求苛刻的异构IT 系统集成提供解决方案的 ESB 产品。它是一种可扩展的企业服务总线 (Enterprise Service Bus,缩写为ESB);基于 JSR 208 (Java Business Integration)JBI规范的分布式 ESB;实现了面向服务架构(SOA)和事件驱动架构(EDA)的设计思想;利用对等计算模式(peer-to-peer)来进行异构系统的数据传输;采用了微内核、插件式(plug-in)的模式来降低企业IT 系统的集成成本;SynchroESB是一个敏捷、灵活的企业级ESB产品。
SynchroESB是一组可视化工具和后台应用程序的集合,用于构建、配置、部署、监控、管理和运行 ESB 网络中的服务组合。SynchroESB 包含了设计工具、UltraServer、PeerServer、组件库。

* 设计工具(SynchroESB Process Orchestration)
SPO 工具是基于 Eclipse 开发环境实现的 RPC 工具,该工具用于服务组合的设计、组件服务类别管理、规则定义、数据影射和转换,以及服务组合的上传、部署、运行。
* UltraServer
UltraServer是SynchroESB中的管理中枢 ,负责管理ESB网 络 中PeerServer各节点的配置以及运行状态;将 SPO 设计的服务组合发布到对应的PeerServer节点上;监控服务组合的活动情况。
* PeerServer
PeerServer 是一个完整的 JBI 运行环境,它是 SynchroESB 的执行容器,PeerServer 将动态安装、运行各种适配器组件;管理 endpoint 端点注册库;按照一定的策略调度 endpoint之间的路由;选择合适的通讯机制;通过线程池、集群、负载均衡保证 SynchroESB 运行时的企业级 QOS。
* 组件库(Components Library)
组件库是各种类别适配器的集合。各种适配器为SynchroESB连接企业IT 系统提供了桥梁,适配器的类别有用于传输的、实现了各种通讯协议的(http、jms、ftp、corba、soap、pop3 等);数据读取的组件(file、xsql);数据库服务组件(OutAdapter、InAdapter、QueryAdapter、Export、Import);服务组合控制的组件(bpel、drools 等);数据格式转换的组件(transform);企业各种集成模式组件(EIP)等。
4.应用价值
SynchroESB最大的技术特点在于,它是一个完全面向企业级的中间件解决方案,可以架构在企业现有的网络框架、软硬件系统之上,构筑出一个企业级的信息系统解决方案。在SynchroESB中,服务器犹如一个个汽车站,可以自由地连接和脱离SynchroESB中间件,所有的信息系统都可以通过其发送或接受任务、指令,它适用于所有的现有或未来的信息应用平台。
5.结束语
事件驱动的架构是一种非常适合SOA的体系结构,它作为SOA的一种最佳实践备受关注,而SynchroESB正是将二者联系起来的关键部分。而且,更为关键的是在大型SOA架构中,SynchroESB扩大了集成应用的集成范围,降低了集成的难度,这是以前无法想象的。只是部署和管理企业数据之间不同含义的复杂语义映射还不令人满意,这还是一个需要继续进行研究和不断创新的领域。
到目前为止,已经有很多企业采用和部署了ESB,但除了ESB外,在规划企业的SOA战略时还有很多需要考虑的。比如,需要运行很多服务,各种平台之间的交互需要保证安全,需要进行管理。幸运的是,只要符合SOA的核心思想,它们通常可以通过Web服务接口接入ESB集成到SOA环境中。