企业级集成和ESB

ESB是什么?

ESB是一个主要依赖XML消息交换的企业级消息系统,这种消息继而被智能的通过一种非集中式的架构路由和转换。

开源的ESB?

Mule,ServiceMix,Apache Synapse,JBoss ESB,Sun的OpenESB和Apache Camel等。

ESB和SOA之间的关系?

原因是这两个词包含的内涵太丰富了,无法用一两句话说清楚,并且,这个词在不同的地方含义也有所不同。

SOA----面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。

ESB----企业服务总线,像一根“聪明”的管道,用来连接各个“愚笨”的节点。为了集成不同系统,不同协议的服务,ESB做了消息的转换解释与路由等工作,让不同的服务互联互通。

 

目前ESB与SOA的确切概念依然没有。但可以明确的说SOA就是一种服务集成思想,它的不同实现方式可能差别很大,目前SOA最常见的实现方式是SCA和JBI。

ESB的历史?

是从企业集成应用(EAI)衍生出来的。

看看什么是MOM

MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

面向消息的中间件使用消息传送提供者来协调消息传送操作。MOM系统的基本元素是客户端、消息和MOM提供者,后者包括API和管理工具。MOM提供者使用不同的体系结构路由和传送消息:它可以使用集中式消息服务器,也可以将路由和传送功能分布在每个客户端上。某些MOM产品结合了这两个方法。

  使用MOM系统,客户端可以进行API调用,以便将消息发送到由提供者管理的目的地。该调用会调用提供者服务以路由和传送消息。在发送消息之后,客户端会继续执行其他工作,并确信在接收方客户端检索该消息之前,提供者一直保留该消息。基于消息的模型与提供者的协调耦合在一起,使得创建松散耦合的组件系统成为可能。这样的系统可以继续可靠地工作,即使在有个别组件或连接失败时也不会停机。

  由消息传送提供者协调客户端之间的消息传送的另一个优点是:通过添加管理界面,可以监视和调整性能。这样,客户端应用程序便不必关心发送、接收和处理消息之外的任何问题。对于互操作性、可靠性、安全性、可伸缩性和性能之类的问题,应当由管理员通过编码实现MOM系统来解决。

  至此,我们已经介绍了使用面向消息的中间件连接分布式组件的很多优点。下面将介绍其缺点。缺点之一源自松散耦合本身。在RPC系统中,只有在被调用函数完成任务之后,才能返回调用函数。在异步系统中,调用方客户端会继续为接收方装入工作,直到处理装入工作所需的资源耗尽且被调用组件发生故障。当然,可以通过监视性能和调整消息流来尽量减少或避免这些情况,但对于RPC系统却不必这样做。有一点很重要,那就是了解每种系统的优缺点。每种系统所适合执行的任务都不同。有时,您需要结合两种系统才能完全获得所需的行为。

看一下结构

使用这种结构最大的优点是它是非集中式的。

将其扩展一下,将集成中介改为服务适配器,这样的功能就完全可以实现ESB了。

ESB的核心功能?

面向服务的架构 - 分布式的应用由可重用的服务组成

面向消息的架构 - 应用之间通过ESB发送和接受消息

事件驱动的架构 - 应用之间异步地产生和接收消息

协议的适配,消息的传递,智能路由,消息转换,任务/定时器,监控及可扩展的API。

ESB适用的场合?

服务化,服务虚拟化,异步通信和协议桥接。

服务化:将应用功能服务化,比如某个系统,并没有提供对外的服务接口或者提供的比较差强人意,可以考虑使用ESB。

服务虚拟化:电话的例子比较能说明问题,通常情况下你打电话只是要拨通号码,而不需要知道对方的实际位置,号码就是虚拟的服务,而实际的应用在后台进行管理。

异步通信:处理异步的消息或者异步的请求。

协议桥接:多协议之间的转换。

 

使用Apache Synapse

Apache Synapse有什么功能?

1,协议适配器

2,面向消息的中间件,可以配置与任何JMS兼容的消息系统交互

3,基于XML的可靠消息传递

4,智能路由和分发,可以实现多种方式的过滤

5,消息转换服务

6,任务/定时器,可以支持类似unix/linux的cron那样的复杂精细的排程

7,服务质量提供及web中介服务,可以实现负载均衡,故障转移的规则逻辑,可以实现消息级别的划分

8,监控和管理,提供JMX监控的支持

9,可扩展的API

时间: 2024-08-07 01:29:54

企业级集成和ESB的相关文章

WebServices应用集成框架ESB(Enterprise Service Bus 企业服务总线)

给大家介绍一个好东东,在进行系统间集成时经常利用WebService,但是从建立WebService和调用的重复性和维护性的工作量都相当大,所以接下来我将宴请大家干看不吃一顿丰盛的WebService应用框架技术大餐.         首先简单介绍一下,ESB全称为Enterprise Service Bus,即企业服务总线.它是传统中间件技术与XML.Web服务等技术结合的产物.ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素.ESB的出现改变了传统的软件架构,可以提供比传统中

面向服务架构(SOA)和企业服务总线(ESB)

学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起来探讨如何在企业里实现SOA,期望有实施SOA经验的同学发表意见. 一.SOA的历史      1996年,Gartner最早提出SOA.2002年12月,Gartner提出SOA是"现代应用开发领域最重要的课题",SOA并不是一个新事物,IT组织已经成功建立并实施SOA应用软件很多年了,BEA.IBM.等厂商看到了它的价值,纷纷跟进.S

架构那点事系列三 - 由EAI到ESB

        最近在梳理公司的EAI平台 - JCAPS,顺便翻阅了一些"历史"文献,梳理成文,希望能加深大家对SOA的认识.         ESB 是软件行业的下一代集成产品的名称.ESB 沿用企业应用程序集成 (EAI) 的技术道路前行,在改进 EAI 中的某些技术环节的同时,采用了 EAI 技术中的更为有效的方面.尽管 EAI 和 ESB 的目标相同,但是在技术体系结构方面,这两项产品的区别仍很大.        从历史上看,EAI 技术是软件行业首次尝试将市场上各种不同中间

企业IT架构转型之道:阿里巴巴中台战略思想与架构实战

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战 钟 华 编 著 图书在版编目(CIP)数据 企业IT架构转型之道:阿里巴巴中台战略思想与架构实战 / 钟华编著. -北京:机械工业出版社,2017.4 ISBN 978-7-111-56480-5 I. 企- II. 钟- III. 电子商务-商业企业管理-研究-中国 IV. F724.6 中国版本图书馆CIP数据核字(2017)第068703号 企业IT架构转型之道 阿里巴巴中台战略思想与架构实战 出版发行:机械工业出版社(北京市西城区百万

云计算的定义?七大不同诠释

硬件产品的迅猛发展,直接导致了互联网上数据量的急速增长,当海量数据作为一个概念被提出来之后,数据计量单位从GB上升到了TB进行计算.而在个人计算机端,因为一个新概念的诞生,使得用户再也不必承受海量数据级的计算.云计算--这个现今已然成为最风靡概念的词提供了应用的另一种形式. 打个比方说,如果把"云"当做是如今用户应用的Internet互联网来理解的话,那将"云"与"计算"联合之后,其中的含义就变得非常复杂了.而云计算的定义在不同的用户和厂商理解中

现代企业架构下的微服务

本文讲的是现代企业架构下的微服务[编者的话]微服务架构获得了如此多的关注,大多数的企业IT从业者也正好奇它是如何影响其他的架构模式的:比如企业集成和API管理. 本篇博文的目的是提供一个视角: 在我们引入了微服务架构到企业中以后,现代的企业机构会看起来是什么样子.(如果你对微服务架构还很陌生的话,参阅我的前一篇博文.) 关于微服务如何适用到总体的IT版图的讨论, 我以解读Gartner关于微服务的报告来开始. 微服务架构,本质上是消除了很多的复杂性,包括设计的,开发的,部署的,以及跨服务/系统通

微服务实战:从架构到部署

本文讲的是微服务实战:从架构到部署[编者的话]在这篇文章里, 计划涵盖微服务架构(MSA)的核心架构概念,以及如何在实践中使用这些架构理论. 如今,微服务"Microservices"已经成为软件架构领域最流行的热词之一.市面上也有很多与微服务的基础知识以及优点相关的学习资料,但是关于如何在真实的企业场景中应用微服务的资料还是不多. 在这篇文章里, 我计划涵盖微服务架构(MSA)的核心架构概念,以及你如何在实践中使用这些架构理论. 单体架构 企业软件设计需要满足多种多样的业务需求.因此

浅析云计算的七种应用类型

本文讲的是浅析云计算的七种应用类型,[IT168 资讯]如果说,用"云"来暗喻Internet互联网还可以理解的话,那么当"云"与"计算"联合起来后,其含义就变得庞杂而模糊了.一些分析师和厂商狭隘的将云计算定义成--由虚拟服务器组成的公用/效用计算(Utility computing)的升级版.而另一些人则定义的过于宽泛,他们坚持认为任何在防火墙外的操作均可以被视为"在云里计算",包括常规的外包. 实际上,当我们考虑到IT的实

AgileEAS.NET SOA 平台5.1开发包介绍

一.前言      AgileEAS.NET应用开发平台,简称EAS.NET,是基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET应用开发平台包含基础类库.资源管理平台.运行容器.开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计.实现.测试等开发过程的并行,基于AgileEAS.NET