ESBMule 中间件技术资料

上传人:f****u 文档编号:116944191 上传时间:2019-11-17 格式:PPT 页数:89 大小:1.53MB
返回 下载 相关 举报
ESBMule 中间件技术资料_第1页
第1页 / 共89页
ESBMule 中间件技术资料_第2页
第2页 / 共89页
ESBMule 中间件技术资料_第3页
第3页 / 共89页
ESBMule 中间件技术资料_第4页
第4页 / 共89页
ESBMule 中间件技术资料_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《ESBMule 中间件技术资料》由会员分享,可在线阅读,更多相关《ESBMule 中间件技术资料(89页珍藏版)》请在金锄头文库上搜索。

1、Enterprise Service Bus 技术介绍 刘刚 Peking University 2011-04-01 提纲 EAI、SOA与ESB 什么是EAI 什么是SOA EAI向ESB的发展 SOA与ESB的关系 ESB的概念 什么是ESB ESB功能模型 ESB最简功能定义 ESB常用技术与规范 其它开源ESB实 ESB实现 Mule定义 Mule的工作原理 Mule ESB 案例分析 Mule ESB Hello Wrold详解 Mule ESB的总结 什么时候用ESB架构 Mule的优点和缺点 EAI、SOA与ESB 软件开发的演变历史 u面向机器语言(Monolithic)的开

2、发模式 u面向过程(Procedure)的开发模式 u面向对象(Object)的开发模式 u面向组件(Component)的开发模式 u面向方面(AOP)的开发模式 u面向服务(SOA)的模式 什么是EAI uEAI是(Enterprise Application Integration)企业应用集成。 u EAI 技术是软件行业首次尝试将市场上各种不同中间件 解决方案整合为单一产品套件。当各公司开始寻求在不 同的自动化系统间交换信息时,对 EAI 的需求也就应运 而生了。在上世纪的九十年代,企业范围内诸如客户关 系管理 (CRM) 和企业资源计划 (ERP) 等业务举措是促使 EAI 系统诞

3、生的主要驱动因素。 u在 EAI 面世之前,中间件的蓝图主要是由一系列协议栈 (例如 CORBA、Tuxedo 和 MQ)以及数据格式(XML、 XDR、固定格式、可变格式等)构成的。这些技术中的 每一项都能够在很大程度上满足企业自身的集成需要, 但是这需要选定的协议和数据格式在企业中完全通用才 能够实现。事与愿违,实际情况却是,大中型 IT 企业都 不可避免的具有异构特点。 图 1:EAI 代理程序充当交换中心角色 如图 1 所示,EAI 采用了一种简单有效的方式来解决不同应用程序间的集成问题。 EAI 软件创建了一个交换中心,用于转换不同应用程序间的数据和消息。EAI 交换中 心使用这些适

4、配程序将所有进入数据的格式重新转换为一种 EAI 交换中心内部和外发 适配程序都可以理解的通用格式,并将其称为规范格式。每个适配程序都是一个有自 主权的实体软件,存在多个分别负责管理各种应用程序特定交互操作的管理层,同时 还另具有一些传输层,用于管理与应用程序和交换中心的连接。 什么是SOA uService Oriented Architecture u 一种以服务为基础的架构 服务边界清晰 服务自治,低耦合 服务通过Schema和Contract发布,而不是Class 和Type SOA将业务应用拆分为动态的和可重 用的服务 1、将应用分解为模块和可重用的函数以及服务 ; 2、组合服务和模

5、块以符合业务需求; 3、重用现有的服务和模块以满足变化的业务需求 ; 4、SOA是软件行业为应对单一大型应用程序的管理问题 产生的解决方案; 为什么会有ESB 假如我们按照SOA的思想提炼了各种服务,并把它 暴露出来,那我们怎么调用呢? 方案一: 图3节点间互联 图3的结构只有服务,而服务的请求者和服务 的提供者之间仍然需要这种显式的点到点 调用。 设想: 如果我们用一个中间层,能够智能化管理这 些不同的服务。此时我想到了HUB-Spoke结 构,在SOA架构中的各个服务之间设置一个 类似于Hub的中间件,由它来充当整个SOA 架构的中央管理器的作用。如下图: 方案二 图4采用中间层 如图4所

6、示,现在服务的请求者和提供者之间 有了一个智能的中转站,服务的请求者不 需要了解服务提供的细节,这看上去是一 个很好的SOA结构,其实和我在前面讲的 EAI企业解决方案的思想是一样的。 问题又来了: 选择Hub的模式来构建SOA基础架构,从逻辑 的角度可能会出现哪些问题呢? u从性能方面看 每个服务的请求都要经过中央Hub的中 转,Hub的负担会很重,速度会随着服务的 怎多而俞来愈慢。 u从可用性来分析 这样的系统很脆弱,一旦Hub出错,整 个SOA架构就会瘫痪。 u从开放性来分析 这样的架构会破坏SOA的开放性原则, 参与者运行在一个相对封闭的环境中,扩 展起来十分麻烦。 因此,这个也不是理

7、想的SOA架构。 为了设计一个理想的SOA架构产生了ESB,如 下图: 图5 ESB应用 ESB与前面的Hub结构有什么不同 ? u它比单一的Hub形式更开放,总线结构有无 限扩展的可能。 u真正体现了SOA的理念,一切皆是服务,服 务在总线中处于平等的地位。即使我们需 要一些Hub,那么他们也是以某种服务的形 式部署在总线上。 SOA与ESB的关系 uSOA的概念 面向服务架构,实际上强调的是软件的一 种架构,一种支撑软件运行的相对稳定的结构 ,表面含义如此,其实SOA是一种通过服务整 合来解决系统集成的一种思想。不是具体的技 术,本质上是一种策略、思想。 u ESB的概念 企业服务总线,像

8、一根“聪明”的管道,用 来连接各个“愚笨”的节点。为了集成不同系 统,不同协议的服务,ESB做了消息的转换解 释与路由等工作,让不同的服务互联互通。 目前ESB与SOA的确切概念依然没有。但可以明确 的说SOA就是一种服务集成思想,它的不同实现方 式可能差别很大,目前SOA最常见的实现方式是SCA 和JBI。 l 首先,ESB不是SOA。SOA的最常见的实现方式方式 是SCA和JBI,而SCA的实现需要ESB,相反JBI则不需 要ESB。 l 其次,因为IBM和Oracle(收购了BEA和SUN的牛X 公司)都推崇SCA模式的SOA,因此SCA实际上已经 成为SOA的事实标准,说道SOA,最先

9、想到的就是 SCA模式了。 l 最后,ESB是SCA架构实现不可缺少的一部分,ESB 产品脱离了具体的应用外,没有任何意义。ESB的 作用在于实现服务间智能化集成与管理的中介。 通过ESB可以访问所集成系统的所有已注册服务。 ESB概念 Enterprise Service Bus uESB全称为Enterprise Service Bus,即企业服 务总线 。 uESB是传统中间件技术与XML、Web服务等 技术相互结合的产物,用于实现企业应用 不同消息和信息的准确、高效和安全传 递。 u一个ESB是一个预先组装的SOA实现,它包 含了实现SOA分层目标所必需的基础功能部 件。 uESB是一

10、种松耦合的服务和应用之间标准的 集成方式。 ESB要解决的问题 ESB功能的简单描述 u在服务与服务之间路由消息。 u在请求者与服务者之间转换传输协议。 u在请求者与服务者之间转换消息格式。 u处理来自各种异构源的业务事件。 ESB功能模型定义 1、通信 路由 寻址 通信技术、协议和标准(例如 JMS、HTTP 和 HTTPS) 发布/订阅 响应/请求 Fire-and-Forget,事件 同步和异步消息传递 2、服务交互 服务接口定义(例如,Web 服务描述语言 (Web Services Description Language,WSDL ) 支持替代服务实现 通信和集成所需的服务消息传递

11、模型(例 如 SOAP 或企业应用程序集成 (EAI) 中间件 模型) 服务目录和发现 3、集成 数据库 服务聚合 遗留系统和应用程序适配器 EAI 中间件的连接性 服务映射 协议转换 应用程序服务器环境(如 J2EE 和 .NET) 服务调用的语言接口(如 Java /C/C+/C#) 4、服务质量 事务(原子事务、补偿、Web 服务事务( WS-Transaction) 各种确定的传递范例(例如 Web 服务可靠 消息传递(WS-ReliableMessaging)或对 EAI 中间件的支持) 5、安全性 身份验证 授权 不可抵赖性 机密性 安全标准(例如 Kerberos 和 Web 服

12、务安 全性(WS-Security) 6、服务级别 性能 吞吐量 可用性 其他可以构成契约或协定的持久评估方法 7、消息处理 编码的逻辑 基于内容的逻辑 消息和数据转换 有效性 中介 :提供位置透明性的服务路由和定位服 务;多种消息传递形式;支持广泛使用的传输 协议。 对象标识映射 数据压缩 8、管理和自治 服务预置和注册 记录、测量和监控 服务发现 系统管理和管理工具的集成 自监控和自管理 9、建模 对象建模 通用业务对象建模 数据格式库 B2B 集成的公共与私有模型 开发和部署工具 10、基础架构智能 业务规则 (EIP) 策略驱动的行为,特别是对于服务级别、 服务功能的安全和质量(例如

13、Web 服务策 略(WS-Policy) ESB的架构模型 最简单ESB功能构成 支持SOA的最低功能的ESB 实现原则 ESB 是一种逻辑体系结构组件,它提供与 SOA 的原则保持一致的集成基础架构。 SOA 原则需要使用与实现无关的的接口、强调 位置透明性和可互操作性的通信协议、相对粗 粒度和封装可重用功能的服务定义。 ESB 可以作为分布式的异构基础架构进行实 现。 ESB 提供了管理服务基础架构的方法和在分布 式异构环境中进行操作的功能。 最低的ESB功能 通信 提供位置透明性的路由和寻址服务 控制服务寻址和命名的管理功能 至少一种形式的消息传递范型(例如,请求/响应、发布/订阅等 等

14、) 支持至少一种可以广泛使用的传输协议 集成 支持服务提供的多种集成方式,比如 Java 2 连接器、Web 服务、 异步通信、适配器等等 服务交互 一个开放且与实现无关的服务消息传递与接口模型,它应该将应 用程序代码从路由服务和传输协议中分离出来,并允许替代服务 的实现。 ESB常用技术与规范 XML/SOAP Web Service(技术与相关规范) JMS/Servlet/EJB JBI /SCA JBI SUN公司解决SOA的方案 SCA BEA、IBM、Oracle等知名中间件厂商联合制定的一套符合 SOA思想的规范 EIP Routing Rules Mediation Rules

15、 ESB应用 ESB在不同领域具有非常广泛的用途: 电信领域:电信行业OSS的应用整合,是理想的电 信级应用软件承平台。 电力领域:电力行业EMS的数据整合,是理想的 SCADA系统数据交换平台。 金融领域:银企间业务处理平台的流程整合,是理 想的B2B交易平台。 电子政务:支持电子政务应用软件业务基础平台、 信息共享平台、决策分析支持平台和政务门户的平 台化实现。 其它领域 ESB的应用前景 企业级应用系统一直是中国软件产业发展的 主要方向之一,占有至关重要的地位。同 时,它也受到整个世界IT发展潮流的影响, 当前IT软件领域的主要技术趋势是SOA和ESB ,原因是信息技术的不断发展和成熟使各 个企业有机会在更大的范围内整合自己的 资源,提高经营运行效率。 ESB的开源实现有哪些 它是一个轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现 的。Mule的核心组件是UMO(Universal Message Objects,从 Mule2.0开始UMO这一概念已经被组件Componse所代替), UMO实现整合逻辑。UMO可以是POJO,JavaBean等等。它支持 20多种传输协议(file,FTP,UDP,SMTP,POP,HTTP,SOAP,J

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号