(计算机应用技术专业论文)基于soa架构的企业应用研究.pdf_第1页
(计算机应用技术专业论文)基于soa架构的企业应用研究.pdf_第2页
(计算机应用技术专业论文)基于soa架构的企业应用研究.pdf_第3页
(计算机应用技术专业论文)基于soa架构的企业应用研究.pdf_第4页
(计算机应用技术专业论文)基于soa架构的企业应用研究.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)基于soa架构的企业应用研究.pdf.pdf 免费下载

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

文档简介

华东师范大学硕士学位论文 摘要 随着业务的增长、信息化的发展,企业内部往往建立了大量的应用子系统,这 些子系统各司其职,但相互之间往往不能很好地实现相互协作,从而在企业内部会 形成许多信息孤岛。同时,现代企业面临巨大的市场压力,企业业务流程需要不断 变化以便应对这种市场变化的需求,流程重组是很频繁的事情。客观上企业应用程 序必须易于通过重构才能快速响应企业的流程变化。并且,伴随着电子商务的普及, 跨企业供应链协作需求也日益普及。因此,客观上需要有一种技术能够将构建于不 同时期,不同类型的异构系统以及跨企业边界的软件系统进行整合。在这种背景下, 面向服务体系结构( s e r v i c e o r i c n t e d a r c h i 航t u r e ,s o a ) 应运而生。基于s o a 架构的 应用集成可以减少不同类型的n 系统的依赖性,降低费用和r r 操作的复杂性;提高已 部署系统的灵活性,同时排除了抑制业务创新的障碍。研究和应用基于s o a 架构的 企业应用系统己成为了目前0 个十分重要的研究课题。 本文的研究工作围绕s o a 架构展开,通过深入研究分析与s o a 相关的理论体系, 提出了一种基于s o a 架构的企业应用设计流程和建模方法,并在此基础之上设计和实 现了一个物流信息系统的部分核心模块。 本文作者的主要贡献是: 1 分析研究了s q a 架构在国内外的发展情况,对s o a 架构的理论体系进行了深 入研究,包括与s q a 开发模式相关的实现技术w 曲s e r v i c e s 的体系结构和 组成;s o a 编程模型涉及的组件类型企业服务总线( e n t e r p r i s es e n ,i c e b l l s ,e s b ) 和业务流程执行语言( b l l s i n e s sp r o c e s se x c c m i o nl a l l g l l a g e ,b p e l ) 的工作原理和机制。 2 针对一个实例物流信息系统中用户提出的需求,结合s o a 架构的理论体系和 w 曲s e r v i c e s 及b p e l 的工作原理和实现过程,分析了整个系统在s o a 模式下 如何实现跨企业供应链协作方面的功能。 3 在n e t 平台和o r a c l eb p e l p r o c e s sm a i l a g e r j 垂行时环境中,设计并实现了基 于s o a 架构的物流信息系统的部分业务功能,作者对此作了有益的尝试,并 取得了良好的效果,这一新的企业级开发模式在实践中获得了验证。 4 在系统地分析了s o a 架构的基础上,提出了一种基于s o a 架构的企业应用设 计流程和建模方法;最后通过基于s o a 架构的原型系统的应用分析、设计和 实现,验证论文的观点。 本文立足实践,将面向服务架构理论模式引入企业软件项目开发。面对市场需求 华东师范大学硕士学位论文 的快速变化,企业必须能够做出快速反应。本文提出的基于s o a 架构的企业应用设 计流程和建模方法,可以指导企业应用的开发实践,使企业应用系统能够敏捷服务 且重用原有资源。 【关键词j :企业应用,物流信息系统,s o a ,w 曲s 印血e s ,b p e l e s b i i 华东师范大学硕士学位论文 a b s 仃a c t w i t hm er 印i dd e v e l o p m e n to fi n f o n n a t i o n 苕o b a l i z a t i o ,l o t so fs u b s y s t e m sa r eb u i l t i l l s i d e e n t e r 研s e s t h o s es u b s y s t e n l sn 0 姗a u yo p e r a t ei n d 印e n d e m l ya n dd on o t c o 叩e r a t ee m c i e i n l yw 弛e a c ho 也e r ,m 1 i s i t f o m s m y “i n f b 砌鲥o ni s l a n d s ” m o r e o v e r ,m o d e me n t 唧r i s e sa r ef a c i l l gi n c r e 豁i i 冯m a r k e tp r e s s u r e ,b u s i n 船sn e e d sa d i v e r s e p r o c e s s t 0 r c s p o n s e t 0m a r k e tc h a n g e d t o 丘e q u 吼tb l l 凼e 豁p r o c e 鼹 r e e n g i n e e 咖岛e n t e 印r i s ea p p l i c 鲥o n ss h o i l l dr e s p o n s et om ec h 卸窘eo f b 嘶n e 器p r o c e s s r a p i d l yb yr c c o i l s 由呲c 血g a d 丽l h 也ep i 叩u l 矗d 刎o no f l l c c 缸d n i cc o r n m e r c e ,也e r ci s g r o w i n gn e e do fs u p p l y - c h a i nc o u 曲d 枷o na m o n g 蜘e r p d s e s t h e r e f o r c ,e n t e r p d n e e d ss o m et c c h l l o l o g yt oi n 姆a t et h ed i 伍o r c n tt y p e so fh e t c r o 野m e o l l ss y s t e m sb l l i hi n d i 丘醯e n tp e r i o d sa n ds o r w 盯es y s t e m s r o s se n t e r p r i s b o i m d a r y 1 bo v e r c o m et 1 1 eo b s t a c k ,an e wa r c m t e c t u r e ,w h i c hi sc a u e ds e r v i c e o r i e 砌 a r c l l i t e c t 盯e ,h 船b e e i le v 0 1 v e d 试c oe n t e r 研s ea p p l i c a t i o n t h ea p p l i c a t i o n 砷e 蓼a 哟n b a s e do ns o ac a l l 出| 吼a t i c a l l yl e s s e 也ed e p e l l d e n c ea l l dc o i 即l e x 时姗o n gd i 妇! 醣舶t s u b s y s t e n lna l s oc a l li i l l p r o v et 1 1 en e x i b m 够o f 也ed 印l o ”ds y s t e ma n dp r o m o t et o d e v e l 叩b u s 协e s si n o v a t i o n i v e s 吐g a t i o n 姐da p p l i c a l i o no fe n t e i p r i s e 删o n s y s t 锄b a s e do ns o a h a sb e c o m eak e yt o p i ci n 也ec u r r e i l ti i l f o m l a t i o ns y s t 锄 t h em a i nw o f ko f 也i sd i s s e n a t i o nw a s f o c 璐e do n 也et l l e o r y d 髂i g n 纽d i m p i 哪e n t a 石o no fs o a b a s e do nt l l et h o r o u 曲l ya i l a l y s i so fs o a ,ap m c t i c a ld e s i 弘 w o r k n a w 孤dm o d e l i l l gm e 也o da r ep r o m p t e 也锄ds o m ec o r em o d l d e so fal o 舀s t i c s h l f o 肋a t i o ns y s t e ma r ei m p l e m e n t e dt oc o n 丘mt 1 1 ea b o v ec o n c l u s i o n t h em a i l lc o n 埘b u t i o n si nt h i sd i s s e 删o na r ea sf o l l o w s : ( 1 ) o n m e b a s e o f d c e p l yr e s e a r c h i n g o n t h e s o am e o r e t i c a l m o d e ,t h i s p 印e r g i v e s l l sa i lo v e i e wa b o u ts o aa 1 1 dt l l er c l e v a i l tt e c h n 0 1 0 百e s :w c bs e r “c e s ,e s ba n db p e l ( 2 ) na n a l y z e st h ei 1 1 s t a l l c es y s t e mh o wt or e a l i z et h e 血n c t i o n so fs 印p l y - c h a i n c o l l a b o m t i o n 锄o n ge n t e r p 打s e sa p p l y i n g 、v i t l ls o a m o d e a c c o r d i n g t om er e q i l i r e m e n t s ( 3 ) t h ea u 怕rd e s i 船sa n d l d sp a n so fa1 0 垂s t i c si r 曲衄a t i o ns y s t e mo n n e t p l a t f b n na n do r a c l eb p e l p r o c e s sm a n a g e rn 】1 1 t i m ec n “砌衄e m ,a n dm a k e sb e n e f i c i a l 仃y o u t sw i t l lt l l er c s e a r c ha i l dt h er e s u l tp r o v e s 也ev a l u eo fs e r v i c e - o r i c t e d 心c 场t e c t u r e ( 4 ) b a s e do nt h e l o m u g h l ya n a l y s i so fs o a ,ap r a c t i c a ld e s i g nw o r k n o wa 1 1 d m o d e i i n gm e 血o da r ep r o m p t e d w i 也也e 锄1 y s i s ,d c s i 口a 1 1 di m p l e m e n t 撕o no fa 华东师范大学硕士学位论文 l o 百s t i c si n f b 册撕o ns y s t c i i l m ea b o v ec o n c l 璐i o ni sw e l lc o n 矗n i l e d t h ed i s s e r t a t i o n 砒e r n p t st oc r e a t et h e1 0 西cm a p p i n g b e 柳e e nt l l et h e o r ya f l dp r a c t i c e t oi n 拍d u c em es o an l e o r e t i c a lm o d ei n l op r o j e c td e v e l o p m e n t h o p e f h l l y ,d e s 咖 w o 栅0 wa n dm o d d 啦m e 也o dc a nb el l s e d 船a 嘶d e l i n ei ne n 嘲疵s eh 怕衄a t i o n s y s t 印1d e v e l o p m e m k e y w o r d s : e n t e r p r i a p p l i c a d o 玛l 0 9 i s d c sm f b 册撕o ns y s t 锄,w 曲s e r v i c e s s q a b p e l e s b i v 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果据我所知,除文中已经注明引用的内容外,本论文不包含其他个人已经 发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在 文中作了明确说明并表示谢意。 作者签名:型匡鹾日期:丝! :兰:乡 学位论文使用授权声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学校有权保留 学论文并向国家主管部门或其指定机构送交论文的电子版和纸质版。有权将论 文用于非盈利目的的少量复制并允许论文进入学校图书馆被查阅有权将学位 论文的内容编入有关数据库进行检索。有权将学位论文的标题和摘要汇编出版。 保密的学位论文在解密后适用本规定。 学位论文作者签名: 日期:丝:兰:生 华东师范大学硕士学位论文 1 1 研究背景及目的 第一章绪论 信息化走到今天,已采用了各种管理系统的企业深有体会:系统越来越不能适 应日益增长的业务需求,人们将这种情形称之为“信息化后遗症”。【l 】在以前解决企 业内部信息系统的“信息孤岛”的问题通常是采用e 越( 企业应用整合) 的方式。为 了保证所有的应用能够互通互用,每一个应用都需要一个e a js e r r 来对应。e 舭 s e r 、碱好像一个“翻译”,让每两个应用之间可以对话,可以互相调用。但是 这种方式存在很大的问题。由于每两个应用之间必须用e a j 来整合,当一个企业只 有两个应用的时候需要一个“翻译”,当企业有三个应用需要互通的时候需要三个 “翻译”,当有四个应用的时候就需要六个“翻译”,当企业有五个应用互通就需 要十个“翻译”从逻辑上讲,e a j 的整合方式是一个基于点对点的整合方式, 企业的应用越多,这种逻辑关系就会成级数上涨。尽管扶理论来说,啪是能够完 成企业应用之间的整合。然而这样庞大和复杂的逻辑,体现在是实施过程中,就会 发现e 的投入比较高,实施厨期也比较长。【2 】 前面提到的情况是传统企业架构所存在的问题。 传统的企业构架一般是指: ( 1 ) 面向功畿的企业构架= ; ( 2 ) 面向过程的企业构架。 3 基于这两种企业构架的企业系统从整体角度来看一般是一个多阶段交错的复杂 系统,往往是不同平台、不同开发工具、不同管理规范、不同需求、不同时间研发 的一个信息模块集,这种信息模块集的复杂性严重影响了企业系统的敏捷性和稳定 性,影响了企业领导者的决策和企业核心能力的发挥。面对市场需求的快速变化, 企业必须能够作出快速反应,及具备敏捷生存的能力,从而要求企业系统具有敏捷 服务、快速重构、资源重用及自由扩充等特点。 现有的解决方案( 包括基于c o r b a 和d c o m 等技术的解决方案) 在解决企业系 统的能力上都有一些不如意之处。首先,现有企业系统构架大都不是面向服务的构 架,对客户服务需求的变化难以作出敏捷反应。其次,现有企业系统构架内外所采 用的技术基本上是紧密藕合型的,这种技术要求企业在进行类似分布式计算的操作 时系统两端都必须遵循同样a p i 的约束。当其中一个实体对象的代码有了更改,那 么访问该对象的代码也必须做出相应更改,从而约束了企业敏捷服务和自由扩充的 华东师范大学硕士学位论文 实现。第三,现有的一些w e bs e r v i c e s 技术标准大都受个别厂商的约束与控制,没有 实现开放标准。面对新的挑战,企业需要从整体上变革企业系统布局,采用开放的 技术标准,建立新的构架,在由传统构架转换到新构架过程中,企业需要采用一些 新的、开放的技术规范与方法。如何合理地把这些新的技术、规范和方法应用到各 类企业的r r 系统和商业流程之中、并给企业带来直接的经济效益,一直是备受国内 外企业管理者高度关注的课题。面向服务架构( s o a ) 就是在此背景下出现的,s o a 被誉为下一代w 曲服务的基础框架,目前已经成为计算机信息领域的一个新的发展 方向。【4 l 1 2 论文研究的主要内容 对s o a 的需要来源于需要使业务r r 系统变得更加灵活,以适应业务中的改变。 s o a 是一个概念,方法学,一种模型,它需要用一种具体的实现技术来实现。 而w 曲s e r v i c e s 是目前比较适合实现s q a 的一些技术的集合,w 曲s e n r i c e s 标准的成 熟和应用的普及为广泛的实现s o a 架构提供了基础。w 曲s e r v i c e s 是自我描述的模块 化应用,借助一些开放的标准技术在w e b 上以发布、定位和调用服务的形式公开业 务逻辑。基于订l 标准,w 曲s e i c 韶可以用任何编程语言、任何协议或平台开发 松耦合的应用程序组件。这使得任何人在任意时间的任意地点使用任何平台以服务 形式访问商务应用更容易。 业务流程执行语言( b p e l ) 基于“l 和w c b 服务构建;它使用一种基于w c b 的 语言,该语言支持w 曲服务技术系列,包括s o a p 、w s d l 、u d d i 、w 曲服务可靠 性消息、w e b 服务寻址、w e b 服务协调以及w 曲服务事务。在企业内部,b p e l 用于 标准化企业应用程序集成以及将此集成扩展到先前孤立的系统。在企业之间,b p e l 使与业务合作伙伴的集成变得更容易、更高效。 本文以物流信息系统为实例,基于s o a 的理论基础上对现有物流信息系统在企 业中应用的现状进行分析,发现存在的问题和环节,针对具体问题进行i t 规划并加 以实施,对流程进行梳理、汇总、整合以及优化。具体来说,为了改进原有物流系 统的不足,结合s o a 架构,利用w 曲s e r v i c e s 技术,提高了内部系统与外部其它商 业实体交互的能力,这部分主要分析了“订单处理”这个简化的业务流程在跨语言、 跨操作系统的平台下是如何实现的;通过应用面向w e b 服务的b p e l 组合、编排和 协调作为客户的本地物流信息系统中的、b 服务和异构平台的其它供应商的w 曲 服务来实现面向服务体系结构。通过应用s o a 技术从而使物流信息系统能够更容 华东师范大学硕士学位论文 易地跨平台以服务形式访问商务,同时更高效地与业务合作伙伴集成。 1 3 论文组织结构 本文研究内容围绕面向服务的体系结构展开,包括本章绪论,全文共有五章, 整个论文内容结构安排如下: 第一章绪论主要介绍论文的研究背景和目的,明确论文的主要研究内容。 第二章面向服务体系架构( s 0 a ) 的理论研究本章是s o a 研究的理论基础。 存本章中,讲述了s o a 架构的产生原因和发展,指出为了减少异构性、互操作性 利不断改变的系统的要求,构建系统的体系结构应具有松散耦台、位置透明、防议 独专的特征;洋细讨论了s o a 体系结构中服务提供者、服务请求者利服务注册中 心之间的协作;接着分析了作为s o a 实现技术的、v c bs e r v i c e s 的理论体系及其组成, 包括与、阮bs e r v i c e s 相关的主要协议和技术x m l 、u d d i 、s o a p 和w s d l 。然后 削述了与s o a 编程模型相关的企业服务总线( e s b ) 和b p e l 的概念、工作原理和 特 瓢 笫j 章基于s 0 a 架构的物流信息系统的设计本章以一个物流信息系统的原 型系统为实例,对该系统的进行功能分析和设计。在原有系统功能的基础上,针对 旧系统存在的问题和客户的进一步需求发现,系统目前要实现的功能需要跨平台、 跨企、共享数据和业务处理流程,因此该系统采用s o a 架构利用w 曲s e r v i c e s 技术 在原系统中可以添j n 了服务层系统功能,实现了跨企业供应链协作。本章中主要以 订学处理模块为例,横向( 业务流程) 、纵向( 实现技术) 展开介绍了这项业务功能 的分析和设计。 第四章基于s o a 架构的物流信息系统的实现本章是在上一章对系统分析利 设计的基础上,就具体实现过程展开讨论的。先简要介绍了集成系统的开发平台和 文现技术的工作机制。然后详细介绍了基于s o a 架构的物流信息系统的开发过程 f j 单处理模块的实王见,包括基于c bs e r v i c e s 的订单处理模块的实现和订单处理 模块b p e l 业务流程的实现。 第五章总结与展望总结了论文的研究工作,指出了进一步的工作页:3 以及基丁s o a 架构的企业应用的发展方向。 华东师范大学硕士学位论文 篇二章面向服务体系结构的理论研究【5 【6 1 面向服务的体系架构( s o a ) 已经成为i t 业尤其是软件开发及系统集成领域从 业者的热门话题。很多的权威机构也纷纷预测s o a 的美好前景,例如,g a 血c r 预 言,到了2 0 0 8 年,至少6 0 的企业将使用s 0 a 作为其i t 架构。 本章将对面向服务体系架构的理论作系统阐述,并介绍了w 曲s e i c e s 、e s b 、 b p e l 等相关技术。 2 1 企业应用集成 2 1 1 传统企业应用集成【7 】【8 】 企业应用集成( e 熊= i p r i s ea p p l i c a l i 锄h l t e 乎a i o n ,e a i ) 是企业实现业务自动化的 基础,传统的企业应用集成氢括如下两种: ( 1 ) 面向信息的集成技术 这是数据级集成的重要技术。信息集成主要采用数据复制、数据聚合和接口 集成。其中,接口集成仍然是一种主流技术。它通过集成代理的方式实现集成,即 为应用系统创建适配器作为自己的代理,如果适配器的结构支持一定的标准,则将 极大的简化集成的复杂度,并有助于标准化。目前,j 2 e e 中的j c a 标准极大地方便 了企业应用集成,这项技术 可以用来协调各企业信息系统之间的信息交换和共享。 ( 2 ) 面向过程的集成技术 这是一种过程流集成的思想,它不需要处理用户界面开发、数据库逻辑、事 务逻辑,而只是处理系统之间的过程逻辑,和核心业务逻辑相分离。在结构上,面 向过程的集成方法新增定义了过程逻辑层:而在该结构的底层,应用服务器、消息中 间件提供了支持数据传输和跨过程协调的基础服务。对于提供集成代理、消息中间 件以及应用服务器的厂商来说,提供用于业务过程集成是对其产品的重要拓展,也 是目前应用集成市场的重要需求。这项技术可以用来完成不同应用系统之间的整合, 如实现电子商务系统和e i u ,系统之间的业务结合。 2 1 2 企业应用集成所面临的挑战 从前面的分析我们可以看出,企业应用集成存在着以下方面的问题: 4 华东师范大学硕士学位论文 ( 1 ) 基本是面向功能的企业集成:上述的集成技术,都是从基于功能定义的设 计方式,只注重从技术和内容去分类,偏重于各自实现的功能,没有强调e a i 的各 类集成间的相互关系和相互间的影响,以及作为一个整体对企业r r 的影响。 虽然这种方式相对简单和直观,但从宏观和长远角度上难以形成灵活配置和扩展的 体系架构,在管理上也不能提供适应多变的业务需求的有效管控框架。 ( 2 ) 忽视了企业的流程设计和集成:如果把i t 系统的流程逻辑看作是对企业流 程的模拟,我们就会发现面向功能的构架设计中存在的问题。在系统设计时,传统 方法往往简单地直接套用具体业务流程的实例,从流程功能定义角度考虑,针对具 体流程设计专门的紧密祸合式的集中流程控制逻辑,一旦内部流程变更增加或者捆 绑,就去重新开发新的流程控制逻辑而难以重用现有应用资源,导致流程控制系统 改动频繁,一处变更牵动全身。另一方面,基于流程功能定义角度的设计方式往往 缺乏全局性的宏观模型体系,仅仅考虑眼前的应用实现,流程或应用系统之间随意 性强,差异性巨大,可重用性差,难以实现数据与应用的共享,也无法形成较为统 一和通用的逻辑模型视图。 ( 3 ) 缺乏必要的灵活性和适应性,扩展性较差:它们都是针对特定的软硬件结 构、网络环境或者特定的应用领域而进行研究和开发的。面对软硬件结构等的动态 变化,系统的自适应能力太差,有些甚至表现为无能为力。同时,他们是针对独立 的应用提供的服务,系统的体系结构都是面向特定应用的,体系结构于整个企业的 组织毫无关系,使得系统毫无通用型可言,系统在企业中的可实施性比较差。e a i 的目标就是让整个企业的所有系统都成为松散结构中的组件,系统接口、应用通信、 数据转换和目录信息都建立在开放的、被广为接受的标准之上,用户能迅速地访问 到他们所需要的信息,而上述技术很难实现这一舀标。 ( 4 ) 缺乏合理的粒度规则:e a i 开发需要选择合适的粒度。由于上述的技术中 没有考虑到组件要与现有应用程序相匹配,经常会选择了错误的粒度进行需求分析 和需求设计,从而导致了开发结果难于达到先前要求。组件的粒度很大方面的影响 了信息模型,如果粒度过大,则应用程序的内部有独立的商务逻辑和商业观点,在 集成过程中,很难与别的应用程序相协调,同时如果粒度过小,则会带来不必要的 复杂性。粒度问题也决定了商业流程逻辑的隔离性,它影响了适配器和中间件组件 的作用范围、包的隔离性以及操作的简单性。粒度也会对操作点和操作层次的设计 带来挑战。 ( 5 ) 在系统安全方面不够灵活:e a i 体系架构中没有提出企业安全机制上的实 现和集成,使得系统的可靠性不够强壮,安全性下降。【9 】 华东师范大学硕士学位论文 由此可见,e a i 的目标是支持对现有i t 系统的重新利用,通过e a i 技术能够将 不同的软件和系统串联起来,延长这些应用系统的生命周期。e a i 往往使用如 c o r b a 和c o m 等的消息中间件进行分布式、跨平台的程序交互,修改企业资源规 划以达到新的目标,使用中间件、订l 等方法来进行数据分配。因此,实际上传统 的e a i 是部件级的重用。可是,基于部件的架构没有统一的标准,因此,各个厂商 都有各自不同的e a i 解决方案,由此出现了各种各样的中间件平台。当e a i 碰到了 异构的i t 环境,就必须分别考虑怎样在各个不同的中间件之间周旋,来实现合理的 互联方式。因此,这不是一个彻底解决企业异构系统集成问题的最终方案。 2 2 面向服务体系结构! 本节主要描述面向服务体系结构的发展和亟向服务体系结构的理论及其特点。 2 2 1 企业应用体系结构的发展 i t 业面临缩减开销、最大限度地利用现有技术的难题的同时,还要努力为客户 提供更好的服务,使自己更具竞争力。 在这些压力面前有两个潜在的问题,这就是异构和改变。今天的大多数企业都 是由很多不同的系统、应用程序、不同时期的体系结构和技术组成的,要集成来自 不同的供应商和跨平台的产品是如此困难重重。 不断的系统变革是当今r r 所面临的另一个难题。全球化和电子商务正在加快系 统变革的步伐。全球化导致企业之间激烈的竞争,而企业为了在竞争中获取更大的 利益使得产品的开发周期不断缩减。 为了满足客户不断变化的需求,技术提高也在加速。为在这种激烈的竞争环境 中取得成功,企业必须快速适应,其r r 基础结构也必须是企业有能力跟上这种变化。 因此,企业组织不得不从8 0 年代或更早期的那种垂直管理、独立部门的管理模 式发展到8 0 9 0 年代的水平式基于事务处理的结构模式向全新的生态系统业务范例 发展。现在的业务服务需要组件化和分布化。重点是扩展供应链,支持客户和合作 伙伴访问业务服务。整个企业组织的这种发展变化如图2 1 所示: 6 华东师范大学硕士学位论文 图2 1 企业的发展 如何满足客户不断变化的需求使r r 环境更灵活,如何使异构系统和应用通信之 间尽可能无缝衔接,如何使企业为了达到既定目标而不必担心走向破产,r r 支持者 是随着企业的这种发展而并行发展的,如图2 - 2 所示: 图2 - 2 体系结构的发展 为了减少异构性、互操作性和不断改变要求的问题,这样的体系结构应该提供 平台来构建具有下列特征的应用程序服务: ( 1 ) 松散耦合 ( 2 ) 位置透明 ( 3 ) 协议独立 基于这样的面向服务体系结构,服务使用者甚至不必关心与之通信的特定服务, 因为底层基础设施或服务“总线”将代表使用者做出适当的选择。特别地,。来自不 同实现技术( 如j 2 e e 或砸t ) 的技术规范不应该影响s o a 用户。如果已经存在一 个服务实现,我们还应该重新考虑用一个“更好”的服务实现来代替,新的服务实 现必须具有更好的服务质量。 华东师范大学硕士学位论文 2 2 2 面向服务体系结构的定义 1 9 9 6 年,g a m l e r 最早提出s o a 的思想,“面向服务的架构是一种客户机服务器 软件设计方法,其中应用由软件服务和软件服务使用者组成( 也称为客户机或服务请 求者) ”。g a m l e r 为s o a 描述的远景目标是:在于让r r 变得更有弹性,以更快地响应 业务单位的需求,实现实时企业( r c a l t i m ee n t e r 嘶s e ) 。i 1 0 1 而m m 对s o a 的定义为:面向服务的体系结构( s e r v i c e - o i i e t e da r c h i t e c t i 鹏) 是 一个组件模型,它将应用程序的不同功能单元( 称为服务) 通过这些服务之间定义 良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实 现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务 可以以一种统一和通用的方式进行交互。【l ” 从上边对s 0 a 的两种定义我们可以看出,s o a 的关键是“服务”的概念,w 3 c 将服务定义为,“服务提供者完成一组工作,为服务使用者交付所需的最终结果。 最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双 力一都产生变化”。 s o a 很早就被提了出来。比如b e a 的t u x e d o 就是一个非常传统的服务”套件, 相当多的应用系统己经出现了“服务”的雏形,比如提供接口允许其他系统来调用 等。现在的s o a 和当初的s q a ( 多年前g a m l e 提出的时候) 有两点差别:【1 2 】 ( 1 ) 现在的s o l a 是“标准”的s o a : x m l 、w 曲s e r v i c e s 的成熟,使得我们可以充分利用其标准性和成熟度, 换句话来说,现在的s o a 是“标准”的,而原先的s o a 是“非标准”的, 只是各个厂商倡导的一种软件体系结构而己。“标准”的价值在于它能够在 企业内部建立一个标准服务的基础架构,从而省去集成的成本;原先使用 n e d o 或者其他产品实现的应用,因为讲述的是不同的“语言”,要保证 不同语言间的交流,就需要有一个“翻译”的过程,而多个过程无疑就多出 一份代价,这包括人力和物质的代价等。 ( 2 ) “松藕合”的s o a : 原先的服务是一种“紧祸合”的方式,遵循一个调用一等待一响应的过 程,而这个等待过程在系统比较空闲的情况下能够快速响应,一旦服务器的 负载比较大时,请求方就需要一个漫长的等待过程,同时任何服务的改变都 可能影响到其他服务。虽然紧耦合能提供高效率的应用,但是在企业应用范 围之内,我们更多要求的是“松祸合”每个应用都是相对独立的,我们 华东师范大学硕士学位论文 必须保证其灵活性。这时候的s o a 就是一种“松祸合”的架构,通过消息 总线机制,能够订阅,发布一些服务对象。总体而言,s o a 是一个越来越“抽 象、松祸合和粗粒度”的软件架构。 2 2 3 面向服务体系结构堆栈 2 2 3 1 面向服务体系结构的元素 面向服务体系结构提供了一种方法,通过这种方法,可以构建分布式系统来将 应用程序功能作为服务提供给终端用户应用程序或其他服务。其组成元素可以分成 功能元素和服务质量元素。 图2 3 展示了体系结构堆栈以及在面向服务体系结构中可能观察到的元素。 图2 3 面向服务体系结构的元素 其中体系结构堆栈分成两部分,左边集中于体系结构的功能性方面,而右边集 中于体系结构的服务质量方面。这些元素详细描述如下: 1 功能性方面包括: ( 1 ) 传输是种机制,用于将来自服务请求者的服务传送给服务提供者,并且 将来自服务提供者的响应传送给服务请求者。 ( 2 ) 服务通信协议是一种经过协商的机制。通过这种机制,服务提供者和服务 请求者可以就将要请求的内容和将要返回的内容进行沟通。 华东师范大学硕士学位论文 ( 3 ) 服务描述是一种经过协商的模式,用于描述服务是什么、应该如何调用服 务以及成功地调用服务需要什么数据。 ( 4 ) 服务是描述实际可供使用的服务。 ( 5 ) 服务流程是一个服务的集合,可以按照特定的顺序并使用一组特定的规则 进行调用,以满足业务要求。特别的,可以将业务流程本身看作是服务,这样就产 生了业务流程可以由不同粒度的服务组成的观念。 ( 6 ) 注册中心是一个服务和数据描述的存储库,服务提供者可以通过服务注册 中心发布它们的服务,而服务请求者可以通过服务注册中心发现或查找可用的服务。 服务注册中心可以给需要集中式存储库的服务提供其他的功能。 服务质量方面包括: ( 7 ) 策略是一组条件和规则,在这些条件和规则之下,服务提供者可以使服务 可用于请求者。策略既有功能性方面,也有与服务质量有关的方面;因此,我们在 功能和服务质量两个区中都有策略功能。 ( 8 ) 安全性是规则集,可以应用于调用服务的服务请求者的身份验证、授权和 访问控制。 ( 9 ) 传输是属性集,可以应用于一组服务,以提供一致的结果。例如,如果要 使用一组服务来完成一项业务功能,则所有的服务必须都完成,或者没有一个完成。 ( 1 0 ) 管理是属性集,可以应用于管理提供的服务或使用的服务。 2 2 3 2s o a 协作 图2 4 展示了面向服务体系结构中的协作。这些协作遵循“查找、绑定和调用” 范例,其中,服务请求者执行动态服务定位,方法是查询服务注册中心来查找与其 标准匹配的服务。如果服务存在,注册中心就给请求者提供接口契约和服务的端点 地址。图2 _ 4 展示了面向服务体系结构中协作支持“查找、绑定和调用”范例的实 体。 o 华东师范大学硕士学位论文 图2 _ 4 面向服务体系结构中的协作 面向服务体系结构中的角色包括: 服务请求者:服务请求者是一个应用程序、一个软件模块或需要一个服务的另一 个服务。它发起对注册中心中的服务的查询,通过传输绑定服务。并且执行服务功 能。服务请求者根据接口契约来执行服务。 ( 1 ) 服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来 自请求者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务请求 者可以发现和访问该服务。 ( 2 ) 服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务 的存储库,并允许感兴趣的服务请求者查找服务提供者接口。 面向服务体系结构中的每个实体都扮演着服务提供者、请求者和注册中心这三 种角色中的某一种( 或多种) 。面向服务体系结构中的操作包括: ( 1 ) 发布:为使服务可访问,需要发布服务描述使服务请求者可以发现和调用 它。 ( 2 ) 发现:服务请求者定位服务,方法是查询服务注册中心找到满足标准的服 务。 ( 3 ) 绑定和调用:在检索完服务描述之后,服务请求者继续根据服务描述中的 信息来调用服务。 面向服务体系结构中的构件包括: ( 1 ) 服务:可以通过已发布接口使用服务,并且允许服务请求者调用服务。 华东师范大学硕士学位论文 ( 2 ) 服务描述:服务描述指定服务请求者与服务提供者交互的方式。它指定来 自服务的请求和响应的格式。服务描述可以指定一组前提条件、后置条件和或服务 质量( q o s ) 级别。 除了动态服务发现和服务接口契约的定义之外,面向服务体系结构还具有以下 特征: ( 1 ) 服务是自包含和模块化的。 ( 2 ) 服务支持互操作性。 ( 3 ) 服务是松散耦合的。 ( 4 ) 服务是位置透明的。 ( 5 ) 服务是由组件组成的组合模块。 面向服务体系结构并不是- 个新的概念。面向服务体系结构所涉及的技术至少 包括c o r b a 、d c o m 和j 2 e e 。目前,s q a 已经扩展到包括w 矾dw i d ew 曲( w w ) 和w 曲服务。面向服务体系结构的不同实现如图2 5 所示: 图2 5 面向服务体系结构的不同实现 2 2 3 2s o a 范围中的服务 在面向服务体系结构中,映射到业务功能的服务是在业务流程分析的过程中确 定的。服务可以是细粒度的,也可以是粗粒度的,这取决于业务流程。每个服务都 有定义良好的接口,通过该接口就可以发现、发布和调用服务。企业可以选择将自 己的服务向外发布到业务合作伙伴,也可以选择在组织内部发布服务。服务还可以 由其他服务组合而成。 华东师范大学硕士学位论文 2 2 3 3 服务与组件 服务是粗粒度的处理单元,它使用和产生由值传送的对象集。它与编程语言术 语中的对象不同。相反,它可能更接近于业务事务( 如c i c s 或d 讧s 事务) 的概念 而不是远程c 0 砒认对象的概念。 服务是由一些组件组成的,这些组件一起工作,共同提供服务所请求的业务功 能。因此,相比之下,组件比服务的粒度更细。另外,虽然服务映射到业务功能, 但是组件通常映射到业务实体和操作它们的业务规则。我们以w s i 供应链管理 ( w s - i s u p p l y c h a i m 孤a g e m e m ) 样本的定购单( p u r c h 豁e o r d e r ) 组件模型为例, 如图2 - 6 所示。 图2 6 定购单组件模型 在基于组件的设计中,可以创建组件来严格匹配业务实体( 如顾客( c u s t 锄e r 、 定购单( p u r c l l a s eo r d e r ) 、定购项( o r d e rn e m ) ) ,并且封装匹配这些实体所期 望的行为的行为。例如,定购单( p u r c h a s eo r d e r ) 组件提供获取关于已定购的产品 列表和定购的总额的信息的功能;定购项( o r d e ri t e m ) 组件提供获取关于已定购的 产品的数量和价格的信息的功能。每个组件的实现都封装在接口的后面。因此,定 购单( p u r c h 弱eo r d e r ) 组件的用户不知道定购单( p u r c h a s eo r d e r ) 表的模式、计算 税金的算法、以及定单总额中的回扣和或折扣。 在面向服务的设计中,不能基于业务实体设计服务。相反,每个服务都是管理 一组业务实体中的操作的完整单元。例如,顾客服务将响应来自任何其他系统或需 要访问顾客信息的服务的请求。顾客服务可以处理更新顾客信息的请求;添加、更 华东师范大学硕士学位论文 新、删除投资组合;以及查询顾客的定单历史。顾客服务拥有所有与它管理的顾客 有关的数据,并且能够代表调用方进行其他服务查询,以提供统一的顾客服务视图。 这意味着服务是一个管理器对象,它创建和管理它的一组组件。 2 2 4 面向服务体系结构的优点 企业正在处理两个问题:迅速改变的能力和降低成本的要求。为了保持竞争力, 企业必须快速地适应内部因素( 如兼并和重组) 或外部因素( 如竞争能力和顾客要 求) 。需要经济而灵活的基础设施来支持企业。 采用面向服务体系结构将给我们带来几方面的好处: ( 1 ) 利用现有的资产 s q a 提供了一个抽象层,通过这个抽象层,企业可以继续利用它在r r 方面 的投资,方法是将这些璃有的资产包装成提供企业功能的服务。组织可以继续 从现有的资源中获取价值,而不必重新从头开始构建。 ( 2 ) 更易于集成和管理复杂性 在面向服务的体系结构中,集成点是服务规范而不是实现。这提供了实现 透明性,并将基础设施和实现所发生的改变带来的影响降到最低限度。通过提 供针对基于完全不同的系统构建的现有资源和资产的服务规范,集成变得更加 易于管理,因为复杂性是隔离的。当更多的企业一起协作提供价值链时,这会 变得更加重要。 ( 3 ) 更快的响应和上市速度 从现有的服务中组台新的服务的能力为需要灵活地响应苛刻的商业要求的 组织提供了独特的优势。通过利用现有的组件和服务,可以减少完成软件开发 生命周期( 包括收集需求、进行设计、开发和测试) 所需的时间。这使得可以 快速地开发新的业务服务,并允许组织迅速地对改变做出响应和减少上市准备 时间。 ( 4 ) 减少成本和增加重用 通过以松散耦合的方式公开的业务服务,企业可以根据业务要求更轻松地 使用和组合服务。这意味资源副本的减少、以及重用和降低成本的可能性的增 加。 ( 5 ) 易于使用 4 华东师范大学硕士学位论文 s o a 业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管 理它来满足不同时期的需要。s o a 提供了灵活性和响应能力,这对于企业的生 存和发展来说是至关重要的。【 3 j 2 3w 曲s e r v i c e s 1 4 【1 5 1 【1 6 】 作为重要的s q a 的实现方式,w 曲s e r 、,i c e s 是一种广泛被人们接受的相对较新的 技术。这是因为w 如s e r v i c e s 为集成在因特网上的异构应用程序提供了一种分布式计 算方法。它可以将运行在通过m t r a n e t 、e x 仃锄就或h t e r n e t 连

温馨提示

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

评论

0/150

提交评论