ESB技术分析整理
- 格式:doc
- 大小:106.50 KB
- 文档页数:6
ESB项目需求分析和方案设计浅谈ESB(Enterprise Service Bus)即企业服务总线,是一种整合企业各种服务和应用的中间件技术。
在企业建设中,ESB的需求分析和方案设计是非常关键的步骤,本文将对ESB项目的需求分析和方案设计进行浅谈。
首先,ESB项目的需求分析是指对企业现有业务流程和系统的分析,确定ESB的应用范围、功能需求和性能需求等。
需求分析的过程主要包括以下几个方面:1.业务流程分析:对企业的现有业务流程进行详细分析,包括各个部门间的数据交互和业务流程的规范化等。
通过分析企业的业务流程,可以确定ESB的应用范围和业务集成需求。
2.系统集成需求分析:对企业现有的系统进行梳理,了解现有系统的功能和数据接口,以及系统之间的依赖关系。
通过分析现有系统的集成需求,可以确定ESB的功能需求和接口设计。
3.性能需求分析:根据企业的业务规模和预期的性能指标,分析ESB在并发访问量、响应时间等方面的性能需求。
通过性能需求分析,可以确定ESB的部署架构和硬件资源配置等。
4.安全需求分析:根据企业的安全策略和合规要求,分析ESB在数据传输、身份认证、访问控制等方面的安全需求。
通过安全需求分析,可以确定ESB的安全机制和策略。
基于需求分析的基础上,ESB项目的方案设计是指对ESB的组成和功能进行详细设计,并制定具体的实施和测试计划。
方案设计的过程主要包括以下几个方面:1.架构设计:根据需求分析的结果,设计ESB的总体架构,包括中间件选型、消息传输协议、服务容器等方面的设计。
同时,还需要考虑ESB与企业现有系统的集成方式和接口设计。
2.服务设计:根据业务流程和系统集成需求,设计ESB的服务组件和消息格式。
通过定义服务接口和消息格式,可以实现不同系统之间的数据交互和服务调用。
3.安全设计:根据安全需求分析的结果,设计ESB的安全机制和策略。
包括数据传输的加密和解密、身份认证和访问控制等方面的设计。
4.性能设计:根据性能需求分析的结果,设计ESB的部署架构和硬件资源配置。
ESB产品架构之通道设计郭时光1概述消息处理管道是ESB架构的一个核心部分,ESB的核心有消息处理器分为两部分,一部分是路由处理器,一部分是端点处理器。
当然,我们的基础组件也会适时的在两部分的处理器中间,拦截加入多个基础组件处理器。
例如,日志组件,会在各个部分加日志处理器,以记录ESB运行的日志。
在(图1-1)中只是一个简单的通道,在这个通道中没有分支,路由处理器也只有一个,在实际的使用过程中当然没有简单,在路由处理器可以有多个,Endpoint也可以拥有多个。
当整个通道的分支过于复杂的时候,建议还是把它看成一个业务流程,交他专业的BPM应用来做,这样不但可以减少ESB复杂度,而且可修改性也能有一个大的提高。
在实际的开发过程中,我们可以使用责任链的模式。
一条责任链就是一个通道,消息处理器就是责任链中的一个个handler。
我们可以在使用配置组件,在ESB初始化的时候就初始化好了一个个的消息处理器。
1-12ESB的通道ESB由Outbound Endpoint、Inbound Endpoint、Router 三部分组成,他是这样运行的。
看起来是不是很简单,但在现实环境下,我们可能会需多记录日志,需要做流控,这时候我们的通道就会变成这样当然这也不是一个最复杂的状态,因为我们在ESB的内部可能会做一些简单的流程编排,所以,他可能会有多个的路由,可能会有多个的transformer或者是MessageDispacher。
这些都经求,我们在做这个通道的架构时,可修改性是十分重要的。
在这种可修改性要求高的情况下,我们当然不可能对每一支交易做硬编码,这时我们就一定会想起经典的模式责任链(Chain of Responsibility Pattern UML),相信大家对这个责任链的模式应该十会的熟习了吧,以下是他的UML图大家可以回忆一下。
为此我们定义了一个接口MessageProcessor,这个接口就是handler,它会有很多的子接口如,Router,Transfomer,MessageDispacher,Filter等。
esb 实现方式摘要:一、引言二、ESB概念介绍三、ESB的实现方式1.基于客户端/服务器模型的实现方式2.基于Web服务的实现方式3.基于企业服务总线(ESB)的实现方式四、ESB实现方式的优缺点分析五、总结正文:一、引言随着企业信息化的不断发展,企业内部系统之间的集成变得越来越重要。
企业服务总线(Enterprise Service Bus,简称ESB)是一种用于实现企业内部系统集成的技术架构。
本文将介绍ESB的实现方式,并分析各种实现方式的优缺点。
二、ESB概念介绍ESB是一种中间件技术,它位于企业应用系统的顶层,负责在不同系统之间进行数据传输、协议转换、服务编排和监控等。
通过使用ESB,企业可以更轻松地实现系统集成,提高业务流程的灵活性和可扩展性。
三、ESB的实现方式1.基于客户端/服务器模型的实现方式在这种方式中,客户端直接与服务器进行通信,ESB扮演服务请求者和响应者之间的中介角色。
这种方式实现简单,但随着系统数量的增加,管理和维护成本会显著提高。
2.基于Web服务的实现方式在这种方式中,ESB通过Web服务协议(如SOAP、XML等)实现不同系统之间的通信。
这种方式具有较好的可扩展性和互操作性,但可能导致性能下降,且对网络带宽有一定的要求。
3.基于企业服务总线(ESB)的实现方式这是最常用的ESB实现方式。
ESB作为一个独立的中间件平台,可以实现多种协议之间的转换,提供服务路由、负载均衡、安全认证等功能。
这种方式具有较高的灵活性和可扩展性,但实施和维护成本也相对较高。
四、ESB实现方式的优缺点分析基于客户端/服务器模型的实现方式优点是简单易用,缺点是管理和维护成本高;基于Web服务的实现方式优点是具有较好的可扩展性和互操作性,缺点是可能导致性能下降,对网络带宽有要求;基于企业服务总线(ESB)的实现方式优点是具有较高的灵活性和可扩展性,缺点是实施和维护成本较高。
五、总结总之,企业在选择ESB实现方式时,需要根据自身的业务需求、技术能力和成本预算等因素进行综合考虑。
航空公司ESB 案例解析通过企业服务总线、接口适配器、服务注册管理等整合技术,实现将企业内部现有的各应用系统之间的信息共享,提高企业内部应用系统的数据共享和交换效率,提升企业在市场上的综合竞争力和客户服务质量,是所有企业的一个典型需求。
本文将以航空公司的案例为基础,说明采用IBM ESB 相关产品整合航空公司电子商务、常旅客、航班动态、呼叫中心等系统的解决方案。
与其他行业一样,在民航业,国际和国内的主要航空公司内部也分布着众多已建和在建的用以支撑业务运行的IT 系统,这些系统之间缺乏对信息共享性、系统兼容性和接口标准规范的统一考虑,造成系统之间的连接比较困难,应用和数据无法得到全面共享,系统间“蜘蛛网状”的连接普遍存在。
随着新系统的不断建设,在业务与流程方面的整合将会因系统和业务领域间的信息沟通障碍而面临越来越多的困难,对航空公司的整体发展战略带来制约。
下面我们就来列举几个民航业的现状,以此说明对企业进行业务整合的必要性。
现状一:业务系统间数据共享需求强烈总体来看,航空公司的IT 分为商务、航务、机务和管控四大体系,其中商务体系中包括定座系统、电子客票销售系统、离港系统、电子商务系统、常旅客系统、大客户系统、呼叫中心系统、运价收益管理系统、地面服务系统等。
在这个庞大的体系结构中,存在着巨大的系统间数据集成和共享的需求。
主要存在以下三类信息的共享:航班数据共享:航班数据包括航班计划、航班动态、飞机参数等数据,是保障航空公司正常运营的最基本信息,而航空公司内部通常都会有超过10 个的系统需要获取航班数据,其中包括:电子商务系统、呼叫中心系统、常旅客系统、地服系统、联盟成员系统等。
目前,航班数据的源数据系统( 一般来自航空公司运控AOC 系统) 与其他业务系统之间的数据交换和共享都是通过点对点单独开发接口的形式实现的,比如通过数据库视图的紧耦合的方式实现,这在增加各个系统接口复杂性的同时也增加了系统开发的周期和费用,而且各业务系统无法从统一的渠道获取航班数据,造成了各业务系统之间数据不一致,如下图所示:图 1. 航空公司航班数据共享客户主数据共享:根据不同的直销、分销渠道以及不同的客户属性,航空公司的客户信息通常被分散地存储在多个不同的客户服务系统中,其中包括常旅客系统、大客户系统、电子商务系统等,这些现有系统或多或少地通过点到点的星型结构的接口方式进行了一些互连,在一定程度上实现了客户数据共享,但是仍普遍存在连接混乱、各系统间数据更新频率不一致、各系统内同一旅客基本信息不统一等问题,借鉴其他行业在客户主数据管理方面的发展趋势和最佳实践,因此航空公司需要对客户主数据进行统一存储和一致性管理,这就需要完成呼叫中心、电子商务、大客户、常旅客等系统与客户主数据系统之间的集成,希望通过ESB 技术实现上述系统间数据的实时同步,如下图所示:图 2. 航空公司客户数据共享客票销售和客户服务信息共享:在航空公司的直销渠道中,电子商务与呼叫中心是非常重要的两大直销渠道,各自拥有独立的业务支持系统,以这两个系统为例,国内各个航空公司拥有的电子商务与呼叫中心这两个应用系统之间后台基本没有任何数据共享,在业务和应用上完全独立,如下图:图 3. 呼叫中心和电子商务系统渠道分离而实际上这两个系统之间存在着非常多的来自业务的数据共享需求。
ESB技术一种新的软件架构“企业服务总线(Enterprise Service Bus, ESB)”的出现,可成为政府可采用的、基于标准的、作为构建政府应用中枢神经系统骨干的技术。
ESB并不是一个革命性的概念,它是从逐步出现的企业通信、互连、转换、面向服务的应用构建、可移植性和安全性等标准中演化而来的,其目标是创建一个真正基于标准的企业级应用骨干网,用来部署业务过程处理系统、协同系统和分布式业务解决方案。
ESB是一个实现了通信、互连、转换、可移植性和安全性标准接口的企业基础软件平台。
对ESB的定义通常如下:它是由中间件技术实现并支持SOA的一组基础架构功能,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。
这样的定义稍显抽象,简单地说,ESB就是试图将应用服务器上的多种逻辑层面迁移到总线以及连接点上,从而降低企业内部信息共享的成本。
ESB产品一般应该实现:♦基于标准的消息通信架构(即JMS)♦基于标准的互联如Web服务、J2EE和.NET适配器 (Sun公司的J2EE和微软公司的.NET是两种在市场占统治地位的分布式计算架构,J2EE提供了一种语言(Java)跨越多种操作系统和硬件平台的可移植性,.NET支持多种语言但基本上绑定在微软的Windows操作系统和Intel平台上)♦基于标准的数据转换引擎(即XSLT和Xquery)♦应用部署的SOA方式♦基于标准的安全性(即LDAP和SSL)现代的ESB产品实现(见图)一般支持多种开发语言,结合ESB架构本身具有的可移植性,使ESB成为一个真正支持多语言、多平台的企业应用骨干系统。
ESB架构通信、互连、转换、可移植性和安全性等方面,使得在一个复杂的异构环境中采用真正开放的业界标准而成为可能。
基于标准的技术扩大了用户选择的范围,降低了成本,同时也避免了用户只能面对单一的产品提供商。
这些标准包括:1、通信标准1998年,Java Message Service (JMS)出现并成为企业应用通信的主流标准,当前已经有数以千计的企业实现了这个标准。
1.1.1.面向服务架构SOA面向服务架构(Service Oriented Architecture,SOA)是一种新型的软件体系架构模式,它是在计算环境下设计、开发、应用、管理分散服务单元的一种规范,它将应用程序的不同功能单元(称为服务)通过服务间定义良好的接口和契约联系起来。
可以根据需求通过网络对松散耦合的粗粒度服务进行分布式部署、组合和使用。
SOA的目标在于让IT系统变得更有弹性,以便更灵活、更快地响应不断改变的企业业务需求。
目前并没有一个统一、标准的SOA的定义,下面是几种对于SOA的描述:“SOA本质上是服务的集合。
服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。
服务间需要某些方法进行连接。
所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。
”“按需连接资源的系统。
在SOA中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。
与传统的系统结构相比,SOA规定了资源间更为灵活的松散耦合的关系。
”“SOA是一种用于创建企业IT系统体系结构的体系结构样式,利用了面向服务的原则来实现业务和支持业务的信息系统之间更为紧密的关系。
”从上述的定义中可以看出的几个关键特性:一种粗粒度、松散耦合服务架构,服务之间通过简单、精确定义的接口进行通讯,不涉及底层编程接口和通讯模型。
粗粒度性:粗粒度服务提供一项特定的业务功能,采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的往复,一次往复就足够了。
松耦合性:松耦合性要求SOA 架构中的不同服务之间应该保持一种松耦合的关系,也就是应该保持一种相对独立无依赖的关系。
位置透明性,位置透明性要求SOA系统中的所有服务对于他们的调用者来说都是位置透明的,也就是说每个服务的调用者只需要知道他们调用的是哪一个服务,但并不需要知道所调用服务的物理位置在哪里。
协议无关性,协议无关性要求每一个服务都可以通过不同的协议来调用。
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分层目标所必需的基础功能部件。
大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。
面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。
SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。
支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。
ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。
ESB项目需求分析和方案设计浅谈在业务系统中,各个应用之间的通信是非常重要的,但是由于复杂度和架构差异的问题,导致不同应用之间的通信成了一件非常困难的事情,特别是在多个异构应用系统间进行相互通信的情景下,这就需要一种可靠的面向服务的中间层来统一管理和调度各个应用系统的通信需求,这就是企业服务总线(ESB)的核心所在。
ESB项目作为自身技术栈升级改造的主要项目案例,是对现有系统通信和服务管理的升级,具体的工作包括ESB的需求分析、ESB的方案设计、ESB的跨系统整合等。
ESB的需求分析ESB是以业务需求为核心来实现的,因此ESB的需求分析是非常关键的。
需求分析的细节包括企业应用网路的架构、延迟、配置,数据通信安全性等。
在实际的项目中,需求分析应当站在整个企业系统的目标和需求出发,包括网络、安全、性能、可维护性等方面,并且注重业务场景的模拟和测试,确保满足业务需求的同时,实现了一定程度的技术升级和智能化引入。
ESB的方案设计ESB项目的方案设计是整个实施工作中最复杂、最具挑战性和最具技术含量的工作之一。
在初期的实施工作中,要考虑到通信方式和协议、消息格式和内容,以及数据传输的优化方案等。
在中期的实施工作中,要考虑到各应用系统间的数据交互和通信的调用规范、平台升级迭代带来的问题解决和优化。
在后期的实施工作中,要考虑到数据交互数据的监控、调试和例行维护保障等问题。
ESB的跨系统整合作为实现异构应用系统间相互协作和使用的关键桥梁,ESB的跨系统整合是ESB的重点。
具体而言,实施时需要考虑到数据双向监控的可行性和安全性;最小化协议转换的数据格式同步;准确应对业务场景下不同数据的处理和转发需求等多种实际的问题。
总结ESB在大型应用系统中扮演了至关重要的角色,其整体方案要根据企业自身的情况来定制,需要严谨的需求分析和全面的方案设计,同时还需要充足的中间件和技术支持。
通过ESB 的集成实现,可以让企业打破原有系统封闭性,实现各应用间的宏观管理和流程化协作,提高企业的运营效率,创新创造自身核心优势。
⼀步步了解ESB(⼀)你是否真正理解ESB?谈及企业服务总线(ESB),在有⾯向服务的架构(SOA)实施经验的开发者眼中⼀定不会陌⽣。
这些年,⼈们⼀直在谈论它,以⾄有些⼈认为“实施SOA⼀定需要ESB”,或“只要将ESB架起来了,我们就SOA了”。
这些说法有可取之处,也存在⽚⾯之嫌,由于业界对于ESB没有统⼀、标准的定义,所以⼀千个⼈眼中有⼀千个“ESB”也就成了情理中的事情了。
然⽽,怎么才能将ESB⽤好?我们需要清楚地认识ESB在SOA中所扮演的⾓⾊,理解哪些⼯作是ESB的职责之内?哪些却不是?只有正确地认识了ESB的职能,并委以恰当的任务,才能将它⽤在⼑刃上、发挥其巨⼤的能量。
从下⾯可以看出ESB在各个系统服务之间发挥的作⽤,看看你是否理解正确了。
从上图可以看出,ESB是为各个系统的服务⼜管理各个系统的服务,它可以利⽤现有的服务组合新的系统,图上它把OA、CRM、ERP整合等,那么它是不是就是⼀个万能的中间平台,任何服务都可以接⼊到上⾯?这是⼀个很理想的⽬标,但这个⽬标是不可能实现的。
原因有两点:其⼀,仲裁逻辑⼀般是⾮常具体的,具体的服务有具体的整合需求。
我的理解是它们在某些更详细的⼩的⽅⾯也有很多不同,需要把所有的不同⼤的差异还是⼩的差异都屏蔽掉,是不容易做到的。
我们要考虑的不仅仅是协议之间的差别,还需要考虑消息格式的差别。
其⼆,如果有这样的设计/实现存在,ESB产商为何不把这个特性直接实现了呢?你也许会说产商不理解具体的业务,⽽具体的业务是复杂的,SI/ISV却了解这些复杂业务。
⽽事实上,ESB解决的更多是技术层⾯的⼯作,业务层⾯的⼯作⼤多数不属于ESB的范畴,复杂的业务逻辑不是在业务系统中实现,就是在其它SOA组件中实现,如JBPMESB vs JBPM通常我们这么⼀想,ESB可以各个服务都组合在⼀起了,如果服务粒度⼩可以重新组合业务那么不就是变成了JBPM了吗?⼆者有着本质的区别。
其⼀:ESB是⼀个偏向技术层整合的组件,⽐如将“客户资料查询”服务与“⽇志”服务组装起来,得到的结果还是“客户资料查询”服务,只是在仲裁流中间插⼊了⼀个新的附加功能,即“⽇志”服务。
ESB项目需求分析和方案设计浅谈ESB(Enterprise Service Bus)项目是指企业服务总线项目,是一种集成企业各项服务的解决方案。
在进行ESB项目的需求分析和方案设计时,需要考虑以下几个方面:1.功能需求:ESB项目的首要目标是实现不同服务之间的互相通信和数据交换。
因此,需求分析需要明确各项服务的功能需求,包括数据交换格式、通信协议、接口规范等。
此外,还需要考虑安全性需求,如身份认证、权限控制等。
2.性能需求:ESB项目需要能够处理大量的数据交换和服务调用请求。
因此,需求分析中需要考虑系统的并发处理能力、响应时间、吞吐量等性能指标。
此外,还要考虑高可用性需求,如故障恢复、容错处理等。
3.扩展性需求:企业的服务可能会不断变化和增加,因此ESB项目需要具备扩展性。
在需求设计中,要考虑如何灵活地添加、修改和删除服务,并确保旧服务和新服务之间的兼容性。
4.安全需求:ESB项目需要确保数据传输的安全性和保密性。
在需求分析中,需考虑如何对敏感数据进行加密、防止数据泄露、拦截和篡改。
同时,还需要考虑如何对系统进行安全性审核和漏洞修复。
在进行ESB项目的方案设计时,可以采取以下几个步骤:1.确定ESB架构:ESB项目的架构设计是整个方案的基础。
可以选择传统的集线器-订阅者模式,也可以选择分布式的消息队列模式。
在架构设计中,要考虑到系统规模、业务需求和技术能力等因素。
2.选择合适的技术工具:ESB项目需要使用一些工具来实现集成和消息传递等功能。
在方案设计中,要选择适合自己需求的技术工具,如IBM 的WebSphere Message Broker、MuleSoft的Anypoint Platform等。
3.制定系统规范和标准:ESB项目涉及多个服务和部门的协同工作,为了保证系统的稳定性和一致性,需要制定一套系统规范和标准。
这包括接口规范、命名规范、编码规范等,以及相应的文档和培训。
4.测试和部署:ESB项目需要进行充分的测试,包括单元测试、集成测试和性能测试等。
简述ESB全称为Enterprise Service Bus,即企业服务总线。
它是传统中间件技术与XML、Web服务等技术结合的产物。
ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
技术特点1.监视和控制服务之间的消息交换的路由。
2.解决服务组件间通信产生的冲突。
3.服务的版本控制和部署控制。
4.整理冗余的服务5.满足一般的商业服务,例如事件处理,数据传输,消息映射,安全,错误处理,协议转换,保证服务通信质量等等。
技术方案ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求。
它可以在不改变现有基础结构的情况下让几代技术实现互操作。
通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使企业已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。
更重要的是,充当“缓冲器”的ESB(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,用不着在应用程序或者数据发生变化时,改动服务代码。
图、ESB技术实现方案基本功能:1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址进行管理。
2)传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。
3)中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议。
4)多服务集成方式:如JCA,Web服务,Messaging ,Adaptor等.5)服务和事件管理支持:调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能;扩展功能:1)面向服务的元数据管理:他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;2)Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;3)通信:服务发布、订阅,响应请求,同步异步消息,路由和寻址等;4)集成:遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
5)服务交互:服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。
6)服务安全:认证和授权、不可否认和机密性、安全标准的支持等;7)服务质量:事务,服务的可交付性等;8)服务等级:性能、可用性等。
9)ESB 中最常提到的两个功能是消息转换和消息路由。
开源及商业解决方案1.Mule ESB开源软件。
轻量级的消息框架和整合平台;基于EIP实现;核心组件UMO实现整合逻辑;支持20多种传输协议(File、FTP、UDP、SMTP、POP、HTTP、SOAP、JMS等)。
并整合了许多流行的开源项目,比如Spring,ActiveMQ,CXF,Axis,Drools等。
Mule提供了以Java为中心的模型,支持jBPM,支持消息无关,没有热部署功能。
Mule的优点:1,架构简单清晰、容易上手;2,它有非常广泛的传输器、路由器和转换器,且易于扩展;3,Mule不需将消息转换成统一的格式,而只在需要时进行转换,提高了性能;4,开发过程中无需关注Mule代码,只需通过配置即可将服务暴露,减少了侵入性;5,文档清晰而完善;Mule的缺点:1,没有实现任何ESB规范(但遵循了《Enterprise Intergration Patterns》与 SEDA?(Staged Event-Driven Architecture));2,不支持热部署(企业版支持);Mule选择不实现JBI的理由:为保持其轻量级和灵活性,提高效率和易用性。
Mule提供了一个JBI适配器来与JBI容器保持联通性。
2.ApacheServiceMix开源软件。
它是JBI规范的一种实现;包含很熟JBI组件。
这些组件支持多种协议,比如JMS,HTTP,FTP,FILE等。
同时也实现了EIP,规则和调度。
ApacheServiceMix 也整合了其他的开源项目,比如Apache、Apache、ActiveMQ CXF,Apahe Camel,Apache ODE以及Apache Geronimo。
如果要做进一步的总线上的扩展,则需要对源代码和例子进行较为深入的学习和研究,当然这一切的基础是对JBI的规范有较为全面的了解。
ServiceMix提供了JBI支持,BPEL集成,关注XML消息和热部署功能。
Servicemix的优点:1,基于JBI规范;2,可以热部署;3,支持Camel(可以用DSL去开发集成流程);Servicemix的缺点:1,JBI规范带来了使用上的繁琐,且JBI规范没有得到太多的青睐,前途未卜;2,过多依赖XML的配置;3,由于所有消息要进行标准化处理,即生成和解析XML文件,所以会导致性能下降;4,开发过程中需要实现框架特定接口(MessageExchangeListener)接收和处理上述标准消息,侵入性强;5,文档不健全、不够清晰;3.IBM WebSphere ESBIBM 提供了三种 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 需求。
4.Microsoft ESB微软通过其应用平台提供了全面的ESB服务,包括:WindowsServer®2003,.NET Framework, BizTalk®Server 2006 R2. 应用平台提供了一个基础架构,基于此可以灵活和安全地重复使用架构和商业服务,并具有协调原有的服务整合到新的端到端的业务流程中的能力。
微软通过一些列的产品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解决方案的开发。
它还可以帮助开发人员扩展现有的信息和集成解决方案,包括的一些服务和组件。
5.JBOSS SOA PlatformJBoss Enterprise SOA Platform提供了一个基于标准的平台,用以集成应用、SOA服务、业务事件和自动化业务流程。
这一SOA平台集成了特定版本的JBoss ESB、jBPM、Drools、和已得到验证的JBoss企业应用平台,把它们组织在一起形成一个单一的企业级发布。
财政应用随着信息化程度的提高,迫切需要一个集成的平台,大大降低采取不同系统所带来的重复性开发和集成成本,降低应用风险。
目前各地财政信息建设的实际情况不同,导致实施的模式、系统提供商也不尽相同,如:陕西省财政一体化应用。
这样就导致财政的信息化建设存在以下一些问题:1)缺乏统一规划、集成的信息系统,“信息孤岛”现象严重,财政各类资源无法实现共享和优化。
2)应用系统不易改变。
传统的应用程序基本上是根据给定的业务需求定制开发,业务功能依赖复杂的技术手段实现,系统都是刚性的。
整合各业务应用,消除信息孤岛,实现各个应用系统的信息和资源共享,提高财政的信息化建设水平。
实现跨地区乃至跨部门间广泛的数据共享和信息交换。
面向服务架构SOA,以其可靠、稳定的性能,先进的SOA架构、灵活的开发部署模式和统一安全的认证模式,作为资源、应用集成和交换的服务平台应用于政府部门信息整合解决方案之中,实现统一信息资源、统一信息标准、统一安全性能、统一基础应用平台,为政府领导决策和公共服务支持起到了重要的支撑中枢作用。