精华内容
下载资源
问答
  • ESB企业服务总线到底是什么东西呢?
    万次阅读
    2018-01-17 18:31:56

    下面来说一下你的问题。顾名思义,企业服务总线(ESB)就是一条企业架构的总线,所有的企业服务都挂接到该总线上对外公布,企业服务总线负责管理服务目录,解析服务请求者的请求方法、消息格式,并对服务提供者进行寻址,转发服务请求。说白了,它就是服务的请求者和服务的提供者之间的一个中间件,就是对服务使用者屏蔽服务提供方的技术实现方式。如果没有这个总线,那么服务的请求者则必须自己知道它所需要的服务的地址,并要知道相应的服务调用方法,消息格式,这样的调用是点到点的,不利于服务的统一管理,不利于不同格式的服务的集成。


    ESB可以说是搭建SOA架构所必须实现的核心功能组件。总的来说,它的主要功能和职责是消息解析,验证,服务路由转换,请求的传递,服务目录管理。ESB使用SOAP消息格式,支持HTTP(S)、JMS、MQ、FTP、SMTP等传输协议。


    ESB也可以说是传统中间件技术与XML、Web服务等技术相互结合的产物。


    从软件设计的角度上来说,ESB是一个抽象的间接层,提取了服务调用过程中调用与被调用动态交互中的一些共同的东西,减轻了服务调用者的负担。要记住一句话:“所有的软件设计的问题都可以通过增加一个抽象的间接层而得到解决或者得到简化!!!”这句话在java编程思想这本书上有,但还是要通过不断的实践才能真正深入地理解它!



    http://www.jdon.com/32626



    更多相关内容
  • 企业服务总线ESB什么

    万次阅读 多人点赞 2018-01-17 18:25:14
    在探讨信息系统的SOA架构概念时,一个非常重要的概念是:企业服务总线(ESB)。可以说,企业服务总线也是SOA的核心构成部分。要真正实现应用架构完善的SOA结构,简化SOA构件间的关系,就一定要建设好信息系统的企业级...

     在探讨信息系统的SOA架构概念时,一个非常重要的概念是:企业服务总线(ESB)。可以说,企业服务总线也是SOA的核心构成部分。要真正实现应用架构完善的SOA结构,简化SOA构件间的关系,就一定要建设好信息系统的企业级服务总线。

      一、ESB企业服务总线的概念

      二、建立银行的企业服务总线

      三、银行服务总线的标准功能

      四、企业服务总线的架构

      一、ESB企业服务总线的概念

      (一)总线的概念

      在世界的各种类事物里,总需要相互联系和沟通。这些事物包括人与人之间,组织与组织之间,物理设备之间,应用程序与应用程序之间。

      在没有总线的概念前,这些联系与沟通是自然发展建立起来的,一开始通常都呈现为点对点模式:

      点对点的连接方式在连接对象比较少的时候,确实是一种简单和高效的连接方式。但其最大的问题是,当连接对象多的时候,连接路径会以指数方式剧增。连接路径数与连接对象数之间的关系是:

      具体数字看下表:

      可见,点对点的连接方式有以下明显的缺陷:

      如果连接对象比较多,连接路径会非常多。连接拓扑图是一个复杂的多对多的网状结构。

      如果连接对象各自的连接方式有差异,如:对于程序的连接,如果沟通的语言、文字、格式、方法等有差异,则每一个连接方都要同时支持和维护多种连接方式。

      当某一个连接对象的连接方式发生变化,会引起其他所有与之连接的连接方有所变化。

      基于以上几点,在多点互连的情况下,点对点连接方式成本高,可用性和可维护性低。显然不是一个好的连接方式。

      随着技术的发展,另外一种连接方式开始逐步取代点对点的连接方式。这就是总线连接方式:

      与点对点连接方式最大的区别是,总线连接方式把多对多的连接方式变成一对一的方式。所有连接方均与总线连接,然后通过总线再连接到需要连接的对方。这样,无论连接对象有多少,其连接路径数与连接方的数量永远一样。整个连接拓扑图是一个简单的星形结构。

      不同连接对象如果连接方式有差异,可以通过总线完全屏蔽掉,做到对连接对象透明,无需各个连接对象关心。

      总线的连接方式最早在许多硬件设计上得到广泛的使用。如处理芯片数据总线,网络节点的交换机,大型计算机系统处理器与外围存储设备连接的集线器等。通过总线结构,把原来复杂的网状结构变成简单的星形结构,极大提高了硬件的可靠性和可用性。

      (二)服务总线

      随着计算机信息系统的发展,信息系统也越来越庞大、越来越复杂。总线的概念也引入到信息系统的架构建设上。跟随SOA的概念,信息系统的总线通常叫服务总线。其战略层的总线称之为企业服务总线(ESB)。

      关于企业服务总线的概念,业界有许多定义,但一些基本定义是一致的,归纳如下:

      企业服务总线是一个具有标准接口、实现了互连、通信、服务路由,支持实现SOA(Service Oriented Architecture,面向服务架构)的企业级信息系统基础平台。它提供消息驱动、事件驱动和文本导向的处理模式,支持基于内容的服务路由。SOA架构将各应用服务器(包括异构的服务器)上的各种服务连接到服务总线上,支持分布式的存储及分布式的处理、异步处理。为信息系统的真正松耦合提供了架构保障。简化了企业整个信息系统的复杂性,提高了信息系统架构的灵活性,降低企业内部信息共享的成本。

      (三)企业服务总线的功能

      通常认为,企业级服务总线需要具备如下功能:

      1、 服务统一管理

      为整个系统提供一个统一的、标准的、可靠的、可扩展的服务管理平台。

      2、集成服务

      提供基础的服务与定制的服务;支持集成服务模式;支持服务的分解,服务调度和路由,服务封装,服务组合。

      3、公用服务

      提供内置的各种公用服务。例如,认证服务,日志服务等。

      一些厂家提供的企业服务总线产品,还会包括如下一些功能:

      4、服务协议转换

      通过把不同的通信协议转换成标准的报文,屏蔽异构系统的底层技术差异。

      5、服务监控

      提供服务等级管理及流量管理。提供多角度的服务实时监控、报警与交易分析报表。

      6、安全体系

      提供多种安全机制并支持和第三方安全系统的有效集成,提供有效的安全监控机制。

      (四)ESB产品

      企业服务总线是一个相对新的概念,其产品也是一些较新的产品。从目前的应用案例看,能称得上成熟、完善、通用、成功的案例不多。不同的企业服务总线产品,其功能会有所侧重,使用环境也会有所限定。据了解,目前有如下定位为企业服务总线的产品:

      1、IBM

      IBM的相关产品有:WESB、WMB、WDP。

      2、Oracle

      Oracle的相关产品有:OSB、ESB。

      3、Microsoft

      微软的ESB功能是通过一组产品实现。包括BizTalk、.Net等。

      4、开源

      还有一些开源产品,如:Jboss ESB、Mule ESB、ServiceMix/FUSE ESB、Synapse/WSO2 ESB等。

      Jboss ESB架构图

      二、建立银行的企业服务总线

      企业服务总线无论在概念上还是在产品上,到目前为止,还处在成熟阶段。还没有普遍成功的案例。但金融信息系统的发展,切实需要我们实践这个概念。我们可以外购某个相对成熟的产品,通过大量的客户化形成自己的企业服务总线。另外,从发展新一代信息系统的角度,我们可以探讨如何建设自己的企业服务总线。

      假设,我们的事务处理应用系统有两大部分:渠道系统和业务处理系统。渠道系统又有两大类:柜台终端和自助终端,各自有自己的前置服务器。业务系统分为三大系统:个人系统、卡系统、法人系统,各自也是配置在不同的服务器上。每一类渠道都可以访问任一个业务系统,三个业务系统间也会有业务关联。在没有建立总线结构时,它们之间的逻辑连接如下图:

      从图-3可以看出,我们的应用系统被划分为两个层次:渠道层与业务处理层,分别用两个方框来表示。这两层共包含了五个子系统,分别用五个圆圈来表示。这种架构就是前面所说的点对点连接的架构。关系复杂且维护成本高。根据服务总线的概念,我们需要将其改造成为总线架构如下图:

      从图-4可见,应用系统在渠道层与业务处理层中增加了一层、被划分为三层。这一层就是为了实现服务总线而划分出来的。

      从服务总线的定义可知,服务总线承担的功能比较多。在服务总线里,我们可以把相关功能再进行细分。例如把企业服务总线功能中的一些辅助功能如:服务协议转换、服务认证、服务等级管理、服务流量管理等功能分拆到渠道整合去。功能进一步分拆后的服务总线如下图(图-5):

      从图-5可以看出,此时的服务总线包含了两部分,一部分是与各不同的渠道连接,接受各种各样的服务申请。另一部分与业务处理连接,根据接收到的服务申请,进行服务交付。

      从图-3变换成图-5,表面上好像变化不大,但从概念上说,是有了一个质的变化。

      从宏观上,我们把面对过程的计算机处理变成面向服务的计算机处理。图-5中的每一个圆圈,代表的是一种服务,其软件构成是一个服务构件。其中包括了:

      柜台渠道服务

      自助渠道服务

      渠道整合服务

      服务交付服务

      个人业务服务

      卡业务服务

      法人业务服务

      所有这些服务,他们之间的关系是服务申请方和服务提供方的关系。每一个服务构件,一方面接受处于服务流程上游的服务构件的服务申请,为其服务;另一方面,可以向处于服务流程下游的服务构件提出服务申请,要求其为自己服务。

      以上几个构件构成整个应用系统的几大应用板块层次:

      渠道层

      渠道整合层

      服务交付层

      业务处理层

      其中,作为企业服务总线的渠道整合与服务交付,一个对外、一个对内,实现服务总线的一系列功能。在应用系统架构划分时,可以将其划分为同一个层次,也可以把渠道整合与渠道划分为同一个层次。

      在企业服务总线的具体设计上,要注意以下几点:

      (一)渠道整合

      从总线的概念看,渠道整合应该是服务总线的一部分。建立渠道整合服务层,有几个作用。一是如上所述,把一些属于服务总线的辅助功能从服务交付构件剥离,使服务交付构件功能更为单一。二是屏蔽各种各样渠道的物理差异,使服务交付构件仅面对一个服务对象。第三点是最重要的一点,把从各渠道传递上来的服务申请信息,转换成标准的有限的服务要求信息。

      (二)标准服务接口

      从服务总线的概念可知,服务总线提供的是一种统一和标准的服务管理。为了能够做到这一点,服务交付层应该使用统一和标准的协议和报文。

      图-5中红色的连线,使用的就是标准的协议和报文。

      三、银行服务总线的标准功能

      银行信息系统的企业级服务总线只提供有关客户服务的管理功能,如:服务分析、服务分拆、服务转发、服务流程控制、服务路由控制、服务结果返回等,不提供客户服务本身的服务功能。也就是说,所有业务功能全部交给其他业务处理服务去实现。

      1、服务分析

      通常,应用系统的客户通过应用系统的各种人机交互界面,向应用系统提交服务要求。该服务要求通过系统的各种渠道送到系统的渠道整合层。渠道整合层把客户各种各样的服务要求整合为标准的服务申请报文,送到服务交付层。这些标准报文的头部通常都有相应的服务交易代码或功能代码。服务交付层通过对交易代码的分析,就能知道本服务申请的具体服务要求。

      2、服务分拆与转发

      服务交付层知道了客户服务要求的具体内容后,要把服务交给后面的具体服务构件去完成具体的服务。客户服务的构成有许多类型,有简单的服务,有复杂的服务。所谓简单服务,就是一个服务构件就能完成的服务。对于这种服务,服务交付层直接把服务要求转给相应的服务构件去完成。但对于大多数的服务要求,都不是简单服务,其服务需要通过若干个服务构件甚至一些系统外的信息系统共同服务才能完成。这时,服务交付层要把一个客户服务要求拆分为若干个子服务。把子服务有序地分别转发给相应的服务构件去完成。

      3、服务流程控制

      对于复杂服务,一方面,服务交付层要把服务分解成若干个子服务,要按一定的顺序,把这些子服务交给相应的服务构件。由于各子服务之间通常有一定的因果关系。前一个服务的输出往往是下一个服务的输入,所以,服务总线通常还要把上一流程的某些处理结果打包给下一流程。

      另一方面,服务交付层还要控制整个服务流程的走向。因为复杂服务流程比较长,每一个服务环节都会出现一些影响后续服务流程的结果。这些结果包括一些正常的流程选择条件和非正常事件。对于流程选择条件,服务总线根据不同的条件选择不同的流程,让服务正常持续下去。而对于出现的非正常事件,服务流程将不能正常完成。这些事件有些是由于提交的服务要求没有完全符合业务规则,如密码不符或余额不足等;另外也可能是环境的原因,如网络问题等。当某一个服务环节出了意外,整个服务流程也许不能完整走下去。需要转到另外的错误处理流程。

      4、服务路由控制

      服务交付层要把各子服务转发给各服务构件,要知道服务构件的物理位置。根据SOA松耦合的概念,松耦合既包含了软件模块之间的松耦合,还包含了软件与硬件之间、与地理位置的松耦合。应用系统的架构不强求规定哪一项服务配置在哪种机器里,也不强求规定该机器是在本地还是在远程。服务交付层通过解析服务配置表,找到相应构件的名称和位置,把子服务转发给该服务构件。

      5、服务结果打包与最终返回

      除了服务转换间的信息打包外,当所有的子服务返回的结果均为正确时,服务交付层把服务最终结果整理打包返回渠道整合层。相反,只要有某个子服务出现意外,服务交付层马上中断正常的服务流程,根据不同的意外情况,向渠道整合层返回不同的错误代码。

      四、企业服务总线的架构

      (一)宏观架构

      如上所述,建立了上述的服务总线后,解决了信息系统各应用大板块之间的松耦合,实现了宏观的总线架构。下一步,总线结构还可以在大板块内进一步展开。

      随着我们信息系统的各业务处理系统不断发展,其处理不光覆盖了核心银行业务,还包括了客户管理业务、代理业务、内部管理业务等。所有这些业务可以分类组成若干个大的业务板块。其中有一些板块,不光里头包含了许多业务。且板块内部的各种业务相互间关系比较密切,与板块外部业务的关系相对松散。对于这些大的业务板块,如核心银行板块,我们可以在板块内建立总线结构:

      在图-6里,对于核心银行应用,与图-5相比,服务交付由一层变为两层:服务交付与核心银行交付。这种变化,对于包括核心银行里原来的各个服务以及其他所有服务来说,完全是透明的。假设有一个客户服务是代发工资。在图-5的服务交付对应配置表里,配置了两个子服务,先是法人系统的工资转出服务,下一个是个人系统的工资转入服务。但在图-6里,服务交付对应配置表里只配置了一个核心银行服务,先把服务转发给核心银行交付。而在核心银行交付的对应配置表里,配置了两个子服务:法人、个人服务。从这个例子,可以看出服务总线的灵活与方便。

      在图-6里,从概念来说,渠道整合、服务交付以及各板块的交付合在一起,构成整个企业级服务总线。但在物理配置上,各业务板块的服务交付应该靠近各业务板块,或者与各业务板块配置在同一个服务器里。因为在板块内设置服务交付的前提是我们认为该板块内的各种应用是关系密切的,它们之间会有比较多的交互。把板块的服务交付配置在板块内,可以提高效率,减少开销。当然,如果板块内部的应用关系并不密切,我们就未必需要要设置两层的交付。

      多层的服务总线架构与多层的网络架构概念完全一样。众所周知,比较大的网络体系通常会采取三层架构:核心层、汇聚层、接入层,各层通过其节点交换机:核心交换机、汇聚交换机、接入交换机完成多层的数据传递与交换。相对于银行信息系统,如果采取两层的服务总线结构,服务交付相当于核心交换机;核心银行服务交付相当于接入交换机。通过系统的两层总线,完成服务的交付与流程的控制。

      (二)服务交付层的内部架构

      服务交付层的基本架构是由一组结构大致相同的程序组成。这一组程序我们可以把它称之为服务交易引擎。其中每一个程序通常对应一类客户服务,对应一类交易。并对应与该类服务相关的一组子服务、一组程序。而每一组流程相似的交易通常对应一个标准报文。

      服务交付层还有一组与交易相对应的配置表。配置表的内容有完成该交易所需要的各子服务名、子服务物理路由、子服务后续流程条件码、条件码对应后续服务等信息。交易引擎就是通过检索配置表,解释其中内容,以确定交易的具体服务内容。并确定服务构件名、服务构件路由、服务流程、服务返回内容等。

      通过建立完善的企业服务总线,整个信息系统形成一个以服务总线为中心、逐层往外扩展的的星型网络。分散的渠道把各种服务要求分层汇集到渠道整合,服务交付又分层地把服务分解为各子服务,再分发到各个具体的应用,然后汇集各个子服务的处理结果,原路返回服务的提交处。

      ESB注册试用

      LinkESB由厦门明延科技研发,公司十年专注企业服务总线, 我们致力于打造企业共享服务平台提供商,打造企业上下游的生态圈。传统的企业信息化都是围绕内部人员展开,是一个封闭的系统,而未来的企业信息化,不仅服务企业内部,还要保证上下游企业互联互通,同时客户通过手机可以及时查到到业务的进展。我们的解决方案

      1. 业务上以用户为中心

      2. 技术上以服务为中心

      3. 决策上以数据为中心

      解决方案图

      LinkESB自2007年经过多年的行业沉淀,研发了国内外先进的企业服务平台套件,先后应用于海南省电信、海航集团、厦门国际银行、厦门建发股份、夏商集团等大型企业的IT建设中,以及评众联与坤龙云海等全国性的行业互联网平台的应用。综合对比国内外ESB产商,厦门明延科技的LinkESB在各种行业项目中应用最为广泛,值得依赖!

      你是不是万事具备,就差一个程序员了?

      错!

      你其实差的是一整套解决方案

      了解LinkESB企业服务总线请联系我们,我们拥有全套互联网平台建设经验:平台规划+技术服务架构+开发平台+实施方案+运营思路。

      打开LinkESB网站,一分钟注册开发者账号开始试用吧!



    http://news.chinabyte.com/480/14198980.shtml


    展开全文
  • Apache Synapse是一种轻量级的高性能企业服务总线ESB)。 由快速和异步中介引擎提供支持,Apache Synapse为XML,Web服务和REST提供了出色的支持。 除了XML和SOAP,Apache Synapse还支持其他几种内容交换格式,例如...
  • 企业服务总线ESB技术设计方案.pdf
  • 企业服务总线ESB就是一种可以提供可靠的、有保证的消息技术的最新方法。ESB中间件产品利用的是Web服务标准和与公认的可靠消息MOM协议接口(例如IBM的WebSphere MQ、Tibco的Rendezvous和Sonic Software的SoniCMQ)。ESB...
  • 企业服务总线ESB技术设计方案.docx
  • 火龙果软件工程技术中心 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起来探讨如何在企业里实现SOA,期望有实施SOA经验...
  • 企业服务总线ESB平台方案.docx
  • 企业服务总线ESB平台介绍.pptx
  • ActiveMQ 企业消息总线(ESB)源代码 本代码包含ESB在实际项目中的应用例子。注意测试前请下载安装 apache-activemq-5.12.1
  • 企业服务总线ESB平台介绍 .docx
  • 关于SOA的概念,你可以找到...从概念的角度,IBM对SOA的定义是最为全面的,既SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供给最终用户应用或其他服务。一个体系架构,用开放的标准将软件资产(Asse
  • WSO2 ESB 企业服务总线总结文档WSO2 ESB 企业服务总线总结文档WSO2 ESB 企业服务总线总结文档WSO2 ESB 企业服务总线总结文档
  • 企业服务总线ESB平台介绍.pdf
  • ESB 企业服务总线

    2012-03-26 00:07:36
    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。这里有一部分资料 供各位学习
  • 基于JBI的企业服务总线ESB研究与应用,薛伟冬,许辉阳,面向服务架构作为新兴的一种软件系统设计方法越来越受到关注,企业服务总线是SOA的基础骨干,而JBI(Java业务集成)规范作为一种企��
  • 普元ESB服务总线产品

    2017-03-22 13:49:35
    Primeton ESB®是普元基于多年对大型企业的IT建设及分布式计算和集成能力的认识和技术积累而推出的服务整合产品,是部署和实现SOA的理想工具。主要用于企业内及企业间的服务整合,通过总线形式有效改善现有系统之间...
  • 企业服务总线ESB技术架构介绍 技术创新变革未来 目录 1 关于SOA 2 ESB 3 ESB的适用场景及要素 4 SOA和ESB产品 5 WebMethods介绍 6 案例 关于SOA Service-Oriented Architecture面向服务的体系结构 一种架构模型它...
  • ESB企业服务总线详细文档
  • 企业服务总线ESB-解决方案与应用实例 ESB实施指南
  • ESB企业服务总线

    2022-04-21 17:24:05
    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 大规模分布式的企业应用需要相对...

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

     

         大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。

    展开全文
  • ESB;ESB;ESB;ESB;ESB;ESB;目录;ESB的适用场景及要素;目录;SOA和ESB产品;SOA和ESB产品;SOA和ESB产品;SOA和ESB产品;SOA和ESB产品;SOA和ESB产品;供应商;目录;WebMethods介绍;WebMethods介绍;WebMethods介绍;WebMethods...
  • 关于SOA的概念,你可以找到很多的文章从不同的角度来描述它,不同的软件...从概念的角度,IBM对SOA的定义是最为全面的,既SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供给最终用户应用或其他服务
  • 几种ESB企业服务总线)介绍

    万次阅读 2018-07-16 19:24:45
    ESB(Enterprise Service Bus,...企业服务总线ESB就是一种可以提供可靠的、有保证的消息技术的最新方法。ESB中间件产品利用的是Web服务标准和与公认的可靠消息MOM协议接口(例如 IBM的WebSphere MQ、Tibco的Rendezv...

    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分层目标所必需的基础功能部件。

    一、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(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,用不着在应用程序或者数据发生变化时,改动服务代码。

    1. IBM WebSphere ESB

    IBM 提供了三种 ESB 产品:IBM WebSphere ESB、IBM WebSphere Message Broker、IBM WebSphere DataPower Integration Appliance XI50。根据您的需求选择 ESB 来增强您的 SOA。WebSphere ESB 是一种基于平台的 ESB,作为集成的 SOA 平台,针对 WebSphere 应用服务器进行了优化。WebSphere Message Broker 是跨平台的 ESB,是为异构 IT 环境中的统一连接和转换而构建的。WebSphere DataPower Integration Appliance XI50 是一种基于设备的 ESB,是为简化的部署和更强的安全性而构建的。客户面临着从简单到复杂的各式各样的 ESB 需求。WebSphere ESB的结构如图一所示。

    图一 WebSphere ESB

    2. Microsoft ESB

    微软通过其应用平台提供了全面的ESB服务,包括:Windows Server® 2003,.NET Framework, BizTalk® Server 2006 R2. 应用平台提供了一个基础架构,基于此可以灵活和安全地重复使用架构和商业服务,并具有协调原有的服务整合到新的端到端的业务流程中的能力。如图二所示。

    图二 Microsoft ESB

    微软通过一些列的产品Windows Server 2003, the .NET Framework 3.0, and BizTalk Server 2006作为对企业实现ESB的支撑,Microsoft ESB Guidance是基于BizTalk Server 2006一组应用,它提供以下公用的ESB组件:

    l       Message routing (消息路由) 

    l       Message validation (消息验证) 

    l       Message transformation (消息转换) 

    l       Centralized exception management(集中的异常管理) 

    l       Extensible adapter framework(可扩展的适配器框架) 

    l       Service orchestration(服务的编制支持) 

    l       Business rules engine(业务规则引擎) 

    l       Business activity monitoring(业务活动监视)

    微软 ESB 指南提供了架构指导,模式和实践,以及一套BizTalk Server 和 .NET Framework 组件来简化基于微软平台的大型或小规模的ESB解决方案的开发。它还可以帮助开发人员扩展现有的信息和集成解决方案,包括的一些服务和组件。 

    3. JBOSS SOA Platform

    JBoss Enterprise SOA Platform提供了一个基于标准的平台,用以集成应用、SOA服务、业务事件和自动化业务流程。这一SOA平台集成了特定版本的JBoss ESB、jBPM、Drools、和已得到验证的JBoss企业应用平台,把它们组织在一起形成一个单一的企业级发布。如图三所示。



     

    图三 JBOSS SOA Platform

    JBoss Enterprise SOA Platform打包了不少流行组件如:

    l     JBoss ESB 

    l     JBoss jBPM jPDL 

    l     JBoss Rules (Drools) 

    l     JBoss Application Server 

    l     Hibernate 

    l     Hibernate Entity Manager 

    l     Hibernate Annotations 

    l     JBoss Seam 

    l     JBoss Web (嵌入式Tomcat 6.0) 

    l     JBoss Cache 

    l     JGroups 

    l     JBoss Messaging 

    l     JBoss Transactions 

    l     JBoss Web Services (JBossWS) 

    l     JBossXB 

    l     JBoss AOP 

    l     JBoss Remoting 

    l     JBoss Serialization 

    l     JacORB 

    4. ServiceMix对ESB的实现

    ServiceMix是一个建立在JBI (JSR 208)语法规则和APIs上的开源ESB(Enterprise Service Bus:企业服务总线)项目。

    ServiceMix是基于JBI的ESB。它是开源的基于JBI语义和API的ESB和SOA工具包,以Apache许可证方式发布。 它是轻量的ESB实现,易于作为嵌入式ESB使用;集成了对Spring技术的支持;可以在客户端或服务器端运行;可以作为独立的ESB提供者,也可以作为另外ESB的服务组件; 可以在JavaSE或JavaEE服务器中使用;ServiceMix同Apache Geronimo以及JBoss服务器完全集成,并且在Apache Geronimo服务器中可以直接部署JBI组件和服务。

    Java Business Integration (JBI,Java业务集成)技术规范定义了SOA的服务导向集成的内核和组成架构。它对公共讯息路径架构、服务引擎与捆绑的插件程序接口,以及复合型服务描述机制等都进行了标准化,这样就将多种服务结合成为一个单一的可执行的和可审核的工作单元。 参见图四。



     

    图4 JBI和ServiceMix关系图

    JBI并不是一个为开发者设计的一个接口,更准确的说它是在JBI容器里为集成商提供相互集成的一个体系和一系列的接口。所以人们能集合他们所需要的所有部分,做出一个总体解决。例如在理论你能从BPEL引擎上,EJB容器上或者是数据传输产品上集合一个基础设施,并且能够集成的很合适。 

    ServiceMix 中包含完整的JBI容器,支持JBI规范的所有功能要求:

    l     规范化消息服务和路由 

    l     JBI管理Beans (MBeans)

    l     组件管理和安装的Ant任务

    l     对JBI部署单元的完全支持,支持JBI组件的热部署

     

     

    JBoss ESB


      JBossESB是JBoss推出的ESB的实现,也是JBoss的SOA产品的基础,JBossESB能够把抽象的SOA设计映射成具体实现。它作为企业应用程序、业务服务、业务组件与中间件交互的一个媒介,对实现整合及业务流程自动化起重要作用。

      Apache ServiceMix


      ServiceMix是JBI规范的一种实现。它包涵了许多JBI组件,这些组件支持多种协议,比如JMS,HTTP,FTP,FILE等。同时也实现了EIP,规则和调度。早在几年前,它就已经成为了Apache的顶级项目。ApacheServiceMix 也整合了其他的开源项目,比如Apache ActiveMQ,Apache CXF,Apahe Camel,Apache ODE以及Apache Geronimo。

    http://servicemix.apache.org/download.html

      OpenESB


      Open ESB是在Sun公司支持下的一个开源项目,其核心是基于JBI(Java Business Integration)规范的实现。Open ESB可运行在Glassfish应用服务中,同时Netbeans IDE也为Open ESB提供了拖拽式的开发工具,这是其他开源ESB不可匹敌的。

    在开源ESB家族中涌现出很多优秀的开源ESB,比如,Mule,Apache ServiceMix,Open[/url]ESB,Apache Synapse等。为了大家更好地了解它们,我作了简要地介绍。

    Mule

    它是一个轻量级的消息框架和整合平台,基于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,JMS等),并整合了许多流行的开源项目,比如Spring,ActiveMQ,CXF,
    Axis,Drools等。虽然Mule没有基于JBI来构建其架构,但是它为JBI容器提供了JBI适配器,应此可以很好地与JBI容器整合在一起。而 Mule更关注其灵活性,高效性以及易开发性。从2005年发表1.0版本以来,Mule吸引了越来越多的关注者,成为开源ESB中的一支独秀。目前许多公司都使用了Mule,比如Walmart,HP,Sony,Deutsche Bank 以及 CitiBank等公司。

    官方网站:[url]http://mule.codehaus.org/


    Apache ServiceMix

    它是JBI规范的一种实现。它包涵了许多JBI组件,这些组件支持多种协议,比如JMS,HTTP,FTP,FILE等。同时也实现了EIP,规则和调度。自从JBI被JCP接收后,2005年末Apache ServiceMix才被Apache作为其卵化项目,到2007年9月,它已经成为Apache的顶级项目。ApacheServiceMix 也整合了其他的开源项目,比如Apache ActiveMQ,Apache CXF,Apahe Camel,Apache ODE以及Apache Geronimo。

    说起Apache ServiceMix,就会使我想到LogicBlaze公司。它曾经是Apache ServiceMix和Apache ActiveMQ的商业支持者。2006年LogicBlaze被IONA成功收购后,IONA负责为Apache ServiceMix提供支持和服务。同时IONA也将Apache ServiceMix作为FUSE平台中的一员,FUSE旗下还包括Apache ActiveMQ,Apache CXF,Apahe Camel,FUSE HQ。

    官方网站:http://servicemix.apache.org/

    Fuse平台的官方网站:http://open.iona.com/products/fuse-esb/

    Open ESB

    前两个开源ESB都由开源社区提供支持,Mule由Codehaus社区提供支持,ServiceMix由Apache社区提供支持。Open ESB是由SUN发起,现在作为Java.net的子项目。所有Open ESB的开发人员都来自SUN。

    如同Apache ServiceMix一样,Open ESB也实现了JBI规范。Open ESB可运行在由SUN支持的Glassfish应用服务中。同时SUN的Netbeans IDE为Open ESB提供了拖拉式的开发工具,这是其他开源ESB不可匹敌的,尽管Mule也提供了基于Eclipse的插件工具,但目前仍然不够强大。

    官方网站:https://open-esb.dev.java.net/

    Apache Synapse

    虽然Apache Synapse具备一些ESB所必备的功能,但是从本质上而言Synapse更是一个web服务仲裁框架,它是构建在Apache Axis2之上的。Synapse的关注点是路由,转换,消息验证以及基于web服务和xml标准的注册。它支持HTTP, SOAP, SMTP, JMS,FTP ,MTOM/XOPPOP3/IMAP/SMTP 等传输协议,还支持多种web服务规范(WS-*),比如WS-Addressing,WS-Security,WS-Policy以及WS- Reliable Messaging。在它的最新版本1.2中加入了对FIX(Financial Information eXchange,金融信息交换协议 ) 和 Hessian 的支持。同时它还支持多种流行语言,比如Java, JavaScript, Ruby, Groovy等。

    官方网站:http://ws.apache.org/synapse

    JBoss ESB

    JBoss ESB是基于JBoss公司的ESB产品Rosetta的。Jboss ESB将JbossMQ作为其消息层,将JBoss rules为其提供路由功能, 将jBPM为其提供服务编排功能。足以见得JBoss的野心。

    官方网站:http://labs.jboss.com/jbossesb/

    其他的开源ESB

    WSO2是基于Apache Synapse产品的,通过它可以在web服务,REST/POX服务以及遗留系统间连接,管理和转换服务交互。它还提供了一个基于AJAX的ESB管理控制台对其配置文件进行统计分析,管理(添加,删除以及修改等),和指定执行相应的配置文件。这在开源ESB中是非常少见的。

    官方网站:http://wso2.com/products/esb/

    OpenAdaptor定位于EAI (Enterprise Application Integration,企业应用集成)软件。它支持各种传输协议,如JMS, JDBC, IBM MQ Series, TIBCO Rendezvous, TCP/IP Sockets, SOAP, HTTP 和 File等。其最新版本为openadaptor3,与先前版本相比,它完全重写了一边,保留了原有的功能,提升了其简单性。

    ESB有听到其他人说过,今天搜索出来了解一下概念!

    转载于:https://www.cnblogs.com/duanxz/p/4912827.html

    展开全文
  • 引言WBI中对ESB的支持应用场景简介利用WBI中的ESB进行架构和集成通过Web服务网关实现企业内外部Web服务的集成通过WBIMessageBroker整合企业内部遗留系统本文实例部署的说明结束语参考资料本文是企业服务总线解决方案...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,604
精华内容 3,441
关键字:

企业服务总线esb是什么