基于SOA的企业服务总线研究及其应用.docx
- 文档编号:10988702
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:77
- 大小:772.69KB
基于SOA的企业服务总线研究及其应用.docx
《基于SOA的企业服务总线研究及其应用.docx》由会员分享,可在线阅读,更多相关《基于SOA的企业服务总线研究及其应用.docx(77页珍藏版)》请在冰豆网上搜索。
基于SOA的企业服务总线研究及其应用
基于SOA的企业服务总线研究及其应用
重庆大学硕士学位论文
学生姓名:
姬楷
指导教师:
文俊浩教授
专业:
计算机软件与理论
(软件工程领域)
学科门类:
工学
重庆大学软件工程学院
二OO八年十月
TheEnterpriseServiceBusBasedonSOAResearchandApplication
AThesisSubmittedtoChongqingUniversity
inPartialFulfillmentoftheRequirementforthe
DegreeofMasterofEngineering
By
JiKai
SupervisedbyProf.WenJunhao
Specialty:
ComputerSoftwareandTheory
(SoftwareEngineering)
CollegeofSoftwareEngineeringofChongqingUniversity,Chongqing,China
Oct.2008
摘要
面向服务体系结构(Service-OrientedArchitecture,SOA)将应用程序的不同功能单元抽象为服务,并将这些服务通过定义良好的接口和契约联系起来。
为了优化企业的信息系统基础架构,以实现面向服务的体系结构,企业需要一个智能化的基础设施,以降低服务重用的复杂性,并可靠地集成企业信息系统中存在的各种技术、协议和应用。
为此,需要建立一个以服务为中心的抽象层,以隐藏各种应用和技术带来的底层复杂性,这个服务中间层就是企业服务总线(EnterpriseServiceBus,ESB)。
本文通过对现有企业服务总线技术和产品的剖析,研究了基于SOA的企业服务总线模型,该模型融入总线与本地服务容器相结合的注册访问模式,进而增强了该模型的性能。
文中以该模型为突破点,围绕“企业服务总线”这个核心,首先分析了模型的体系结构、工作机制、现有产品分析,然后重点论述了SOA、企业服务总线,以及实现标准化消息路由等关键技术及相应的协同设计系统解决方案。
本文完成的工作有:
分析了企业实施系统集成面临的问题,并指出其核心问题是如何结合行业与企业实践背景运用企业服务总线来集成系统。
剖析了SOA实现方法、Web服务、企业服务总线产品、标准化消息路由等问题。
在分析企业服务总线和标准化消息路由的基础上,提出了总线与本地服务容器相结合的注册访问模式。
该模式是分层次、树形存储结构,较好的解决了勘察设计企业协同设计系统中远程注册服务、访问服务过多的依靠网络情况等问题
对模型中关键组件(总线与本地服务容器相结合的注册访问标准化消息路由)进行了设计实现,并与其他企业服务总线进行了对比分析。
针对勘察设计企业协同设计系统的需求,使用基于SOA的企业服务总线,实现了勘察设计企业的协同设计系统原型。
关键词:
SOA,企业服务总线,标准化消息路由,勘察设计
ABSTRACT
Service-OrientedArchitecture(SOA)isacomponentmodelthatinter-relatesanapplication'sdifferentfunctionalunits,calledservices,throughwell-definedinterfacesandcontractsbetweentheseservices.TooptimizetheITinfrastructureanddelivertheserviceintimetomaketheSOApossible,ITforumneedsanintelligentstructuretoreducethecomplexityoftheservicereusability,andtointegratealltechnologies,protocolsandapplications.Forthisreason,theITforumcreatesanabstractlayerfocusonthe"service"toreducetheunderlyingcomplexitybyintegratingallapplicationsandtechnologies.SuchalayerforservicesiscalledEnterpriseServiceBus(ESB).
AccordingtotheanalysisforESBtechnologyandproducts,thisthesisprovidesanESBmodelbasedonSOA,whichcontainsBus-LocalserviceregisterandaccessmodelpromotingtheperformanceofESBmodel.Thenthisthesisdiscussesthearchitectureofsystemmodel,mechanismofrunning,analysissimilarproducts,andthenputsemphasisonSOAandESBtechnology,andimplementsBus-Localserviceregisterandaccess.
Thelistoffinishedwork:
Analyzestheproblemsinenterpriseimplementingintegration,andpointsouttheresolutioniscombinethebusinessrequestandenterpriseServiceBus.ItincludesSOA,WebService,ESB,ESBproducts,andNormalizedMessageRouter.
BasedonanalysisofNormalizedMessageRouter,designsaBus-Localserviceregisterandaccessmodel,whichcombinesbusglobalregisterandlocalcontainerregister.Itestablisheshierarchyandtreestore,combiningdistributedmodel,andresolvestheproblemsonregister.
Thisthesisprovidesakeycomponentdesign,whichisBus-LocalServiceregisterandaccessNormalizedMessageRouter,andachieveit.
DesigntheCooperationofDesignSystemusingESBbasedonSO,andarchiveitaccordingtotherequirement.
Keywords:
SOA,EnterpriseServiceBus,NormalizedMessageRouter,
SurveyandDesign
目录
中文摘要I
英文摘要II
1绪论1
1.1课题研究背景与研究意义1
1.2国内外研究现状2
1.3本文的主要工作3
1.4本章小结4
2SOA与企业服务总线相关技术分析5
2.1企业应用集成5
2.2SOA优点5
2.3Web服务6
2.3.1Web服务特点6
2.3.2Web服务的核心6
2.3.3Web服务注册规范UDDI9
2.3.4Web服务的服务协议栈14
2.4企业服务总线15
2.4.1企业服务总线特点15
2.4.2服务发现机制16
2.4.3异步消息传递17
2.4.4企业服务总线的优点17
2.5本章小结17
3基于企业服务总线ServiceMix的标准化消息路由研究19
3.1开源服务总线产品ServiceMix19
3.2ServiceMix中轻量级组件与标准组件20
3.3JBI系统结构22
3.4企业服务总线产品对比24
3.5服务使用者与提供者26
3.6服务调用26
3.7服务容器27
3.8注册服务模式分析对比28
3.8.1总线全局注册28
3.8.2服务容器本地注册29
3.8.3全局与本地注册局限性30
3.9本章小结31
4总线-本地模式标准化消息路由的设计与实现32
4.1总线-本地模式32
4.1.1总线-本地模式概念32
4.1.2总线-本地模式目标32
4.2树形存储结构33
4.3总线-本地模式标准化消息路由结构设计实现33
4.3.1判断机制设计33
4.3.2增设转发服务34
4.3.3重载Servicemix访问注册列表函数34
4.3.4访问请求传递机制38
4.3.5访问请求传递流程39
4.4总线-本地模式标准化消息路由的实现39
4.4.1SVNconsole方式39
4.4.2SVNeclipse插件方式40
4.4.3建立Maven工程40
4.5访问性能对比分析42
4.6本章小结43
5基于SOA的企业服务总线协同设计系统的设计与实现44
5.1勘察设计企业协同设计系统需求44
5.1.1通过SOA技术架构系统定义的数据服务总线提供数据访问支持44
5.1.2构建基于SOA的设计企业信息框架模型44
5.2项目总体系统结构45
5.3基于SOA的企业服务总线概念模型45
5.4基于SOA的企业服务总线在协同设计系统的实现46
5.4.1搭建ServiceMix运行环境46
5.4.2ServiceMix运行效果47
5.4.3ServiceMix配置49
5.5协同设计系统应用测评51
5.5.1测试环境51
5.5.2不同网络状态访问测试52
5.6本章小结53
6结论与展望54
6.1结论54
6.2工作展望54
致谢56
参考文献57
附录60
1绪论
1.1课题研究背景与研究意义
SOA的构建将改变勘察设计企业过去软件开发应用的模式,将软件按照业务需求定义成“组件”,作为共享资源,提供以服务为中心来设计应用软件的方法。
基于SOA架构的应用集成可以减少不同类型的IT系统的依赖性,提高设计企业对业务的响应能力,使设计企业得以实时支持业务的变化,实现资源的有效共享。
在广域网下建立同一企业不同设计区域、同一项目不同设计单位之间跨区域的协同设计。
通过开发协同设计工作平台,实现一套勘察设计企业广域分布式设计生产管理系统应用需求的快速构建工具和运行支撑环境,使勘察设计企业快速实现设计与管理的集成。
通过网络及可视化技术可以改变多参与方参与的项目管理方式,构建标准统一的项目管理模型和协作体系,避免过去的多方参与项目中各个参与方不协调、不一致和流程混乱而导致的事故,降低管理成本。
使用产品选用网,还可使设计人员从手工查阅产品技术资料的传统方式中解放出来,粗略估计可提高20%以上的工作效率,使设计行业实现继画图板以来的又一次技术跨越。
勘察设计企业工程设计图知识管理属于一个较新的研究方向,对于我国目前的勘察设计技术的发展具有很大的推动作用,它代表了当前勘察设计企业信息化的一个重要研究方向,随着勘察设计信息化的逐步推进、设计市场竞争激烈化与工程建设领域的投资加大,会有更多的勘察设计企业更加注重自身核心竞争力的塑造,其发展方向非常清晰明确。
同时,通过使用数据挖掘和数据分析技术逐步归纳总结多个项目及多个参与方不同的项目管理知识经验,建立企业项目管理后台知识经验库,能够用于指导现有项目的进一步发展与优化。
SOA技术为信息系统的沟通提供了技术基础。
SOA在勘察设计企业的应用,必将促进统一的勘察设计行业信息交换标准的发展和制定,对促进勘察设计企业信息共享标准体系的建立和完善具有重要支撑作用。
新兴的网络技术,如Ajax,Web2.0等,为大型的网络系统和协作平台的建立提供了技术基础。
基于网络的管理系统能够提供与桌面程序无异的复杂可视化及交互功能,促进多参与方在广域网环境下的跨地域协同设计,对项目管理的完善和各参与方的互动起到支撑作用。
建筑产品选用网的建立,为建筑企业开展电子商务奠定了基础。
勘察设计企业服务于建筑、冶金、化工、机械、电子等各个行业的固定资产投资建设,对各个行业基本建设单位产量或面积的技术、能耗和经济指标的控制起着决定性的作用。
通过建立对工程设计和建设数据指标的提取和分析机制,引导勘察设计企业由粗放的开环式设计向优化的闭环式设计方向发展,有利于企业和行业工程建设技术、经济、能耗、环境等指标的总结、管理和考核,促进各行业的可持续发展。
1.2国内外研究现状
面向服务的体系结构已经逐渐成为IT集成的主流技术。
面向服务的体系结构(service-orientedarchitecture,SOA)是一种软件系统设计方法,通过已经发布的和可发现的接口为终端用户应用程序或其它服务提供服务。
SOA把IT架构分为组件层、Web服务层、业务流程层等。
组件层包括各种应用组件,它们通常是技术相关的具体实现,各种具体的分布式组件技术(CORBA、COM/DCOM、J2EE)都可以用于实现组件层的应用组件。
通常复杂的IT环境中的组件层都同时使用了多种分布式组件技术,而不同实现技术之间的互联性障碍给应用集成带来了极大的困难,进而形成了一个个信息孤岛。
SOA引入了Web服务层来解决此种情况下的应用集成问题。
Web服务是独立于各种分布式组件技术的,它使用标准的基于XML的服务描述语言(WebServiceDescriptionLanguage,WSDL)来定义和封装离散的业务功能,各种支持Web服务的分布式组件技术能够将其上的业务组件发布成Web服务并产生相应的WSDL文档,并且只需要依据WSDL描述的信息就能够调用Web服务,即WSDL所描述的业务功能。
Web服务在系统集成方面得到了广泛的应用。
在SOA中,需要进入系统集成环节的业务组件都被映射为Web服务,形成了Web服务层。
业务流程层则处于Web服务层之上,通过对Web服务的流程编排来实现商业流程。
业务流程层通过Web服务层能够调用到基于各种分布式组件技术实现的业务组件,实现了复杂IT系统环境的应用集成。
在SOA的组件层、Web服务层、业务流程层三层模型中,组件层使用具体的分布式组件技术实现业务功能,Web服务层则为组件层提供了一种技术无关的通用访问方式,屏蔽组件层具体技术之间的差异,突出业务逻辑的封装性。
组件层中的业务组件和Web服务层的Web服务构成了企业IT架构的主要可重用部件,它们应该保持相对的稳定,业务流程层则通过对服务进行编排,来适应业务需求的变化。
将组件层的业务组件映射为Web服务层的服务是成功实现SOA的关键步骤,目前对于特定的业务组件,业界广泛使用具体于分布式组件技术内建的支持Web服务的功能来实现组件与服务的映射。
这种映射方法高度依赖于具体分布式组件技术本身,并且在使用和定制的过程中缺乏灵活性,当某个Web服务的实现需要多个分布式组件技术中的业务组件实现时,这种映射方法就会无法支持。
企业服务总线是构建基于SOA解决方案时所使用基础架构的关键部分,是由中间件技术实现并支持SOA的一组基础架构功能。
ESB支持异构环境中的服务、消息,以及基于事件的交互,并且具有适当的服务级别和可管理性。
简而言之,ESB提供了连接企业内部及跨企业间新的和现有软件应用程序的功能,以一组丰富的功能启用管理和监控应用程序之间的交互。
在SOA分层模型中,ESB用于组件层以及服务层之间,它能够通过多种通信协议连接并集成不同平台上的组件将其映射成服务层的服务。
作为SOA基础架构的关键部分,ESB的功能主要体现在通信、服务交互、应用集成、服务质量、安全性以及管理和监控等方面。
在通信方面,ESB能够支持消息路由/寻址,支持多种通信技术、通信协议,如JMS、HTTP,支持发布/订阅的通信模式,能够处理请求/响应、同步以及异步的消息传递方式,并且要求以可靠的方式传递消息。
服务交互方面,ESB上所发布的服务是以当前标准的WSDL来定义Web服务的,并且ESB上通常配备有服务目录和发现机制。
ESB的重要功能就是集成不同的系统,必须能够支持多种接入ESB的方式,例如将ESB、WebService、CORBA以及使用Socket等方式访问的遗留系统接入到ESB系统,将接入的系统映射成Web服务。
在集成不同系统的同时,必须考虑服务质量方面的问题,如事务性和消息传递的可靠性。
对于关键的Web服务,ESB需要以加密的方式进行消息传递,并且必须验证访问者的权限。
ESB软件作为SOA基础架构的一个复杂子系统,还必须配有相应的管理和监控功能,用于ESB软件自身的系统管理、日志记录、测量和监控等。
目前国内外对企业服务总线的研究都比较积极,IBM的ISV、BEA的AquaLogicServiceBus、开源软件Mule、Sun的OpenESB等,都是企业服务总线的具体实现。
1.3本文的主要工作
课题“基于SOA的企业服务总线研究及其在勘察设计企业协同设计系统中的应用”是针对处于复杂应用环境中的企业对面向服务体系结构的实施需求而提出的,目的在于帮助企业在资源分布和系统异构的情况下通过中间层有效整合资源协同工作。
课题的研究目标是基于面向服务的体系结构分析、设计和实现一个基于标准的灵活的服务中间层,即基于SOA的企业服务总线模型,帮助企业实现在面向服务体系结构中不同服务之间的智能化管理。
课题的项目背景是“勘察设计企业信息化关键技术研究与应用–勘察设计企业协同设计综合管理架构平台系统”,该系统主要负责通过SOA技术架构系统定义的数据服务总线提供数据访问支持,安全服务总线提供安全保证,文件服务总线提供文件访问支持。
作者在项目中主要负责企业服务总线系统的研究与实现工作。
本文主要作了如下工作:
分析了SOA与企业服务总线相关技术。
阐述了SOA和企业服务总线的理论基础,介绍了企业服务总线的定义和技术特征,分析了企业应用集成、面向服务体系结构、事件驱动体系结构、Web服务以及企业服务总线之间的关系。
并对开源ESB产品ApacheServiceMix进行研究。
标准化消息路由研究。
分析研究了企业服务总线产品,开源软件ApacheServiceMix的标准化消息路由,以及两种服务注册发现模式,总结了这两种方式的优缺点。
总线-本地模式标准化消息路由。
针对总线全局注册和服务容器本地注册两种方式的局限性,提出了总线-本地相结合的注册访问方式,建立层次建构,使用树形结构存储。
并且设计实现了该种模式的包、接口、类等。
基于SOA的企业服务总线的协同设计系统的设计与实现。
主要提出基于SOA的企业服务总线的体系架构模型,融入总线-本地标准化消息路由模式。
设计实现了基于SOA的企业服务总线在勘察设计企业协同设计系统中的使用。
1.4本章小结
本章论述了SOA与企业服务总线概念,指出了课题研究的意义,探讨了国内外SOA与企业服务总线技术的研究现状,最后提出了本文的研究工作。
2SOA与企业服务总线相关技术分析
2.1企业应用集成
企业应用集成,其目标是支持对企业现有信息系统的重新利用,通过相关技术将不同的软件和系统串联起来,延长这些应用系统的生命周期。
企业应用集成往往使用如CORBA和COM等消息中间件技术进行分布式、跨平台的程序交互,修改企业资源规划以达到新的目标,使用中间件、XML等方法来进行数据分配。
因此,实际上传统的企业应用集成是组件级的重用。
可是,基于组件的架构缺乏统一的标准,各个厂商都有各自不同的企业应用集成解决方案,由此出现了各种各样的中间件平台。
当企业应用集成过程中碰到了异构的信息系统环境,就必须分别考虑如何在各个不同的中间件之间周旋,以实现合理的集成方式。
因此,企业需要寻求一个更好的方案来解决企业系统集成的问题[2]。
2.2SOA优点
从以上的分析可以看出,采用面向服务体系结构将为企业带来几方面的好处:
充分利用现有的信息系统。
面向服务体系结构提供了一个抽象层,通过这个抽象层,企业可以继续利用它在现有信息系统方面的投资,方法是将这些现有的资产包装成提供各种功能的服务。
企业可以继续从现有的资源中获取价值,而不必从头开始构建。
更易于集成和管理。
在面向服务体系结构中,集成点是服务而不是具体实现。
这为服务的使用者提供了透明性,并将基础设施和实现所发生的改变带来的影响降到最低限度。
通过提供基于现有资源和资产构建的服务,集成变得更加易于管理,因为复杂性被隔离了当更多的企业一起协作提供价值链时这就变得更加重要。
更快的响应和部署速度。
从现有服务中组合新服务的能力为企业灵活地响应多变的业务需求提供了独特的优势。
通过利用现有的组件和服务,可以减少完成软件开发生命周期所需的时间。
这使得企业可以快速地开新的业务服务,并允许信息系统迅速地对改变做出响应。
增加重用减少成本。
通过以松散耦合的方式公开业务服务,企业可以根据业务要求更轻松地使用和组合服务。
这意味着企业对信息系统资源的重用和信息成本的降低。
更易于用户使用。
面向服务体系结构的业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理它,以满足不同时期的需要。
面向服务体系结构为企业提供了灵活性和响应能力,这对于企业的生存和发展来说是十分重要的。
2.3Web服务
2.3.1Web服务特点
Web服务的概念可以从不同的角度来描述。
从功能的角度描述认为Web服务基于TCP/IP、HTTP、XML等规范而定义,具备如下功能:
Web上链接文档的浏览事务的自动调用、服务的动态发现和发布;从语义的角度描述认为Web服务是语义Web的一种应用,语义Web可以通过一个通用的框架来跨越不同的应用程序、组织,进行共享和重用数据,由于考虑了语义信息的描述及表示,Web服务能够更准确地被执行,服务组合能够按所期望的目标进行;从网格计算的角度指出Web服务能用于Web上的资源发现、数据管理及网格计算平台上异构系统的协同设计,提出了网格服务的新概念。
从信息检索的角度提出了在包含了分布策略和路由信息的电子文档之上进行分布式文档检索的Web服务[8]。
因此,从不同的角度出发,对Web服务的定义的表述是不一样的。
本文对Web服务的定义是:
Web服务是可通过标准的Internet协议可编程访问的自适应、自描述的Web组件。
简单来说,Web服务是松散藕合的、可重用的软件模块,它封装了离散的功能在Internet上发布
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SOA 企业 服务 总线 研究 及其 应用