我是靠谱客的博主 受伤大侠,最近开发中收集的这篇文章主要介绍ESB介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


企业服务总线,即ESB全称为(Enterprise Service Bus),指的是传统中间技术与XML,Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要的元素。

企业服务总线ESB就是⼀种可以提供可靠的、有保证的消息技术的最新⽅法。ESB中间件产品利⽤的是Web服务标准和与公认的可靠消息MOM协议接⼝(例如 IBM的WebSphere MQ、Tibco的Rendezvous和Sonic Software的SoniCMQ)。ESB产品的共有特性包括:连接异构的MOM、利⽤Web服务描述语⾔接⼝封装MOM协议,以及在MOM传输层上传送简单对象应⽤协议(SOAP)传输流的能⼒。⼤多数ESB产品⽀持在分布式应⽤之间通过中间层如集成代理实现直接对等沟通。

企业服务总线(Enterprise Service Bus,ESB)的概念是从⾯向服务体系架构(Service -Oriented Architecture, SOA)发展而来的。SOA描述了一种IT基础设施的应用集成模型,其中的软构件集是以一种定义清晰的层次化结构相互耦合,其中,一个ESB是一个预先组装的SOA实现,它包含了实现SOA分层目标所必需的基础功能部件。

定义:面向服务的体系结构已经逐渐成为IT集成的主流的技术。面向服务的体系结构(Service-oriented architure,SOA)是一种软件系统设计方法,通过已经发布的和可发现的接口为终端用户应用程序或其他服务提供服务。

面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者更迅速、更可靠、更具重用性地架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。

一、ESB的出现改变了传统的软件架构

ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

二、企业服务总线(ESB)的用处

ESB不是万能的,他不是一个应用程序框架,也不是一个企业应用的解决方案。它只是一个基于消息的调用企业服务的通信模块。你可以把它嵌入到你的应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中,它的作用是对企业里面的SOA服务的调用提供一个框架和简便的方法。

三、企业服务总线(ESB)的应用特征

大规模分布式的企业应⽤需要相对简单实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。
支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务协调运作,实现不同服务之间的通信与整合。ESB在不同领域具有非常广泛的用途:

电信领域:ESB能够在全方位支持电信行业OSS的应用整合概念。是理想的电信级应用软件承载平台。

电力领域:ESB能够在全方位支持电力行业EMS的数据整合概念,是理想的SCADA系统数据交换平台。

金融领域:ESB能够在全方位支持银企间业务处理平台的流程整合概念,是理想的B2B交易支撑平台。

电子政务:ESB能够在全方位支持电子政务应用软件业务基础平台、信息共享交换平台、决策分析支撑平台和政务门户的平台化实现。

四、几种ESB的结构和功能

ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应⽤(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求。它可以在不改变现有基础结构的情况下让几代技术实现互操作。

通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使企业已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。更重要的是,充当“缓冲器”的ESB(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,用不着在应用程序或者数据发生变化时,改动服务代码。


SOA 把 IT 架构分为组件层、Web 服务层、业务流程层等。

组件层:包括各种应用组件,它们通常是技术相关的具体实现,各种具体的 分布式组件技术(CORBA、COM/DCOM、J2EE) 都可以用于实现组件层的应用组件。通常复杂的 IT 环境中的组件层都同时使用了多种分布式组件技术,而不同实现技术之间的互联性障碍给应用集成带来了极大的困难,进而形成了一个个信息孤岛。SOA 引入了Web 服务层来解决此种情况下的应用集成问题。

Web 服务:是独立于各种分布式组件技术的,它使用标准的基于 XML 的服务描述语言(Web Service Description Language,WSDL)来定义和封装离散的业务功能, 各种支持 Web 服务的分布式组件技术能够将其上的业务组件发布成 Web 服务并产生相应的 WSDL 文档,并且只需要依据 WSDL 描述的信息就能够调用 Web 服务,即 WSDL 所描述的业务功能。 Web 服务在系统集成方面得到了广泛的应用。在 SOA 中,需要进入系统集成环节的业务组件都被映射为 Web 服务,形成了 Web 服务层。业务流程层则处于 Web 服务层之上,通过对 Web 服务的流程编排来实现商业流程。业务流程层通过 Web 服务层能够调用到基于各种分布式组件技术实现的业务组件,实现了复杂 IT 系统环境的应用集成。

组件层:使用具体的分布式组件技术实现业务功能,Web 服务层则为组件层提供了一种技术无关的通用访问方式,屏蔽组件层具体技术之间的差异,突出业务逻辑的封装性。组件层中的业务组件和 Web 服务层的 Web 服务构成了企业 IT架构的主要可重用部件,它们应该保持相对的稳定,业务流程层则通过对服务进行编排,来适应业务需求的变化。将组件层的业务组件映射为 Web 服务层的服务是成功实现 SOA 的关键步骤,目前对于特定的业务组件,业界广泛使用具体于分布式组件技术内建的支持 Web 服务的功能来实现组件与服务的映射。这种映射方法高度依赖于具体分布式组件技术本身,并且在使用和定制的过程中缺乏灵活性,当某个 Web 服务的实现需要多个分布式组件技术中的业务组件实现时,这种映射方法就会无法支持。

企业服务总线(Enterprise Service Bus,ESB)是构建基于面向服务体系结构(SOA)解决方案时所使用基础架构的关键部分,是由中间件技术实现并支持 SOA 的一组基础架构功能。ESB 支持异构环境中的 服务、消息,以及基于事件的交互,并且具有适当的服务级别和可管理性。简而言之,ESB 提供了连接企业内部及跨企业间新的和现有软件应用程序的功能,以一组丰富的功能启用管理和监控应用程序之间的交互。

在 SOA 分层模型中,ESB 用于组件层以及服务层之间,它能够通过多种通信协议连接并集成不同平台上的组件将其映射成服务层的服务。

作为 SOA 基础架构的关键部分,ESB 的功能主要体现在通信、服务交互、应用集成、服务质量、安全性以及管理和监控等方面。

在通信方面,ESB 能够支持消息路由/寻址,支持多种通信技术、通信协议(如 JMS、HTTP),支持发布/订阅的通信模式,能够处理请求/响应、同步以及异步的消息传递方式,并且要求以可靠的方式传递消息。

服务交互方面,ESB 上所发布的服务是以当前标准的Web 服务描述语言(WebServicesDescriptionLanguage)来定义 Web 服务的,并且 ESB 上通常配备有服务目录和发现机制。ESB 的重要功能就是集成不同的系统,必须能够支持多种接入 ESB 的方式(例如将 ESB、WebService、CORBA 以及使用 Socket 等方式访问的遗留系统接入到 ESB 系统),将接入的系统映射
成 Web 服务。在集成不同系统的同时,必须考虑服务质量方面的问题,如事务性和消息传递的可靠性。对于关键的 Web 服务,ESB 需要以加密的方式进行消息传递,并且必须验证访问者的权限。ESB 软件作为 SOA 基础架构的一个复杂子系统,还必须配有相应的管理和监控功能,用于 ESB软件自身的系统管理、日志记录、测量和监控等。目前国内外对企业服务总线的研究都比较积极,IBM 的 ISV、BEA 的 AquaLogicServiceBus、开源的 Mule、Sun 领导的 JBI 规范草案等,都是企业服务总线的具体实现。

最后

以上就是受伤大侠为你收集整理的ESB介绍的全部内容,希望文章能够帮你解决ESB介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部