(计算机应用技术专业论文)企业服务总线的研究及在分布式系统上的应用.pdf_第1页
(计算机应用技术专业论文)企业服务总线的研究及在分布式系统上的应用.pdf_第2页
(计算机应用技术专业论文)企业服务总线的研究及在分布式系统上的应用.pdf_第3页
(计算机应用技术专业论文)企业服务总线的研究及在分布式系统上的应用.pdf_第4页
(计算机应用技术专业论文)企业服务总线的研究及在分布式系统上的应用.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)企业服务总线的研究及在分布式系统上的应用.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着网络技术的飞速发展,软件产业的不断进步,企业对计算机技术依赖程 度越来越高。软件也从单机的软件工具,发展为分布式,网络化,集信息自动化、数 据存储、企业管理、企业策划等越来越复杂功能为一体的软件系统。企业的发展 促成各种技术的软件不断涌现,但始终有一个问题困扰着企业,就是怎么使各个系 统能整合在一起,安全的、规律的、流畅的、统一的工作。 在这种背景下,面向服务的体系结构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 应 运而生。基于s o a 架构的应用集成可以减少不同类型的r r 系统的依赖性,降低费 用和i t 操作的复杂性;提高已部署系统的灵活性,同时排除了抑制业务创新的障 碍。而企业服务总线( e n t e r p r i s es e r v i c e sb u s ,e s b ) 在s o a 架构中占有重要地 位,e s b 为s o a 提供与企业需要保持一致的基础架构,从而提供合适的服务级别 和可管理性,以及异构环境中的操作。现今研究和应用e s b 来构建s o a 架构的企 业应用系统己成为了目前一个十分重要的研究课题。 本文把理论和实践相结合,以j 2 e e 为实现平台,以j b i 技术为基础,讨论了 面向服务的集成技术在大型分布式应用系统中的具体应用。详细介绍了电大教务 管理系统跨i n t e r n e t 进行消息传输的实现方法,包括如何规格化消息、消息路由 和消息交互等问题。在此基础上进一步讨论了用面向服务的架构构建电大系统的 方案,实现教务管理系统和另外两个外部系统的集成。本文同时分析了电大系统 的业务特点和实际需求,以及传统分布式组件架构集成方法的不足。说明了用面 向服务的软件架构进行电大系统集成的优势。接着提出了以j b i 规范为基础实现 企业服务总线,从而解决电大系统集成问题的具体解决方案。并进一步探讨了该 方案如何以最小的代价和最快的速度应对系统业务逻辑的变化。 最后,文章对面向服务体系结构当前还存在的问题和今后的发展趋势进行了 分析,对电大系统的实现和发展方向进行了展望。 关键词s o a ;e s b ;系统集成;数据交换 a b s t r a c t a b s t r a c t a st h ef a s td e v e l o p m e n to f n e t w o r kt e c h n o l o g y ,a n dt h ec o n t i n u o u sp r o g r e s so f s o f t w a r e i n d u s t r y , t h ed e p e n d e n c eo fe n t e r p r i s e st oc o m p u t e rt e c h n o l o g yi s i n c r e a s i n g l yh i g h s o f t w a r ea l s od e v e l o p sf r o mt h es i n g l e u s e rs o f t w a r et o o l s ,t ot h e h n do fi n t e g r a t e ds o f t w a r e s y s t e mw i t hm o r ea n dm o r ec o m p l e xf u n c t i o n sa s d i s t r i b u t e d ,n e t w o r k e d ,c o l l e c t i n gi n f o r m a t i o na u t o m a t e d ,d a t as t o r a g e ,b u s i n e s s m a n a g e m e n t , b u s i n e s sp l a n n i n ga n ds oo n e n t e r p r i s e sd e v e l o p m e n tb r i n g st h e v a r i o u sk i n d so fs o f t w a r et e c h n o l o g i 韶t oa r i s e h o w l e r , t h e r ei sap r o b l e mt h a t w o r r y i n ge n t e r p r i s e sa l lt h et i m e t h a ti sh o wt oc o n f o r me a c hs y s t e mt o g e t h e ra n d m a k et h e mw o r ks e c u r e l y , o r d e r l y , a n df l u e n t l y s e r v i c e - o r i e n t e da r c h i t e c t u r ea ss o ae m e r g e di nt h i s b a c k g r o u n d s o a s t r u c t u r eb a s e di n t e g r a t e da p p l i c a t i o nc o u l dr e d u c et h ed e p e n d e n c eu p o nd i f f e r e n t k i n d si ts y s t e m s ,a n dc u td o w nc o s ta n dt h ec o m p l e x i t yo fi to p e r a t i o n i ta l s o i n c r e a s e st h ef l e x i b i l i t yo fd e p l o y m e n ts y s t e m ,a n de l i m i n a t e st h eo b s t a c l et h a t i n h i b i t sb u s i n e s si n n o v a t i o n e n t e r p r i s es e r v i c e sb u sa se s b w h i c ho c c u p i e sa n i m p o r t a n tp o s i t i o ni ns o af r a m e w o r k , p r o v i d e sab a s i cf r a m e w o r kt h a ti sc o n s i s t e n t w i mt h e e n t e r p r i s e s n e e df o rs o a ,t h u so f f e r sa p p r o p r i a t es e r v i c el e v e l , m a n a g e a b i l i t y , a n do p e r a t i o ni nh e t e r o g e n e o u se n v i r o n m e n t i nn o w a d a y s ,r e s e a r c h a n da p p l i c a t i o no fe s bt ob u i l ds o af r a m e w o r kb a s e de n t e r p r i s ea p p l i c a t i o ns y s t e m h a sb e c o m eac u r r e n t l yi m p o r t a n tr e s e a r c ht o p i c i nt h i sp a p e r , t h et h e o r ya n dp r a c t i c ea r ei n t e g r a t e d j 2 e ei st h ep l a t f o r mf o r i m p l e m e n t a t i o n , a n dj b ii st h eb a s i ct e c h n o l o g y w ed i s c u s st h es e r v i c eo r i e n t e d i n t e g r a t i n gt e c h n o l o g yt h a ti sa p p l i e dt ot h er e a ll a r g e s c a l ed i s t r i b u t e ds y s t e m w e i n t r o d u c et h er e a l i z a t i o nm e t h o do fi n f o r m a t i o nt r a n s f e rt h r o u g hi n t e r n e ti nt h e c r t v ue d u c a t i o n a la d m i n i s t r a t i o na n dm a n a g e m e n ts y s t e m ,w h i c hi n c l u d e i n f o r m a t i o ns t a n d a r d i z a t i o n ,i n f o r m a t i o nr o u t i n g , a n dn e w si n t e r a c t i o n , e t c w e f o l t h e rd i s c u s st h es o ab a s e dc r t v us y s t e m ,a n dt h ei m p l e m e n t a t i o no f i n t e g r a t i n g t h et h r e ec r t v us y s t e m s w ea n a l y z et h er e q u i r e m e n to fc r t v ub u s i n e s sa n dt h e d i s a d v a n t a g eo ft h et r a d i t i o n a ld i s t r i b u t e dc o m p o n e n ta r c h i t e c t u r e w ep o i n to u tt h e a d v a n t a g eo fi m p l e m e n t i n gc r t v us y s t e mi n t e g r a t i o nb ys o a t h e nw er e s e a r c h t h er e a ls o l u t i o n so fe s bb a s e do nt h ec r i t e r i o no fj b i ,w h i c hs o l v et h ep r o b l e mi n t h ei n t e g r a t i o no f c r t v us y s t e m t h i si st h es o l u t i o no f c r t v us y s t e mi n t e g r a t i o n , w h i c he n a b l e su sk e e pu pw i t l lt h ec h a n g eo ft h eb u s i n e s s 砒m i n i m u mc o s ta n dt h e i 北京工业大学丁学硕十学位论文 q u i c k e s ts p e e d i nt h ee n d ,w ea n a l y z et h ec u r r e n t l y e x i s t i n gp r o b l e m so fs o aa n di t s d e v e l o p m e n td i r e c t i o n , a n dg i v et h ed e v e l o p m e n tp r o s p e c to f c r t v us y s t e m k e y w o r d ss o a ;e s b ;s y s t e mi n t e g r a t i o n ;d a t ae x c h a n g e 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签毳蛰丛 关于论文使用授权的说明 日期:型许i 珥l 弓日 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:彳袋耻导师签名:蝉日期:础目侈目 第l 章绪论 第1 章绪论 1 1 课题研究的背景和意义 随着社会的进步和对软件需求的提高,软件系统变得越来越复杂、越来越庞 大,在软件开发的活动中,如何提高开发效率,降低变更和维护的复杂性一直是 开发人员面临的重要问题。从机器语言到汇编,再到高级语言,编写一个同样的 软件需要的时间越来越少,写的代码也越来越短;从面向过程到面向对象,程序 越来越容易被理解。而设计模式和软件架构的理论也不断发展,是软件的模块与 模块之间边界越来越清晰,耦合度越来越的,模块或软件本身的可重用性越来越 强。 s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 即面向服务架构,最近几年来越来越热 并不断发展。各大厂商在这方面也不断加大投入,推出自己的解决方案和相关产 品。e s b ( e n t e r p r i s es e r v i c eb u s ) 企业服务总线就是最近两年一种遵循s o a 框架 的,解决软件系统集成问题的方案。i b m 、b e a 、s o n i c 、i n o a 等公司都推出了 自己的e s b 产品和解决方案。但是在j a v a 社区( j e p ) 里( 以上厂商都是它的成员) , 对e s b 还没有一个标准、规范。于是2 0 0 3 年4 月由s u n 、i b m 、b e a 等公司发起, 开始制定j b i ( j a v ab u s i n e s si n t e g r a t i o n ) 规范,并于2 0 0 5 年8 月通过了该规范的 f r ( f i n a lr e l e a s e ) 版本。该规范的制定为系统集成领域的产品开发商提供了一 个共同遵循的标型”。 在国外,在s o a 领域提出e s b 的概念已经提出了3 年多,学术界,开源组织, 软件企业都在这方面投入力量去研究开发,并且在2 0 0 5 年8 j 目j a v a 社区发布了j b i 规范的情况下【2 】,国内在这方面除了可以在网上查到一些介绍性的消息外,相关 资料、学术成果等还比较鲜见,在这方面的研究和投入还不够。 研究e s b 和j b i 的意义在于其将成为实施s o a 的主流构建,g a r t n e r 预测在 2 0 0 8 年将有全球将有近7 成企业在构建应用系统的时候导入s o a 0 务导向架 构) ,e s b 将在实施s o a 的过程扮演基础构件的角色。而我国经济处于高速方展 的阶段,也是信息化建设的重要阶段,要想在全球新一轮的信息化浪潮中,占据 一个有利的位置,就必须研究先进的理论,跟踪领先的技术。我国国内对s o a 产品的市场需求将不断扩大。因此研究s o a 和e s b 不仅有学术上的价值,更是 积极的现实意义。 北京工业大学工学硕七学位论文 1 2 相关领域的进展及成果 近年来,e s b 及实现技术己经得到国内外众多的组织和公司,尤其是国外的 大公司的支持,他们的研究集中在e s b 的实现方面。由许多大公司参与的w 3 c 组织制定和开发了e s b 相关技术和标准,并且目前己经具有不少成熟的研究成 果。 目前,在国内外比较流行的、著名的e s b 产品有以下几种,当然更多的e s b 产品它们因为各种原因而没有通用起来,而不被人所知。我们列出这些e s b 产品 的目的,是想把它们作为我研究e s b 的参考,在吸收它的精华的同时,更好的去 为创新做准备。 ( 1 ) b e aa q u a l o g i cs e r v i c eb u s a q u a l o g i cs e r v i c eb u s ( a s b ) 是b e a 公司的e s b 产品,它基于w e b 服务技术, s o a 技术,是工业界第一个问世的架构于s o a 技术和w e b 服务技术上的e s b 产 品。它由五部分组成:服务管理( s e r v i c em a n a g e m e n t ) 、配置框架 ( c o n f i g u r a t i o i l f r 锄鲫o r k ) 、消息代理( m 嚣s a g eb r o k e r i n g ) 、服务总线安全( s e r v i c e b u ss d 2 u r i t y ) 、协议( m e s s a g i n g p r o t o c o l s ) 。a s b 与b e a 公司的j 2 e e 应用服务器 w e b l o g i es e r v e r 紧密结合,它为采用w e b l o g i cs e r v e r 的组织进行应用、服务集 成提供了很大的方便。 ( 2 ) i o n ax m l b u s i o n a 的x m l b u s 提供了与其j 2 e e 环境( i p o r t a l ) 相集成的能力,也提供了一个独 立的w 曲服务容器。x m l b u s 是一个基于x m l 的开发包和构建与利用w e b 服务的 相关技术的套件,它使褥公司可以使用现存的i n t e r n e t 基础设施,通过i n t e m e t 完 成b 2 b 的事务与应用集成。 ( 3 ) i b mw e b s p h e r e m m 把e s b 技术、w e b 服务技术、s o a 技术的思想融入到了其优秀的j 2 e e 应 用服务器w e b s p h e r e 中,i b m 提出的 o nc o m m a n db u s i n e s s ”理念就是以 w e b s p h e r e 为核心。w e b s p h e r e 是一个产品组,包括应用服务器、业务整合、开 发包及其无线技术等。从总体上说,w e b s p h e r e 是一个应用平台套件,而不像a s b 是一个单独的平台。 ( 4 ) 普元e o s 普元e o s ( e n t e r p r i s eo p e r a t i n gs y s t e m ) 融合了构件技术、x m l 企业总线技 术和可视化开发技术,通过图形化的构件单元作为应用系统的基本组成元素,使 应用系统可以快速高质量的搭建,同时拥有最强的需求变化响应能力,其核心就 是通过x m l 企业总线利用已有的构件库来快速的搭建应用系统。e o s 包括五个 部分: 2 第l 章绪论 运行管理环境( e o ss e r v e r & m a n a g e r ) ,包括运行服务、管理环境和业务 框架: 、 e o s 开发环境( e o ss t u d i o ) ,提供了对6 种构件可视化的集成开发、调试、 组装、发布和管理环境; e o s 构件库( e o sc o m p o n e n t sl i b r a r y ) ,可以直接用来快速搭建应用系统, 具有高度复用能力的一组预制构件的集合; e 0 s 工作流( e o sw o r k f l o w ) ,基于e o s 平台的、完全构件化的工作流管理 系统,遵循w f m c 标准; e o s 可视化页面开发( e o sr i c h w 曲) ,e o s 页面可视化开发环境,加强页 面展现层的开发与展现能力,包括页面可视化开发和页面控件。 这些产品具有各自的特色,但是这些产品主要集中在为应用系统提供w e b 服务的容器,或与平台紧密结合,或利用企业服务总线来配置构件,而很少着手 于不同的w e b 服务容器的集成,没有屏蔽不同的w e b 服务容器之间的调用差异, 以及与应用的结合性差,通常需要应用开发者开发应用的基础模块。 1 3 本课题的来源及主要研究内容 本课题来源于中央电大教务管理系统。系统构建于j 2 e e 平台之上。以中央电 大为项层节点,下设4 4 个省级节点,其下又分别涉及到几个至几十个分校级节点。 业务范围遍及全国,物理实现构建在i n t e r n e t 体系之上。各个节点既完成本身职能 范围的工作,同时节点与节点之间存在着密切的协作及信息共享。而同时,系统 与外部系统之间也存在着资源共享与数据交换的要求,部分情况下还存在着密切 的业务协作。 随着国家现代远程教育工程的实施和电大系统开放教育的深入开展,对电大 的教育和教学管理工作提出了新的更高的要求。现“教务管理系统”最初是基于学 年制的管理模式开发的,虽经两次版本升级,但仍很难适应开放教育的“工作流程” 的要求。由于历史的原因,中央电大现有的“教务管理系统”、“电大在线教学平台” 和“办公自动化系统”是独立开发的三个系统,形成三个信息孤岛,很难实现信息 的互联互通和互操作。本系统正是要解决以上问题,即要适应现实的需要,又要 考虑到潜在的需要和发展的需要,具有前瞻性和可扩展性。 针对以上分析,使用合适的架构重新整合电大系统各个服务结点,为各个服 务结点之间建立条良好的、稳固的、开放的服务纽带,并进一步和其他系统进 行互联,成为解决当前问题的突破点。 本文的重点即是在现有的分布式集成系统之上,引入e s b 概念,从而构建灵 活的面向服务的分布式企业级应用系统,从而解决电大系统面临的一系列问题。 北京工业大学丁学硕十学位论文 1 4 本文结构 本文将分为五个章节来阐述: 第一章:介绍与本课题相关的背景知识,对国内外相关领域的研究和进展进 第二章: 第三章: 第四章: 第五章: 行综述。介绍本课题的来源及主要研究内容。 主要介绍了分布式系统进程间通信技术和j m s 。 介绍了s o a 的概念,并在s o a 的基础之上引申出了e s b ,在e s b 的基础之上我们详细讨论了一个e s b 的实现规范j b i 。 详细介绍了一个j b i 的开源实现框架s e r v i c e m i x 。 对电大现有的业务状况进行了分析,进而提出了基于s o a 架构的应 用集成方案。并给出了该架构中的核心部分,基于s e r v i e e m i x 的数 掘交换平台的实现方案。 4 第2 章分布式系统的进程间通信 第2 章分布式系统的进程间通信 进程间通信是所有分布式系统的核心功能,并且面临巨大的挑战。一个分布 式系统,可以同时有成千个进程分布在网络上的不同的站点机上,它们通过网络 提供的消息通信机制交换信息,实现高层应用的互操作。网络上的不同站点机可 以拥有不同的操作系统。 2 1 进程间通信的模式 目前,主要有三种分布式系统的进程间通信的模式: ( 1 ) 远程过程调用 ( 2 ) 远程方法调用 ( 3 ) 面向消息的通信 3 1 远程过程调用使一个进程可以调用异地、不同地址空间的进程的过程。它使 用通信双方互认的格式传递过程标识、过程参数、响应结果;在通信双方分别设 立存根,保存过程参数和运行结果。这样,不同的操作系统、中间件、程序语言 可以根据本地的格式构造过程参数和运行结果,在本地的地址空间进行计算。 远程方法调用,在基于对象的分布式系统中,使一个进程的对象可以访问异 地、不同地址空间的进程的对象,包括调用远程对象的方法。远程对象在网络中 具有唯一的标识。通信双方要对远程对象的方法界面达成一致。调用方依据方法 的界面生成远程对象的代理。代理和远程对象具有相同的方法。调用方在本地调 用代理的方法,将远程对象的标识、调用的方法、参数、结果类型传递给被调用 方。被调用方设有存根,根据远程对象的标识获得本地的对象,对本地的对象执 行计算。 面向消息的通信使通信双方不必都处在执行状态,请求和响应仍然可以正确 地被发送和被接收。它要求:设立通信服务器【4 l ,在通信服务器之间传递信息; 通信双方连到通信服务器,将要传递的信息交给通信服务器。通过在通信服务器 上保存信息,面向消息的通信可以实现持久通信的功能。 2 2 进程间通信的方式 进程间通信根据消息的持久性划分为: ( 1 ) 持久通信:持久通信可以保证消息成功到达接收方。 ( 2 ) 非持久通信:非持久通信不能保证消息成功到达接收方。当消息接收 5 北京丁业大学工学硕十学位论文 方处于不执行状态或发生故障时,消息被丢弃。 进程间通信根据消息的发送方式划分为: ( 1 ) 同步通信:发送方发出消息后就等待,直到接收方返回确认信息,才 继续执行。 ( 2 ) 异步通信:发送方发出消息后仍继续执行。 分布式系统采用什么样的通信方式,取决于系统对通信的要求。例如,电子 邮件系统是持久异步通信系统,r p c 和r m i 是非持久同步通信系统鲥。 2 3 面向消息的通信模式与j m s 面向消息的通信模式适用于需要可靠的数据传送的分布式环境。采用面向消 息的通信模式的系统中,不同的对象之间通过传递消息来激活对方的事件,完成 相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队 列中,在合适的时候再将消息转发给接收者。消息能在不同平台之间通信,它常 被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,其优点在 于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消 息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。 面向消息的通信模式为分布式系统中创建、发送、接收消息提供了一套可靠 通用的方法,实现了分布式系统中可靠的、高效的、实时的跨平台数据传输。面 向消息的通信模式减少了开发跨平台和网络协议软件的复杂性,它屏蔽了不同操 作系统和网络协议的具体细节,面对规模和复杂度都越来越高的分布式系统,面 向消息的通信模式技术显示出了它的优越性: ( 1 ) 采用异步通信模式。发送消息者可以在发送消息后进行其它的工作, 不用等待接收者的回应,而接收者也不必在接到消息后立即对发送者的请求进行 处理: ( 2 ) 客户和服务对象生命周期的松耦合关系。客户进程和服务对象进程不 要求都正常运行,如果由于服务对象崩溃或者网络故障导致客户的请求不可达, 客户不会接收到异常,消息中间件能保证消息不会丢失【”。 从上个世纪9 0 年代初,随着不同厂商开发基于面向消息的通信模式的消息中 间件上市,消息中间件技术得到了长足的发展。但是由于没有统一的规范和标准, 基于消息中间件的应用不可移植,不同的消息中间件也不能互操作,这大大阻碍 了消息中间件的发展。j a v a m e s s a g es e r v i c e ( j m sj a v a 消息服务) 是s u n 及其伙伴 公司提出的旨在统一各种消息中间件系统接口的规范。j m s 规范首次发布于1 9 9 8 年。它定义了套通用的接口和相关语义,提供了诸如持久、验证和事务的消息 服务,它最主要的目的是允许j a v a 直用程序访问现有的消息中间件【7 1 。j m s 规范 6 第2 章分布式系统的进程间通信 没有指定在消息节点自j 所使用的通讯底层协议,来保证应用开发人员不用与其细 节打交道,一个特定的j m s 实现可能提供基于t c p i p 、h t t p 、u d p 或者其它的 协议【8 1 。 j m s 规范定义了点对点( p t p ) 和发布订i 弼( p u b s u b ) 两种消息处理模型: ( 1 ) 点对点消息处理模型:在这种消息处理模型中,产品或应用程序围绕 着消息队列、发送者和接收者的概念而创建。每一个消息都包含具体队列的地址, 接受客户从为放置发送给他们的消息而建立的队列中提取消息,队列将发送给他 们的消息一直保留,直到消息被消费或消息到期。 ( 2 ) 发布订阅消息处理模型:在这种消息处理模型中,客户把消息提交给 一个主题。发布者和订阅者一般是匿名的,可以动态地发布或订阅内容,系统负 责把多个发布者发送给一个主题的消息分发给该主题的多个订阅者,主题把消息 分发给当前的调用者之后就不再保留这些消息。 以往面向消息的中间件产品都依赖于各自所运行的操作平台,因而限制了其 运行的范围,使企业应用程序仅限于单一的硬件和软件平台。j m s 技术成功地解 决这一问题,为企业应用程序间进行消息服务提供了一个可运行于不同平台的、 可靠安全的和高效的解决方案。现在,基于j m s 的中间件技术已被广泛应用于企 业应用集成等方面。j m s 技术的应用,很好地解决了企业应用程序开发中的移动 性、规模化、资源利用、组件重用以及分布式事务等关键问题,为把孤立的应用 变成相互关联的、健壮的平台提供了一个合理的基础。 2 4 本章小结 本章介绍了分布式系统中进程间通信的模式和进程间通信的方式,进而引出 了分布式系统中面向消息的通信模式的特点,面向消息的通信模式技术的优越 性,以及消息中间件的发展现状和j m s 规范定义的消息处理模型,并进一步介绍 了j m s 的优势和意义。 7 第3 章j b i 规范与s o a 、e s b 3 1s o a 概述 第3 章j b i 规范与s o a 、e s b s o a 并不是一个新的理念、新的设计方法,早在1 9 9 6 年,g a r m e r 就已经提 出了s o a 的预言,不过当时的软件发展水平和信息化程度还不足以支撑这样的 概念走进实质性应用阶段。 今天,伴随着w e b 服务标准的日益成熟与完善,特别是当企业的i t 环境越 来越复杂、应用越来越多、而业务需求也越来越急迫的时候,s o a 是企业很好 的一种选择。因为伴随着x m l 和w e bs e r v i c e s 应用的成熟,s o a 也从一个纯粹 的概念回归到应用的阶段。 3 1 1s o a 的定义 s o a 既不是一种语言,也不是一种具体的技术,它是一种新的软件系统架 构模型。是指为了解决在i n t e r n e t 环境下业务集成的需要,通过连接能完成特定 任务的独立功能实体实现的一种软件系统架构。 s o a 尝试给出在特定环境下推荐采用的一种架构,从这个角度上来说,s o a 更像一种模式( p a t t e r n ) 。因此它与很多已有的软件技术比如面向对象技术,是互 补的而非互斥的。它们分别面向不同的应用场景,用来满足不同的特定需求。 s o a 将应用程序的不同功能单元( 称为服务) 通过这些服务之间定义良好 的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现 服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务 可以以一种统一和通用的方式进行交互。 3 1 2s o a 的架构 s o a 是能够通过松散耦合关系组织交互软件模块( 服务) 的软件系统架构, s o a 最主要的应用场合在于解决在i n t e m e t 环境下的不同商业应用之间的业务集 成问题。一个基于s o a 的应用系统框架将会变成企业战略的全面合作伙伴,该 应用系统应该被视为企业业务流程的具体体现,而不是一个由业务流程片断构成 的分散系统组合。该系统把业务流程完全封装,使必要的责任体系与考核标准制 度化。该系统能完全依靠扩展业务流程而不是建立独立的系统和应用来开发出业 务所需要的响应能力。 9 北京工业大学工学硕 学位论文 图3 - 1s o a 参考架构”j f i g u r e3 - is o aa r c h i t e c t u r e s o a 参考构架包括如下三部分: ( 1 ) 数据建模 是对企业信息和功能按业务逻辑进行梳理和抽取,形成企业数据的统一表现 实体,该实体可以在全企业范围内得到一致性的使用。它对实体的信息和功能进 行了封装,实现了访问实体功能和信息的标准化【坩】。 ( 2 ) 业务建模 是对核心业务的梳理和整合,使核心业务划分合理化成为可共享的业务功 能,再利用企业已经存在的服务组件通过结合与协调下层服务组件使得用户可以 按着对业务的理解和期望来表示业务流程。 ( 3 ) 基础架构服务 是建立面向服务构架的基础,具备了构建s o a 平台所必须的协议和规范。 它遵循s o a 的基本原则:粗粒度、松耦合和基于标准的服务,能够为业务逻辑 提供一个中立的容器,以隔离底层技术的复杂性。并提供以下一系列共享服务: 服务管理提供位置中立、故障转移、管理和其他企业服务质量特性。 消息路由一提供公共路由和转换能力,与传统消息代理或总线相近。 公共服务日志记录、审核、安全和错误处理等【l l 】。 1 0 第3 章j b i 规范与s o a 、e s b 3 2e s b 概述 为了能够更好的地控制构建于s o a 上的服务,又为了应用安全性、策略性、 可靠性以及管理方面的要求,在s o a 体系结构的框架中加入了一个新的软件对 象。这个对象就是企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) ,e s b 作为s o a 的核一t l , 和基础架构,它提供了网络中服务最基本的连接中枢,是构筑企业神经系 统的必要元素。e s b 就是一种可以提供可靠的、有保证的消息技术的最新方 法。 3 2 1e s b 的定义 e s b 作为一个中间件,支持分布、异构环境中的服务、消息,以及基于事件 的交互,并且具有适当的服务级别和可管理性。但是目前对于e s b 还是没有一 个严格的定义或者标准来限定。下面给出一些被广泛认同的e s b 定义: ( 1 ) e s b 是一种逻辑体系结构组件,它提供与s o a 的原则保持一致的集成 基础架构。 ( 2 ) e s b 可以作为分布式的异构基础架构进行实现。 ( 3 ) e s b 提供了管理服务基础架构的方法和在分布式异构环境中进行操作 的功能。 3 2 2e s b 的逻辑框架 e s b 架构面向消息,不同的应用系统之间通过e s b 发送和接受报文( 消息) 进行数据交换,以实现与不同应用系统得数据交换和信息共享。 e s b 整个系统的逻辑架构如下图3 - 2 所示: 北京t 业大学t 学硕十学位论文 图3 - 2e s b 系统逻辑架构图 f i g u r e3 - 2e s bs y s t e ma r c h i t e c t u r e e n t e r p r i s es e r v i c eb u s :主要功能是消息的传输、路由、转换以及消息的安 全性等。 业务服务目录:业务服务目录提供e s b 所依赖的服务路由信息,同时支持 服务请求者和提供者之间的通信。然而,业务服务目录的主要任务是提供服务细 节,这些服务细节可用于执行基础架构所支持的业务功能。实质上,业务服务目 录是服务消费者寻找支持他们操作的服务的地方。当系统接收到系统外部或内服 发出的服务请求时,可以在业务服务目录通过服务请求提供的信息快速的定位到 对应的服务。从而为服务消费者提供服务。 业务服务管理:它通过若干业务服务来组合业务流程;因此,它将通过e s b 调用服务,然后再次通过e s b 将业务流程公开为客户端可用的其他服务。当系 统用户使用某一项复杂服务的时候( 例如:时间单元管理) ,他可以把该项服务 的复杂流程组合起来,并发布为一个高级服务。这样当用户使用时它就可以忽略 服务流程的细节,而面向用户提供更粗粒度的服务。并且这样还可以使业务与服 务程序进一步解耦,提高系统的复用性。 e s b 网关:e s bg a t e w a y 组件的作用是使两个或多个组织的服务在受控且安 全的方式下对彼此可用【。这样可以在保证系统与其它系统平台互联、互通的 基础上,进一步提高安全性。 第3 章j b i 规范与s o a 、e s b 3 2 3e s b 框架的最低要求 作为消息传输系统,一个e s b 的最少需求经常被简写为t r a n s ,定义了作 为软件实体的e s b 提供的功能: t r a n s f o r m s 转换消息格式,针对已注册的服务提供者的需求将消息从一种格 式转换到另一种格式。 r o u t e s 路由消息,将消息传输到已注册的服务,并保证传输的服务质量、服 务层的特性。 a u g m e n t s 扩展信息,在传输的内容中添加额外信息,比如关于消息请求者 的元数据。在消息中添加新的通信协议内容以满足服务提供者的需求。 n o t i f i e s 通知消息监听者的特定消息请求。 s e c u r e s 安全传输,对于传输的消息增加消息认证、授权、不可否认性、机 密性等机制h 5 1 。 e s b 产品的出现也加速了e a i ( e n t e r p r i s e a p p l i c a t i o n i n t e g r a t i o n ) 遵循s o a 的方向发展。下图3 - 3 是一个e s b 的概念图: 图3 - 3 e s b 概念图 i ” f i g u r e3 - 3t h ec o n c e p t i o no f e s b e s b 现在成为s o a 领域中成为一个热点,它在具体实施中处于基础构件的 层次,各个被集成的系统之间的交互、通信都要通过e s b 进行。由于被集成的 各个系统与外交互的协议可能不同,而在e s b 内部传递着的信息是规范的、统 一的,所以被集成的系统与e s b 交互时就存在消息格式、协议转化的任务。但 由于各个厂商在开发的e s b 产品往往提供不了将任何一个系统集成e s b 的能 力,因而现实中做到这一点非常困难。在这种背景下j b i 应运而生,e s b 的开发 1 3 北京工业大学t 学硕七学位论文 商可以使自己的产品遵循j b i 规范,这样将可以使e s b 的解决方式更有生命力, 集成系统的规范性、灵活性、松耦合性更强。 3 3 j b i 规范 3 ,3 1j b i 简介 j b i ( j a v ab u s i n e s si n t e g r a t i o n ,j a v a 业务集成,j a v a 业务整合) 即j s r2 0 8 是一种企业服务总线的规范,使我们能够用j a v a 实现面向服务的架构m 。使企 业应用转向以面向服务架构( s o a ) ,以提供灵活的r r 系统,用一种成本低廉的 方式来支持快速变化的商业需求为基础来实现。 ( 1 ) j b i 有下面几个特征: 1 ) 可插拔的整合组件; 2 ) 协议独立。支持h t t p 、s o a p 、j m s 、j d b c 、t c p 、u d p 、s m t p 、p o p 3 等多种协议之间的交互和转换; 3 ) 松耦合。基于s o a 的整合模型; 4 ) 基于标准的接口; 5 ) 提供$ p i 而不是a p i ; 6 ) 规格化的消息路由。【1 s l ( 2 ) j b i 定义了如下术语和模式:+ 1 绑定组件:理解特定的协议并能够将其转化为一种标准或常见的系统级 协议的软件组件。它们用作系统的入口点和出口点。也称为适配器。 2 ) 服务引擎:负责处理请求( 通常通过转换的手段) 的软件组件。例如, x s l t 转换程序、b p e l 引擎、规则引擎等等。 3 ) 消息交换:消息交换协议。常见的交换模式有请求一响应等等。 4 ) 组建安装:静态或动态地向运行时环境添加可执行的软件组件。 5 ) 服务部署:静态或动态地向已安装的组件添加可执行的服务( 或应用程 序) 。 ( 3 ) 通过j b i 的技术,可以实现以下价值 1 9 】: 1 ) 基于标准的接口定义。 2 ) 消费者和提供者之间松散耦合关系保证了彼此的独立性。 3 ) 企业级的应用整合和流程管理更容易理解和实现。 4 ) 构建一次,使用多次。 5 ) 一个地方的改变只影响自己。 6 ) 更少的开发、运营和维护成本。 7 ) 少的、粗粒度的交互。 1 4 第3 苹j b i 规范与s o a 、e s b 8 ) 加强了系统的独立性。 9 ) 简化了数据定义和流程。 1 0 ) 易于管理,减少了复杂程度。 11 ) 容易封装成为更大的流程模型。 3 3 2j b i 架构 j b i 规范描述了一个可插拔式的结构,整个结构图如图3 4 所示: 图3 - 4 i b i 的架构图 f i g u r e3 - 4t h ea r c h i t e c t u r eo f j b i j b i 整个结构分为两大部分:j b i 环境( j b ie n v i r o n m e n t ) 和1 1 3 1 组件( j b i c o m p o n e n t ) 。 ( 1 ) j b i 环境 j b i 环境包含五个模块: 规格化消息路由器( n o r m a l i z e dm e s s a g er o u t e r ) :所有规格化消息 ( n o r m a l i z e dm e s s a g e ) 都要通过规格化消息路由器在j b i 组件之间传送。 安装器( i n s t a l l a t i o n ) :负责安装j b i 组件。 部署器( d e p l o y m e n t ) :负责部署服务集合( s e r v i c ea s s e m b l y ) 。 控制器( c o n t r 0 1 ) :可以通过控制器对j b i 组件进行启动,停止,重启动等 操作。 监听器( m o n i t o r i n

温馨提示

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

评论

0/150

提交评论