1.ESB概述
企业服务总线( Enterprise Service Bus, ESB) 是面向服务构架( Service Oriented Architecture, SOA) 的基础设施。目的是集成异构平台的应用( 不同硬件、不同操作系统、不同数据库、不同编程语言实现的软件等) , SOA 提供服务的交互通信、协作和组合的基于网络的分布式总线。
企业业务集成最初是由手工集成向企业应用集成( EnterpriseApplication Integration, EAI)进化, 随后是面向服务的架构( Service- Oriented Architecture, SOA) EAI 需要人的参与, 针对特定的应用开发。而SOA 则具有更多的自动化功能, 它在遵循统一的标准和规范开发服务的基础上, 基于应用逻辑将企业应用分解和封装为服务单元, 通过企业服务总线, 进行业务逻
辑和业务流程定义, 自动复用, 且通过冗余服务保证可靠性。
20 世纪80 年代中期, 企业开始发布用于整合各种应用的软件, 花费了大量的人力物力。20 世纪80 年代后期, EAI 系统采用类似集线中心和代理的方式, 进行应用集成; 其后类似总线的EAI 体系结构通过中心管道的方式, 通过在各节点安放软件适配器和集成引擎, 实现分布式智能, 进行自动的、点到点的
通信, 但扩充性差, 复用性差。SOA 则通过服务接口提供灵活的、基于标准的Web 服务( XML 描述数据, WSDL 描述服务, HTTP 用于消息传输, SOAP 用于消息通信, UDDI 用于服务发现) , 复用性好, 扩充性强, 甚至可将遗留系统封装为服务。SOA 通过建立服务池, 采用ESB 能自动集成多个企业应用, 实现基于总线的多点通信。
ESB 应用领域目前集中在金融、电信、电力、政府部门等。
2.ESB原理
为了改进业务流程, 整合企业资源, 集成异构应用, 提升资产价值, IT 业界不断出现的技术趋势, SOA, 企业应用集成(EAI) , B2B( Business- to- Business) ,Web 服务( Service) ESB 吸纳了这些技术的精华, 突破传统EAI 的专有连接的局限, 构建了全新的整体架构。
ESB是从面向服务架构发展而来的。面向服务架构( ServiceOriented Architecture, SOA) 是一种定义集成基于服务的软件应用的方法, 通过服务调用和组合实现业务流程。服务是离散的功能单元, 封装了可重用的业务逻辑, 平台独立、位置透明且可互操作, 对外提供标准的调用接口。
ESB 是一个松散耦合的、分布式的、事件驱动的企业级SOA, 一个ESB 是预先组装的SOA 实现, 包含实现SOA 分层目标所必需的基础功能部件。ESB 是传统中间件技术与XMLWeb 服务等相结合的产物。ESB 提供了开放的、基于标准的消息机制, 通过标准适配器和接口, 提供应用服务与其他组件之间的互操作, 能满足大型企业异构环境的集成需求。
2.1 ESB 的主要功能如下。
数据转换与适配器: 通过预定义的接口和契约联系异构的组件。
缓冲器: 负责在服务之间转换业务逻辑和数据格式, 使得服务可被多次复用。
异步消息: 各服务之间通过基于SOAP 标准的消息通信。
服务发现: 通过UDDI 标准实现服务的动态发现。
智能路由: 它使用分布式管理功能、Web 服务池进行智能查适用的服务。
事务完整性管理: 通过原子事务服务保证事务执行的完整性。
跨平台互操作: 使用开放标准的、非专有的技术, 从而实现跨越多种平台, 进行互操作。
廉价的无缝集成解决方案: 对企业遗留系统提供服务接口, 可部署在多个标准中。
ESB 的基本原理是: 通过标准的整合技术, SOAWebServices XML 等技术融合到统一的分布式架构中, 搭建易于部署、可管理的整合基础设施。它既可集成新的应用服务, 也可通过分解、包装遗留系统, 使其提供服务接口, 从而集成已有的应用。ESB 还提供了连接企业内部和跨企业间的新的和现有软件应用系统的功能, 通过集成松散耦合的、平台独立的服务接口, ESB 充当了服务使用者和服务提供者之间的中介, 实现服务组合和业务流程自动化管理。
2.2通过ESB解决连接性问题
ESB通过以下多种能力来满足和保证应用及服务的连接性需求:
1.它能够在服务之间对消息进行匹配和路由;
2.能够在请求方与服务提供方之间转换协议;
3.能够在请求方与服务提供方之间转换消息格式;
4.还能分配和提取不同来源的业务事件。
ESB通过应用、系统和服务之间的中间层来执行上述所有任务,不仅能够确保应用的总体复杂性不会因为连接接口的增加而增加,而且在许多情况下还能帮助企业避免或降低应用的复杂性,消除应用和系统之间所有硬编码链接。ESB旨在成为所有应用、服务以及其他IT资产的信息交互龙骨,而不是让这些组件相互连接。
ESB提供多种连接功能
如果对所有的应用和有效连接都采用这种机制,则应用只需单一接口便可将ESB连接起来,
用于开展所有互动。此外,连接ESB的所有其他资产都能通过这个接口与此应用进行互动,而其他资产同样只需一个接口便可实现与ESB的连接。无论处理要求和复杂性发生怎样的变化,这些接口始终都是ESB环境中最重要的组件,并可在ESB中进行维护,以便在周围环境发生变化时确保应用能够以不变应万变。
3.ESB架构
目前, ESB 的架构尚未有一个统一的标准, 公认的含义是总线、集线器、中介等, 是一种分布式服务的集成框架。研究者提出的主要架构有: 层次模型; 基于服务提供者与服务请求者的消息总线模型等。
3.1 ESB 的架构与功能
ESB ESB 定义为Hub, 提供类似路由、缓冲、转换等功能。如图1 ESB 的体系结构。ESB 本身也可由服务构成, 包括以下组件:
(1) 异质消息( Heterogeneous Messaging) : 支持多消息模型: 同步和异步xpath注入是针对xml数据应用吗, 发布/订阅; 多消息格式: E- mail, JMS,MFL, 原始数据, XML, SOAP, 消息适配与转换等。
(2) 动态转换( Dynamic transformation) : 基于消息内容或头部信息进行动态

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。