计算机应用硕士论文-基于ESB-SOA的系统集成框架的设计与研究.pdf_第1页
计算机应用硕士论文-基于ESB-SOA的系统集成框架的设计与研究.pdf_第2页
计算机应用硕士论文-基于ESB-SOA的系统集成框架的设计与研究.pdf_第3页
计算机应用硕士论文-基于ESB-SOA的系统集成框架的设计与研究.pdf_第4页
计算机应用硕士论文-基于ESB-SOA的系统集成框架的设计与研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

计算机应用硕士论文-基于ESB-SOA的系统集成框架的设计与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南科技大学硕士学位论文基于ESB-SOA的系统集成框架的设计与研究姓名:冯培培申请学位级别:硕士专业:计算机应用指导教师:王辉20100401摘要I论文题目:基于论文题目:基于ESB-SOA的系统集成框架的设计与研究的系统集成框架的设计与研究专专业:计算机应用技术业:计算机应用技术_研研究究生:冯培培生:冯培培_指导教师:王辉(教授)指导教师:王辉(教授)_摘要摘要异构系统集成是当今企事业单位信息化建设面临的关键问题。这些应用系统各自为政,分布在不同的物理网络中,所使用的数据管理系统不同,彼此的数据表示和组织方式也不尽相同,以至于相互之间难以进行信息交互。而目前的系统集成方案是借助中间件或者分布式组件,是基于传统数据库的系统集成,重用率低、耦合度高、所达到的集成效果并不理想。因此如何采用一种新的方法将这些应用系统整合在一起,灵活的进行资源共享是至关重要的过程。本文针对异构环境下应用系统集成所存在的问题,在深入理解面向服务的架构(SOA)、企业服务总线(ESB)、WebServices技术的基础上,运用面向服务的思想,提出了一个基于ESB-SOA的应用系统集成框架,该框架是基于J2EE平台,结合WebServices技术,采用企业服务总线(ESB)作为各应用系统间信息共享的渠道,是轻量级的框架。另外本文还对框架中的一些关键技术进行了有益的探索和研究。内容如下:(1)分析了企业服务总线(ESB)自身路由机制的不足,提出了一种基于规则的路由机制,并论证了它的可行性,从而丰富了企业服务总线(ESB)中的路由机制。(2)针对传统的集成框架中数据与业务逻辑紧密耦合的问题,本文采用服务数据对象(SDO)来实现对异构数据源的更新。它使应用系统之间更加灵活的进行资源共享,同时大大节约了成本。(3)本文还对企事业单位遗留系统和新建系统在基于ESB-SOA的系统集成框架下是如何封装,以及信息传递过程中的协议转换问题做了阐述。最后,通过一个校园原型系统实例验证了基于ESBSOA的应用系统集成框架的合理性和适用性。该框架并没有对校园遗留系统进行二次开发,而是重用其功能,达到提高了效率,节约了成本的效果;同时系统间还可以跨平台的、松耦合的进行信息交互,提高了信息共享的灵活性。摘要II关关键键词:词:企业服务总线,服务数据对象,服务组件架构,面向服务的架构,资源整合论文类型:论文类型:应用基础研究摘要IIISubject:TheDesignandResearchofApplicationSystemIntegrationFrameBasedOnESB-SOASpecialty:ScienceandTechnologyofComputerName:FengPeiPeiSupervisor:WangHuiAssociatedProfessorABSTRACTHeterogeneoussystemintegrationbecomesthekeyissueduringthecurrentinationconstructionprocessinenterprisesandpublicinstitutions.Manyapplicationsystemsarebuiltinenterpriseandpublicinstitution.Theyprovidevariousservicesfordepartmentsandutilizedifferentapplicationplatsanddatabases.Theseapplicationsystemsareoftenindependentandhavedifferentinationandorganizationwaysamongdepartments.Duetothefeaturesmentionedaboveinationsharingamongthesesystemsisdifficulttoberealized.Whilethetraditionalintegrationwaysbasedonmiddlewareordistributedcomponentshavehighcouplingdegreeitisdifficulttobeexpanded.Soitisakeyissuetodecidehowtocombinetheapplicationsystemsandsharetheinationmoreflexibly.Thispaperisaimedatsolvingtheproblemsofapplicationsystemintegration.Onthebasisofdeepunderstandingofserviceoriented0architecture(SOA)EnterpriseServiceBus(ESB)andtheoriesofWebServicesaservice-orientedheterogeneoussystemintegrationframebasedonESB-SOAisproposed.ThisarchitectureisbasedontheJ2EEplatandcombinesthetechnologyoftheWebServices.Theenterpriseservicebusprovidedbythisarchitectureisusedasachannelforsharinginationamongapplicationsystems.Thenthepaperdiscussesthekeytechnologiesforthesethreemodules.Thecontentisasfollows:(1)AnalysisoftheEnterpriseServiceBus(ESB)self-routingmechanismshortcomingsarules-basedroutingmechanismisproposedwhichenrichedtheroutingmechanismintheESB.(2)Thisframeovercomestheproblemoftightcouplingcausedbytraditionalintegrationmodelsbetweendataandbusinesslogic.ThispaperusesServiceDataObjects(SDO)toimplementanupdateontheheterogeneousdatasources.Itenablesapplicationsystemsinationmoreflexiblyandcollaboratively.摘要IV(3)ThisarticlealsosolvestheproblemofpackagingthelegacysystemsandnewsystemsofsystemsinenterprisesbasedontheframeworkoftheESB-SOA.Wealsointroducetheconversionalprocessofinationtransmissionprotocol.Finallyaprototypesystemexampleisalsogivenandanalyzedintheendofthepaper.ItverifiesthefeasibilityandeffectivenessofapplicationintegrationframebasedonESB-SOA.Thisframeisnotasecondarydevelopmentoflegacysystemsbutreusesitsfunction.Italsorealizesacross-platwithloosecouplingduringtheprocessofinationtransmissionandimprovestheflexibilityofinationsharing.KEYWORDS:ESBSDOSCASOAResourceIntegrationDissertationType:baseapplicationsresearch第1章绪论1第1章绪论第1章绪论1.1课题的背景课题的背景随着网络技术的不断发展,各企事业单位都在进行信息化建设,例如:我校已经建立了面向各类具体应用的信息系统:一卡通信息管理系统、财务管理系统、科研管理系统、实验室与设备管理系统、体育课程管理系统、网络课堂教学辅助系统、综合财务查询系统、办公自动化系统等等,然而各个部门由于业务和功能归属不同,所采用的计算机环境由不同平台组成,以至于大量信息存在不同的应用系统中,不利于应用系统间信息共享,同时带来了高昂的维护成本,因此如何将这些应用系统自然、有机地集成在一起发挥最大功效是一个关键问题。而传统的集成模式是通过在各个应用系统间构建适配器将分散的系统进行集成,具有系统间紧密耦合、互操作性差、可扩展性差等缺点。在这种集成模式中,客户端直接向服务提供者发出请求,每个服务提供者的服务地址和传输协议都是需客户端单独处理,这样就暴露出服务地址和传输协议对客户端来说是透明的,容易引发安全隐患。目前,借助网络,信息化速度不断加快,企事业单位开始面向社会化、科学化、标准化。因此企事业单位不仅需要为内部用户提供服务,而且还需要面向部门以外众多潜在的用户,然而诸多旧的遗留系统和新开发的应用系统使得信息资源越来越膨胀,这些系统之间的数据关系错综复杂,大量的冗余数据分散在各个应用系统中严重阻碍了企事业单位信息化建设的步伐。在这种情况下SOA(Service-OrientedArchitecture,SOA)1技术应运而生。它强调重用和松散耦合,注重接口及标准化的描述,最大程度的兼容企事业单位的遗留系统,同时提供遗留系统所不具有的兼容性。虽然SOA是一个比较有前景的系统架构,是未来应用集成发展的方向,但是这种技术处于不断发展中,还不完善,需要改进的地方很多。例如:SOA可以支持多种传输协议,然而这些传输协议如何转换才可以进行传输呢?SOA的本质是面向服务,但是诸多分散的服务如何进行协调?另外,如何更好的权衡和优化服务间的敏捷性以及如何解决通讯性能使得信息可以在安全级别更高的环境下进行资源共享等等,这些一系列的问题都需要在SOA架构的具体实施中考虑。以上有关SOA实施中的几个问题促使了企业服务总线(EnterpriseServicesBus,ESB)2的诞生。ESB这一概念一经提出,就备受企业的青睐。它解决了应用系统整合这一河南科技大学硕士学位论文2企业较为头疼的问题,达到了为企业降低成本,增加效益的目的。随着ESB技术的日趋成熟,市面上ESB的产品也越来越多,它逐渐成为了服务之间集成的中介。ESB的技术优势表现在2:改变了传统的软件架构模式,消除了不同平台之间的技术差异,为服务之间的通讯提供了一种更为廉价的解决方法。鉴于SOA思想与信息化建设的目标一致,本文利用SOA的思想并结合ESB技术进行跨平台的应用系统集成,以某校3个校区独立的应用系统为背景,对校园应用系统集成进行了理论研究和实践尝试。并以此提出了一个基于ESB-SOA的应用系统集成框架。该框架是基于J2EE平台,结合WebServices技术,利用服务数据对象来实现数据源的更新,采用企业服务总线(ESB)作为各应用系统间信息共享的渠道。最后通过一个校园集成系统原型实例证明了该框架克服了传统集成模式中服务之间紧密耦合这一问题,实现了服务组件的实际位置与传输协议的透明,同时也可以大大节约学校成本,可以使各应用系统间更灵活的进行资源共享。1.2国内外研究现状国内外研究现状异构应用系统数据集成的任务是:提供用户一个平台,从而屏蔽底层数据源的不同,使得用户可以无缝而且灵活的访问这些异构数据源。1.2.1异构应用系统集成的现状异构应用系统集成的现状国内外常用的异构应用系统数据集成解决方案有:1.视图共享:两个或者多个系统之间提供对外数据视图,让其它应用系统直接访问其私有数据库。这种方案实现容易并且效率高,但是直接的数据访问可能会因数据破坏而打开安全缺口。另一个问题是视图共享方式不能或者很难提供需要经过系统内部处理再对外提供的数据。2.公共数据库:从多个数据库的系统中收集信息,把信息经过分类整理以后整合成一个全局数据库,需要共享的信息集中在一个数据库中供各系统访问。存在问题是:如何维持公共数据库与各应用系统私有数据库之间的数据一致性,数据在各应用系统中的格式转换和数据安全也是两个需要解决的问题。3.中介代理模式:中介代理作为一个虚拟数据库,并不存储实际的数据,只是起一个临时存储和转发的作用。使用中介代理的方法对数据处理实时性好,还能屏蔽异构系统带来的问题,但是性能方面有损失,因为数据要在这里进行转换和重发。目前已有的数据集成方案已经取得了很大成果,但是总的来说还存在以下几第1章绪论3方面的问题:对系统同构性的要求,不能顺利穿越防火墙,不同组件模型难以进行互操作。因此本课题引入SOA的实现技术WebService技术,所谓Web服务9,指的是利用平台与编程语言中立的数据表示和通信协议实现互操作性的应用。实现Web服务的主要技术包括可扩展标记语言(XML)、简单对象访问协议(SOAP)、超文本传输协议(HTTP)、Web服务描述语言(WSDL)和统一描述、发现与集成(UDDI)。Web服务以其开放标准,低代价,易实现,可以递增实现等优点,对未来可互操作的分布式系统必将带来巨大影响,它已成为企业应用集成领域的新热点。1.2.2SOA和和ESB的发展现状的发展现状2004年3月,IBM首次提出了SOA这一概念,并把它定义为面向服务的体系结构,实质上它是一个组件模型。目前,SOA已经成为全球计算机行业的备受关注的话题,是软件架构发展的趋势。SOA的重要特点是:松耦合、支持业务流程重构、是基于标准的应用等,因此SOA比较适用于业务系统间的互操作。1.SOA的核心功能与技术研究目前的SOA解决方案大部分是基于中间件,能较好地满足应用系统在性能、服务质量和安全性等的需求,常用的基于SOA的系统集成解决方案包括以下几方面:(1)以适配器连接不同服务,从而形成可重用的业务对象,以便利用SOA架构进行组装,从而把实施SOA这一想法落到实地。(2)通过开发和编排流程,把各业务逻辑和资源访问整合起来,进行统一控制。(3)以服务为基本元素,为业务流程的组装提供技术基础,实现流程管理,帮助企业单位或者事业单位利用遗留系统,以便适应市场的变化发展。SOA平台解决方案核心技术包括:可靠消息传输、数据格式转换、动态路由、多种接入方式、工作流引擎、适配器技术以及集成开放环境等。国内外采用SOA技术的分布式异构数据库系统的集成研究已经有了一些成果,比较突出的有国外波多黎各大学的NetTraveler系统,加拿大渥太华大学关于DynamicE-learningSystem的研究,哈佛大学的UBIC项目等,国内浙江大学的数字化校园,华中科技大学的Panoramawebone系统等。2.SOA的切入点ESB的研究1996年,美国亚利桑纳州的国家光学天文台(NationalOptical河南科技大学硕士学位论文4Observatory,NOAO)提出ESB中间件技术,其核心组件是消息中间件。当时这个消中间件具有实时传输信息的能力和海量数据承载能力。而这两项功能恰恰是当时通用商所不能实现的技术,因此ESB逐渐的得到业界的关注。2003年Gartner对ESB做了如下定义3:ESB是一个能够连接众多应用端点的基于标准的、面向服务的骨干网。它将消息、服务、数据转换、数据管理结合在一起,可靠地连接应用系统并协调应用间的信息传递。ESB作为一种中间件,通过与其它的各种应用的服务级接口连接实现各种应用系统之间的交互,控制各应用系统之间的通信,该功能在企事业单位的应用系统中正发挥着巨大作用。近年来,诸多企事业单位已经在各种应用系统之间部署了ESB,同时业界对如何充分发挥ESB的作用以及建立SOA的环境,有了更加清晰的认识。但是,到目前为止,大多数厂商都没有一个统一的ESB标准。SUN公司提出了基于JBI规范的ESB集成标准4,但是JBI规范并没有得到IBM、BEA等集成巨头的支持,SUN公司已经减少了JBI规范的支持力度。2005年,各大IT公司联合来,对外发布了发SCA(ServiceComponentArchitecture,SCA)和SDO(ServiceDataObject,SDO)规范56这一规范一经提出就大大简化了服务的开发,直接用WebService技术封装各应用系统提供的功能服务,使得程序开发人员不需要应付异构环境下的各种具体实现细节。ESB技术改变了传统的软件架构体系结构,消除不同应用之间的技术差异,使不同的应用系统所提供的服务协调运作,实现了不同服务之间的资源整合。近年来,随着SOA的思想和ESB技术的日趋成熟,利用SOA和ESB技术进行应用系统的集成逐渐成为应用和研究的一大亮点。1.3本文的研究内容本文的研究内容本文以完善异构应用系统集成为目的,在吸收国内外应用系统集成技术经验的基础上,研究基于SOA和ESB的应用集成系统框架,并着重探讨了基于该框架的路由和信息同步更新问题。本文主要进行以下几个方面的研究:1.应用系统的研究深入了解企事业单位各个独立的应用系统的运行机制,在此基础上分析出各个系统之间的交叉数据和关联,进行抽象建模,同时勾勒出应用集成方案。2.应用集成关键技术和集成原则的研究对SOA、ESB、SCA、SDO等相关集成技术进行概念、基本特征、模型、优势等方面的研究,为基于ESB和SOA思想的集成框架的设计做好必要的准备。第1章绪论53.应用集成模型的研究利用面向服务的集成思想7,以ESB为切入点,提出一个满足信息灵活,需求多变的应用框架模型,本文针对传统集成方法实现数据源更新复杂的问题,着重论述SDO的优势,采用SDO的基本思想实现数据代码和业务代码的分离,从而实现对不同数据源的读取和更新问题。4.基于该框架的校园应用集成实例的研究以校园应用集成为研究对象,利用学生同时查找不同应用系统所提供的服务这一案例,在实际校园集成项目中对本文所提出的集成框架进行实践研究,同时,分析基于该框架的开发流程和服务模块的构建,并验证该框架的敏捷性和适用性。紧接着总结其优点和缺点,便于将来校园集成的进一步发展和完善。以上几方面的研究,旨在有效的组织和部署企事业单位遗留和新建的应用系统,实现各个异构数据源之间的数据共享,构建一个界面统一的、易于用户使用的信息发布平台,从而有效地利用数据资源,为今后信息资源的决策打下坚实的基础。1.4本文的组织结构本文的组织结构本文所讨论的是异构环境下系统集成的问题。通过搭建一个基于ESB和SOA的应用集成框架,作为一个信息发布和交换的平台,从而完成异构系统间的系统集成,实现从某个或者某几个应用系统获取数据信息,向指定系统发布或更新信息。本文是依据以下的内容组织结构来讨论基于ESE-SOA的应用系统集成框架的设计与实现。第一章绪论:介绍目前应用系统集成中存在的主要问题,并且简述系统集成的背景,分析了国内外集成的研究现状,提出了本文的研究内容与研究目的。第二章应用系统集成的理论思想和核心技术:介绍了实施应用系统集成的技术基础。对SOA、ESB、SCA、SDO、以及ESB和SOA之间的关系作了简单概述,并详细的阐述了SCA服务模块之间的绑定模式和SDO的架构原理。为后面章节的研究和分析奠定了基础。第三章基于ESB-SOA的应用系统集成框架的设计:本章在分析了应用系统集成中存在的难点的基础上,对比了目前比较常用的几种集成框架,针对企事业单位的具体情况设计出了基于ESB-SOA的应用系统的集成框架。第四章集成框架中关键技术的研究与实现:本章首先介绍了遗留系统和新建系统在第三章所提出的集成框架下是如何封装的,然后在分析了该框架中ESB路由机制不足的基础上,提出了基于规则的路由,并详细介绍了这种路由河南科技大学硕士学位论文6的实现方法,另外还详述了基于SDO技术的数据更新,最后也简洁的介绍了基于ESB-SOA的系统集成框架下的协议转换是如何实现的。第五章集成框架的实例验证:在简要介绍开发工具的选取之后,搭建了一个集成平台,并结合特定实例对SOA思想和ESB架构进行实践应用,验证了第三章所提出的校园应用系统集成框架的实用性。第六章总结与展望:对本文工作情况进行总结,并进行下一步的前展望。第2章应用系统集成的理论思想和核心技术7第2章应用系统集成的理论思想和核心技术第2章应用系统集成的理论思想和核心技术2.1面向服务的架构(面向服务的架构(SOA)概述)概述SOA(Service-OrientedArchitecture,SOA)的基本思想是面向服务,本质上是一种架构模型,可以根据需求通过网络对松散耦合的应用组件进行组合、部署和使用。服务是SOA的基础,它可以被调用。2.1.1SOA的定义及特征的定义及特征Gartner将SOA定义为8:“SOA是一种客户端服务器的软件设计方法,由应用软件服务和服务的使用者组成,与大多数通用的客户端服务器模型的不同之处在于:它着重强调软件组件的松散耦合,并使用独立的标准接口。”SOA是以服务为导向,不同厂商对SOA有不同的理解,所谓仁者见仁智者见智,可以简单的理解为“独立于具体技术的架构”,它是一种IT体系结构样式,支持把业务作为可重用的服务进行集成,用户需要该服务时可通过网络远程访问这些服务。这些服务可能包含在企事业单位的内部,也可能分散在各地并且底层采用不同的基础设施,而SOA可以对各个功能的服务进行远程调用,最终让用户感觉这些服务似乎就安装在本地一样。从上述对SOA的定义和分析中,可以更加深刻的理解SOA的以下几个基本特征:1.松散耦合SOA促使“松散耦合”的应用程序组件的产生,在这类组件中,代码不一定绑定到特定的数据库,甚至不必绑定到特定的基础设施。松散耦合9指的是:SOA的计算技术不依赖于具体实现、协议等,它又包括3方面的内涵。(1)服务之间松散耦合。一个应用系统所提供的服务能够不依赖于其它服务,自己可以实现所提供的接口功能。(2)接口和实现之间松散耦合。例如,WebServices的接口是由WSDL文档定义的,这个接口既可以用.NET平台实现,也可以用J2EE来实现。(3)业务组件和传输协议之间松散耦合。目前的业务组件都拥有各自的传输协议,RMI是EJB的传输协议,SOAP是WebServices的传输协议,而JMS则需要基于JMS的传输协议。它们之间相互依赖,而目前业务组件还不能实现河南科技大学硕士学位论文8随时转换传输协议,但是SOA思想则提倡让业务组件和传输协议相互解耦。2.粗粒度SOA中服务接口要比面向对象编程的API大,也就是说SOA需要更接近用户,采用粗粒度的接口。采用粗粒度的服务接口虽然减少了服务间查询,互调,通讯等的延迟,但是也表现出现重用性,灵活性差等的缺点。3.位置和传输协议透明SOA区别于其它组件编程的根本点在于:位置和传输协议透明。可以这样简单的理解:客户端的调用程序不需随服务组件实际位置的URL的改变而改变。图2-1显示了SOA服务调用时表现出的传输协议和位置的透明。图2-1位置和传输协议透明的调用方式Fig.2-1thetransparentcallingwaybetweenpositionandtransmissionprotocols2.1.2SOA核心实现技术核心实现技术SOA不依赖于任何一种组件,它可以随意绑定WebServices组件,EJB组件等等,但是SOAP协议12是WebServices一套标准的传输协议,而应用集成是以标准的传输协议为基础,因此WebServices技术是实施SOA的核心技术。Web服务13是业务服务、业务以及能够通过国际互联网、企业内部或者外部互联网访问的系统功能组成单元,它可以把众多遗留系统功能改造成可重用的服务,不需要重新发布API。由于Web服务的传输协议可以穿越防火墙,所以它越来越受业界的关注,成为实施SOA架构的首选技术。构建Web服务需要相关的协议来支撑,而这些协议也构成了Web服务的技术基础。与SOA相关的技术如下所示:客户端服务总线EJB服务应用服务器JMS应用服务器应用服务器WEB服务任何传输协议任何传输协议任何传输协议RMIRMISOAP第2章应用系统集成的理论思想和核心技术91.SOAP传输协议SOAP(SimpleObjectAccessProtocol,SOAP)14协议是Web服务体系结构中标准的传输协议,它定义了服务提供者和服务请求者之间的传输规范。因为XML使得数据更加容易读取和共享,且HTTP是其标准的传输协议,所以SOAP协议用XML格式化消息,HTTP协议承载消息。SOAP协议通常包括SOAP封套(Envelop)、SOAP编码规则(EncodingRules)、SOAPRPC(RPCRepresentation)表示。2.UDDI集成协议UDDI(UniversalDescription,DiscoveryandIntegration,UDDI)15统一描述、发现与集成,通常表示为一个注册表,是一个服务描述和发现的标准规范。因为有了UDDI,才可以建立一个与平台无关,全球化的架构,它也可以被看作是一个Web服务,这个服务是基于XML和SOAP的,可以通过一组SOAP接口实现与其它UDDI的交互。3.WSDL协议WSDL(WebServicesDescriptionLanguage,WSDL)1617Web服务描述语言。它定义了通过网络要访问的业务服务情况,比如:协议和配置的详细情况、Web服务的函数、返回值、参数等。WSDL也是基于XML的,具有语言平台无关性。一个Web服务被调用之前必须知道它所调用的接口,而此接口恰恰是用WSDL来描述的。WSDL可以存储在UDDI中,服务请求者需要一个业务而查询UDDI时,必须从WSDL中找到相应的服务关键字。2.1.3SOA参考模型参考模型SOA参考模型10是三种角色(服务提供者、服务注册中心和服务请求者)之间的交互,涉及到发布,查询和绑定调用3种操作。服务提供者将提供的服务用WSDL描述出来,通过UDDI的发布API发布到服务注册中心。服务请求者通过使用UDDI的查询API从服务注册中心检索自己需要的服务,利用检索到的服务描述中的信息与服务提供者进行绑定并调用其提供的服务。该SOA参考模型中的三个角色之所以可以较好的相互协作,是因为Web服务技术已经日渐成熟。WebService通过使用统一标准,封装数据、消息、行为等,让不同系统跨平台彼此兼容,进行无缝通信和数据共享。这就使得原来处于不同平台,使用不同对象技术的CORBA、DCOM构架11能够去除平台的实现差异,统一在一个技术层面上,即Web服务技术层,依靠预先达成一致的Web服务规范,使计算机系统完成无缝对话,无需考虑具体应用环境。SOA的三种角色之间的协助关河南科技大学硕士学位论文10系如图2-2所示:服务注册中心服务提供者服务请求者服务查找服务绑定服务发布服务描述图2-2SOA参考模型Fig.2-2theSOAreferencemodelSOA参考模型表示的是概念上的模型。若干组服务形成了SOA系统,而这些服务都依赖于自治的应用系统,它们可以向外界提供明确定义的接口。2.2企业服务总线(企业服务总线(ESB)概述)概述企业服务总线18是传统中间件技术与Web服务、XML等技术相结合的产物。在网络中,它提供了最基本的连接中枢,是企业应用系统的重要元素。ESB可以提供比传统中间件集成方式更为廉价的解决方案,它改变了传统的软件架构,同时还消除了不同应用系统之间的技术差异,实现了不同应用系统服务之间的整合,让各个应用服务相互协调运作。另外,ESB还提供了基于标准的、开放的消息机制,通过这些标准的接口和适配器提供粗粒度的应用服务,来满足企事业单位对异构应用系统集成的需要。从功效上看,ESB采用文档导向和事件驱动7的处理模式,运用分布式的管理机制,支持过滤和基于内容的路由,既可以集成遗留的应用服务,还可以通过包装、分解集成现有的应用服务,它通过一系列标准的接口连接服务提供者和服务使用者,具备了复杂数据的传输能力,实现了业务流程和服务组合的自动化管理。ESB是实现SOA架构的核心部分,可以对应用系统内部和外部所提供的各种服务进行集成和管理。通常,ESB被定义为19:企业服务运行的集成平台,负责对分散在整个企业以及企业外部的服务进行部署、中央配置和管理。ESB技术的优势在于它提高了服务组件的复用率,降低了系统维护的成本,提高了信息交换的效率,具有更高的可扩展性。图2-3是ESB的概念模型。第2章应用系统集成的理论思想和核心技术11中介,路由,SDO中介,路由,SDO中介,路由,SDO中介,路由,SDO中介,路由,SDO中介,路由,SDO传输,路由,安全对内访问点对外访问点服务提供者服务提供者服务提供者服务请求者服务请求者服务请求者ESB总线图2-3ESB的概念视图Fig.2-3theconceptualviewofESB由以上概念视图可知:传输、路由、中介等是ESB提供的本质且基础的服务。同时,ESB也是一个核心中介者,它将服务绑定到逻辑化、组件化的集合中,而应用系统的业务结构是由这些集合反映。2.2.1ESB的传输的传输ESB实际上是作为一个分布的、智能的、传输消息层,它用来将分布在不同应用系统中的数据、服务连接起来,使用自身的管理能力确保消息的可靠传输。当一个服务请求者提出的请求需要被处理时,就必须选择一个合适的传输协议,比如:Web服务的传输协议必须是基于HTTPS或者JMS之上的SOAP传输协议。ESB总线可以通过基于J2EE平台20的节点进行远程方法调用,同时还支持因特网内部的RMIIIOP协议21技术,CORBA组件技术并能与之进行互操作。通过基于J2C、JCA标准的连接器或者基于JMS访问的适配器,ESB可以与现存几乎所有的应用进行连接,甚至是基于SNA协议或者TCPIP协议的应用系统交互也可以由ESB来实施。2.2.2ESB的路由机制的路由机制ESB所提供的另一个本质的基础服务是基于质量的路由。一个综合性的应用环境需要同时跨越不同的中介路由到达目的地。这个路由过程的顺利进行必须需要安全的保证,提供必要的服务质量、传输和映射。例如,当调用辅助设施的河南科技大学硕士学位论文12服务时,需要考虑到基于质量的路由。根据服务级别协议(SLA)22的规定,ESB中必须保证对服务质量的交付。在使用过程中,SLA协议提供了服务需要的参数,这些参数包括:是否同步、响应时间、基于任务的交付等因素。基于质量的路由在很多场合都提及过,在多媒体格式的连续传输中显得尤为重要。目前,使用最有效的安全协议通过公共网络可靠的传输消息是很难做到的。在WebServices技术中,基于质量的路由可以指消息传输的完整性、可靠性、可获取性、可用性等。在某些行业,例如:国防部门采用可靠的路由传递消息是非常必要的。然而,这种传递如果是可靠的、已知的路径采用ESB总线可以确保消息能够传送到,但是带选择性的、复杂的、策略性的路由ESB总线还是很难确保基于质量的路由。ESB技术中的路由机制是通过在路径中配置多个中介,由这些中介协调路由任务。中介分不同的种类,可以对信息进行不同的处理,从而实现服务请求者到服务提供者之间的路由。服务请求者和提供者之间的中介可以包含多个,这些中介可以根据请求消息的类型和内容进行转发,如图2-4所示:服务请求消息aefbgdc消息接受者消息接受者中介处理节点图2-4ESB中基于中介的路由Fig.2-4theroutingbasedonmediatorinESB由上图可知:当ESB接收一个服务请求消息时,这些消息必须经过一些中介处理节点进行必要的处理,例如,转换消息格式、根据地址送到下一个中介等,最终才可以到达目标消息的接受者。一个中介通常包括入站路由器、中介处理组件、出站路由器三部分,ESB领域内的消息路由是通过选择各类路由器而实现的,目前,比较主流的路由器有基于目的路由、基于内容的路由、基于主题的路由等等。第2章应用系统集成的理论思想和核心技术132.2.3ESB的标准的标准目前还没有一个统一的ESB标准,为了满足SOA架构所要求的可扩展性和兼容性,IBM公司定义了一套ESB的标准23,该公司认为ESB的功能标准应该包括以下几点:1.能够实现消息路由,比如:消息从服务A传递到服务B。2.传输协议的转换。例如,服务提供者的应用协议是RMI,服务请求者的应用协议为SOAP,那么ESB会将服务请求的传输协议转换为RMI后,再发送给服务提供者,等消息得到响应后,再将相应消息转化为SOAP传输协议返回给服务请求者。3.消息格式的转换。4.可以处理来源不同的事件。5.相比底层技术,ESB使用户更着重的关注核心业务服务。6.即插即用功能。一个新的服务应该很容易便加入到ESB,并且对现有服务没有产生影响。目前,ESB产品比较多,大致可以分为两大类:开源ESB产品和商用ESB产品。无论是哪一种产品,它都支持多种开放语言的业务生成和连接,再结合ESB架构本身的可移植特性,使得ESB越来越受青睐,成为企事业单位的应用骨干系统。2.3企业服务总线(企业服务总线(ESB)和面向服务的架构()和面向服务的架构(SOA)的关系)的关系ESB是实施SOA思想的主要技术支撑,可以被描述为:是采用了中间件技术来实现SOA思想的基础架构,它与SOA是相辅相成的关系。比如:创建服务接口是实现SOA的一个关键步骤,通过适配器可以直接或者间接拥有新的服务功能,同时也牵涉到将服务请求消息传递给服务提供者,而这个过程除了需要利用SOA原则规定服务接口,也需要ESB进行服务路由。由此可得:ESB为SOA提供了一个与用户的需求保持一致的基础架构,它自身也提供了一些可管理性、合适的服务级别、异构环境下的操作等特有的功能。ESB作为一种中间件技术,它支持并实现SOA,实际上是一个体系结构的构造,可以并行的部署和设计业务流程,是应用服务器技术和EAI的结合。简而言之:ESB在SOA中除了扮演基本路由和传输角色以外,还提供了消息代理,集成附加的系统、扩展SOA架构物理范围等功能。很多时候,我们很难界定哪些功能是应该由SOA的基础架构提供的,而哪些应该放在ESB的范畴内来解决。本文认为,放大或突出ESB在SOA架构中河南科技大学硕士学位论文14的地位并不很恰当。ESB应该构筑在完善的SOA架构上,做它应该做的事情集成。至于怎样集成,应该根据系统的上下文环境,考虑有哪些SOA的基础设施可供你使用,然后再基于SOA的基础架构来实现ESB设计。总而言之:SOA和ESB之间的关系是相互补充,相辅相成的关系。2.4服务组件架构(服务组件架构(SCA)SCA(ServiceComponentArchitecture,SCA)24是一种全新的架构思想,也可以称为“独立于具体技术的组件架构”,主要解决了传输协议和组件接口紧密耦合的问题,它还可以理解为是一种独立的程序语言和传输协议的组件架构,目的是实现服务组件可以自由绑定各种传输协议(如:RMI、SOAP、JMS等)。例如:当一个组件调用另外一个组件时,不需知道对方具体的传输协议和技术系统。SCA的基本功能单元是服务组件,它由引用、实现、属性、接口等部分组成。SCA和传统的业务组件的最大区别在于实现了两方面的功能:一是组件和传输协议的分离,可以达到自由绑定各种传输协议的目的。二是接口和实现语言的分离,通过SCA的运行环境中的Composite文件来配置和调用。组件A组件BBingding绑定Service组件的实现WSDLReferenceBinding组件C组件DBingding绑定Reference所调用的组件ServiceBinding服务模块1服务模块2图2-5基于SCA的服务模块间的绑定模式图Fig.2-5thebindingpatternamongservicemodulebasedonSCA图2-5是服务模块之间的绑定示意图。SCA提供的一个重要功能是连线(Wire),其中模块内的组件之间互联是通过连线实现的。一个SCA环境可以跨越多个应用平台,作为一个运行环境运行,就如同在JAVA虚拟机内,一个JAVA实例调用另一个JAVA实例一样。基于SCA的服务模块间进行交互时,第2章应用系统集成的理论思想和核心技术15将会形成SCA子系统,在这些子系统中,服务模块是通过SCA绑定(SCABinging)24来交互的,而这种绑定是通过内部复制或者连线(Wire)来实现。服务模块之间的绑定如图2-5所示。通常,服务模块之间的绑定有EJBSessionBean绑定、WebService绑定、JMS绑定这3种方式。在企事业单位应用系统集成中,我们不是开发一个模块,而是开发多个模块。单个模块内的组件是通过连线(Wire)来实现交互,开发人员不必知道Wire是如何实现的,只要知道如何在配置文件中配置引用即可,而多个模块之间的交互则需要通过WebService绑定来达到此目的。SCA的优点:服务模块中的组件之间处于一种松散耦合的状态,它不需要在自己的代码中加入对方的组件接口代码。例如,调用EJB时,不必在自己的代码中加入对方EJB的远程接口代码和Home接口代码,这样便能非常方便地实现各种应用系统的集成。2.5服务数据对象(服务数据对象(SDO)SDO(ServiceDataObject,SDO)24服务数据对象,可称之为“一个独立于具体技术的数据对象”,它实现了一个全新的数据结构。目前,应用系统中几乎所有的业务代码和数据代码都是处于紧密耦合的情形,例如:JDBC的数据库表和数据是紧密耦合的,而JavaBean也是根据业务需求来定义字段的属性。通过采用SDO技术,开发人员只需用简单的setter和getter方法便可以进行从后台到前台的数据操作功能,也包括更改数据库中的数据,从而实现业务代码和数据代码的分离。因此SDO与SCA的根本区别:SCA实现了传输协议和业务组件接口的解耦,而SDO实现了业务代码和数据代码的解耦。2.5.1SDO的基本要素的基本要素SDO的基本要素包括:1.数据对象(DataObject):保存了具体的数据,除了包括原始数据还包括指向其它数据对象的引用,数据对象包括指向元数据的引用,并使得元数据能够被读取,与Java中的反射机制类似,它还包括数据的约束、关系和类型等。2.数据图(DataGraph):它是一个数据集合,是对整个数据对象的封装。具体来讲,数据图是一个数据对象的集合,这个集合有多个树根,河南科技大学硕士学位论文16并且数据图还可以记录有关数据对象的所有操作。每个数据集合都对应一个属性集,而每个属性又对应一个数据或者其它的数据对象。3.元数据(MetaData):它可以使运行环境和开发工具能够静态地或者动态的查看数据属性,这些属性包含数据的类型、约束和关系等,并且还提供了一组API,这组API与数据源无关。4.数据访问服务(DataMediatorService):它的任务是完成与后台数据源的通信,负责构造和更新数据图等。2.5.2SDO的架构的架构SDO架构的基本原理25是:通过数据访问服务(DataMediatorService)构造出数据图(DataGraph)对象,以JAVA技术为实例,一个Java类就是一个数据访问服务(DataMediatorService),它可以提供一些方法从数据源(DataSource)装载数据图(DataGraph),并且将更新后的数据图(DataGraph)放回数据源(DataSource)。SDO具体的架构原理如2-6图所示:ClientDataMediatorServiceDataSourceDataGraphMetaDataDataObject读取更新图2-6SDO架构图Fig.2-6thestructurediagramofSDO从SDO架构图中可以看出:客户端(Client)、数据图(DataGraph)、数据对象(DataObject)、数据源(DataSource)之间的调用关系。其中元数据(MetaData)提供统一的API去调用不同的数据访问服务(DataMediatorService),从而得到数据图(DataGraph)和数据对象(DataObject)。第2章应用系统集成的理论思想和核心技术172.6本章小结本章小结本章主要介绍了应用系统集成的理论思想和核心技术。首先简单的对SOA、ESB、SCA、SDO、对ESB和SOA之间的关系作了概述,然后阐述了ESB的传输、路由、中介等相关理论,着重介绍了SOA的参考模型和SCA服务模块之间的绑定模式,最后,对SDO的架构原理进行了分析,这些内容都是后面章节研究和分析的基础。第3章基于ESB-SOA的系统集成框架的设计18第3章基于第3章基于ESB-SOA的系统集成框架的设计的系统集成框架的设计本章首先阐述了企事业单位进行系统集成的必要性,然后,在对比了目前比较常用的几种集成框架后,针对企事业单位的具体情况设计出了基于ESB-SOA的应用系统的集成框架。3.1系统集成过程中的难点系统集成过程中的难点目前,企事业单位拥有众多面向各类具体应用的信息系统,比如:科研管理系统、财务管理系统、人事管理系统等等,并且这些应用系统已经成为企事业单位业务的核心。为了提高办公效率和信息化建设水平,有必要将这些独立的应用系统集成起来进行信息交互,但是我们在实施系统集成的过程中通常面临如下难题:1.数据组织形式和存储方式异构:由于结构化、半结构化和非结构化的数据并存,数据存储和文件存储并存,各个系统在共享数据时,需要进行数据系统和数据格式的转化,部门之间很难进行数据共享。2.数据库模型和物理结构的异构:关系数据库与面向对象的数据库并存,Oracle、MSSQL、SLQ、Notes并存,增加了异构系统集成的成本和难度。3.业务逻辑难以共享:由于各个系统都是独立运行的,这种模块化并且紧密耦合的业务逻辑在其它应用系统中很难进行重用,造成了资源的浪费和业务逻辑的重复设计。4.网络环境的异构:各个独立的应用系统,尤其是遗留的旧的系统是在早期建设的,只允许在单机环境下运行,这样便给集成带来了困难。在分析了企事业单位系统集成中存在的问题之后,我们可以简单概括出企事业单位信息化建设过程中主要存在的问题,即在实施一套完整的应用系统集成项目时需要克服的技术难点:1信息存储方面:企事业单位的应用系统都是通过不同的数据库存储职工和客户的基本信息,并且这些信息中存在交叉,需要经常对它们进行更新。那么如何实现不重复的更新呢?2.信息发布与查询方面:每个系统自身都可以单独的进行信息的查询,比如在财务系统里查询一些财务信息,在科研系统里查询一下科研成果信息。那么如何在保证各项工作的连续性和在保护遗留系统的前提下进行跨平台的应用系统间的信息发布与查询呢?河南科技大学硕士学位论文193.信息的传输方面:并不是所有系统都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论