(教育技术学专业论文)面向服务的毕业信息管理系统研究.pdf_第1页
(教育技术学专业论文)面向服务的毕业信息管理系统研究.pdf_第2页
(教育技术学专业论文)面向服务的毕业信息管理系统研究.pdf_第3页
(教育技术学专业论文)面向服务的毕业信息管理系统研究.pdf_第4页
(教育技术学专业论文)面向服务的毕业信息管理系统研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(教育技术学专业论文)面向服务的毕业信息管理系统研究.pdf.pdf 免费下载

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

文档简介

硕士擘位论丈 m a s t e r st h e s i s 摘要 随着高等学校招生规模的扩大,高校毕业生数量大量增加,需要相应的毕业信 息管理系统将学校各个部门的毕业生信息进行集成,以对毕业生信息进行管理,方 便学校用户对相关信息进行查询。本文采用新的架构思想面向服务的架构对毕 业信息管理系统进行设计和开发,从系统架构的角度实现了数据资源的共享和软件 业务的复用。 现有的系统架构思想在开发系统时所有功能都要进行开发,所有数据都要重新 输入和管理,造成资源浪费,效率低下;而已有的相关部门系统由于缺乏总体规划、 开发技术、平台和数据库都各不相同,造成业务数据和功能共享困难、整合困难; 这些问题使得系统要采用新的架构思想以共享数据、重用已有业务功能。本文主要 内容包括: ( 1 ) 服务建模设计。本文以s o a 为系统架构指导思想,首先对与毕业信息管 理相关的系统进行分析,得出这些系统所能提供的服务,对毕业信息管理系统进行 分析,得出本系统所需的服务,综合分析得出所有服务候选者,并进行服务建模设 计,重点研究了服务发现过程和服务规约,为系统的设计和开发奠定了基础: ( 2 ) 系统设计。本文采用s o a 思想对毕业信息管理系统进行系统设计,根据 对目标系统的功能分析,提出了系统的业务架构模型、逻辑架构模型,并对系统具 体业务流程进行设计,在系统设计过程中描述了s o a 的应用步骤,分析了s o a 应用 时的基本逻辑结构; ( 3 ) 系统实现。在设计的基础上以n e t 为平台、运用a s p n e t 技术、以c # 作 为编程语言开发毕业信息管理系统,探讨了基于n e t 的w e b 服务的实现和调用以及 服务的编排,最终以服务集成的方式完成系统。该系统的业务逻辑以第三方提供的 服务或服务组合来实现,提高了系统的开发效率,系统具有良好的可扩展性和易维 护性。 以面向服务架构为设计指导思想,以基于n e t 的w e b 服务为开发技术的毕业信 息管理系统,开发速度快、可扩展性好、易维护,有效重用了已有相关系统的数据 和业务,对于信息系统采用面向服务架构具有重要指导意义。 关键词:面向服务的架构;w e b 服务;毕业信息管理 硕士学位论丈 m a s t e r st h e s i s a b s t r a c t a l o n gw i t l lt h ee x p a n s i o no fe n r o l l m e n ts c a l ei ni n s t i t u t i o no fh i g h e rl e a r n i n g t h e q u a n t i t yo fg r a d u a t e sf r o mi n s t i t u t i o n so fh i g h e rl e a r n i n ga l s oi n c r e a s e si nl a r g ea m o t m t , t h ec o r r e s p o n d i n gg r a d u a t ei n f o r m a t i o nm a n a g e m e n ts y s t e mi sn e e d e di no r d e rt o i n t e g r a t ea n dm a n a g et h eg r a d u a t ei n f o r m a t i o no fe a c hb r a n c ho fs c h o o l ,a n dm a k ei t c o n v e n i e n tf o rt e a c h e r sa n ds t u d e n t st oi n q u i r yr e l e v a n ti n f o r m a t i o n t h i sp a p e ra p p l i e sa n e wa r c h i t e c t u r e - - - - 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 et o d e s i g na n dd e v e l o pg r a d u a t e i n f o r m a t i o nm a n a g e m e n ts y s t e m ,r e a l i z e st h es h a r i n go f d a t ar e s o u r c e sa n dt h er e u s eo f s o f t w a r eb u s i n e s sf r o mt h ea n g l eo f s y s t e mf r a m e n o w a d a y sa v a i l a b l es y s t e m so f t e nd e v e l o pf u n c t i o n sa n di m p o r td a t at h e m s e l v e s , w h i c hr e s u l t si nr e s o u r c e sw a s t ea n di n e f f i c i e n c y b e c a u s eo ft h es h o r to fam a s t e rp l a n o f r e l e v a n ts y s t e m s ,t h es h a r i n ga n di n t e g r a t i o no f b u s i n e s sd a t aa n df u n c t i o n si sd i f f i c u l t a l lt h e s ep r o b l e m sr e q u i r eg r a d u a t ei n f o r m a t i o nm a n a g e m e n t s y s t e mt ou s en e w a r c h i t e c t u r et os h a r ed a t aa n dr e u s ea v a i l a b l ef u n c t i o n s t h i sp a p e ri n c l u d e s : ( 1 ) s e r v i c em o d e ld e s i g n t h i sp a p e rt a k e ss o a a ss y s t e mf r a m eg u i d i n gi d e o l o g y , f i r s ta n a l y s e ss y s t e m st h a ta r er e l e v a n tt og r a d u a t ei n f o r m a t i o nm a n a g e m e n ts y s t e m , f i n d ss e r v i c e st h a tc a nb ep r o v i d e db yt h e s es y s t e m s ;t h e na n a l y s e sg r a d u a t ei n f o r m a t i o n m a n a g e m e n ts y s t e m ,f i n d ss e r v i c e st h a ta r en e e d e d ;t h e nd e s i g n sa l ls e r v i c e s ,f o c u so n t h es t u d yo fs e r v i c ed i s c o v e rp r o c e s sa n ds e r v i c ec o n t r a c t s ,e s t a b l i s h e sab a s i sf o rt h e d e s i g na n dd e v e l o po fs y s t e m ( 2 ) s y s t e md e s i g n a p p l y i n gs o at od e s i g ng r a d u a t ei n f o r m a t i o nm a n a g e m e n t s y s t e m ,a c c o r d i n gt ot h ea n a l y s i so fs y s t e mf u n c t i o n s ,t h i sp a p e ra d v a n c e st h eb u s i n e s s f r a m em o d e la n dt h el o g i cf r a m em o d e lo ft h es y s t e m ,d e s i g n st h es p e c i f i cb u s i n e s s p r o c e s so f s y s t e m ,d e s c r i b e st h ea p p l y i n gs t e p so f s o a i nt h ed e s i g n i n gp r o c e s s ,a n a l y s e s t h eb a s i cl o g i cf r a m ew h i l ea p p l y i n gs o a ( 3 ) s y s t e mr e a l i z a t i o n b a s e do nd e s i g n ,t a k i n g n e ta sd e v e l o p i n gp l a t f o r m ,u s i n g a s p n e tt e c h n o l o g ya n dt a k i n gc 撑a sp r o g r a m m i n gl a n g u a g e d e v e l o p sg r a d u a t e i n f o r m a t i o nm a n a g e m e n ts y s t e m ,d i s c u s s e st h er e a l i z a t i o na n dt r a n s f e ro fw e bs e r v i c e s a n ds e r v i c e sa r r a n g e m e n tb a s e do n n e t , f m a l l ya c c o m p l i s h e ss y s t e mb yw a yo fs e r v i c e s i n t e g r a t i o n t h eb u s i n e s sl o g i co f t h i ss y s t e mr e a l i z e sb ys e r v i c e so rs e r v i c e si n t e g r a t i o n l i p r o v i d e db yo t h e rs y s t e m s ,w h i c hi m p r o v e st h es y s t e m se x p l o i t a t i o ne f f i c i e n c y , s ot h e s y s t e mi se a s yt ob ee x p a n d e da n dm a i n t a i n e d t a k i n gs 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 y s t e mf r a m eg u i d i n gi d e o l o g y , t a k i n g n e t w e bs e r v i c e sa sd e v e l o p i n gt e c h n o l o g y , g r a d u a t ei n f o r m a t i o nm a n a g e m e n ts y s t e mi s d e v e l o p e dq u i c k l ya n di se a s yt ob ee x p a n d e da n dm a i n t a i n e d ,i tr e u s e sd a t aa n d b u s i n e s s o fa v a i l a b l es y s t e m se f f i c i e n t l y a l lt h e s em a k eag o o dg u i d a n c ef o ri n f o r m a t i o ns y s t e m s t h a tw a n tt ou s es 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 k e yw o r d s :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 ;w e bs e r v i c e s ;g r a d u a t ei n f o r m a t i o n m a n a g e m e n t 1 l i 硕士学位论文 m a s t e r st h e 8 1 $ 华中师范夫学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工 作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已 在文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:马之盔惹 日期:z 护司年6 月f 口日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网络向社会公众提供信息服务。 作者签名:马爻堤 日期:乙毒忤6 月吲 嚣名举鞠 日期: 挣 月 日 1 日期嚣熊伊沦日期:u 叼年6 月。日 日期: | 午 月日 硕士肇住论丈 m a s t e r st h e s i s 1 绪论 1 1 研究背景和意义 随着高等学校招生规模的扩大,高校毕业生数量也大量增加,对毕业生信息仅 依靠手工管理或各个系统的分布管理难以满足需求,建立高校毕业信息管理系统日 趋重要和必要。尽管目前大部分高校都有自己的学生管理系统或学籍管理系统,但 很少涉及毕业生的信息管理。毕业生的信息管理或者没有单独作为一个系统,功能 分散在学生处系统、教务处系统等;或者单独建立了管理系统,但依然是按照传统 方法进行,所有业务功能都是重新开发,所有数据和信息也是再次输入。 实际上,毕业信息管理系统中的许多业务功能和数据信息与已有的学生处系 统、教务处系统等是有相互交叉、甚至重复的地方的。然而,当前主流的管理平台 只着眼在信息资源和相关数据的共享复用,而不是软件功能复用;学校已有的各个 信息系统通常是孤立搭建,只关注某一个业务环节或管理功能,各信息系统相互独 立运行,以致这些位置上分散的系统形成了一个个的“信息孤岛”。系统之间难以 进行信息共享,对于功能相同的模块也要进行重复开发,使得信息一致性难以维护, 工作效率低下。 为了更好的重用已有模块、实现信息共享和交互,使重用不必考虑各自运行平 台和开发环境的差异,系统更为高效、可靠、灵活、开放,人们提出了各种软件复 用和共享方法。但是目前的方法诸如面向构件等经常局限于特定平台,给信息共享 和软件复用造成了困难。面向服务的架构( s o a ) 应运而生,它把各系统实现的功能 划分为不同粒度的服务,使得系统之间的功能调用转换为服务的调用,并可以将服 务的标准接口发布到互联网,实现跨平台的资源共享。 面向服务的架构( 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 ) 是一种分布式的软 件模型,它将应用程序的不同功能单元( 称为服务) 通过定义良好的接口和契约联 系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、 操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通 用的方式进行交互。“1 这种具有中立的接口定义( 没有强制绑定到特定的实现上) 的特征称为服务之 间的松耦合。松耦合系统的好处有两点,一是它的灵活性;另外就是,当组成整个 应用程序的每个服务的内部结构和实现逐渐发生改变时,它能够继续存在。而与此 相对,紧耦合意昧着应用程序的不同组件之间的接口与其功能和结构是紧密相连 的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆 硕士学位论丈 m a s t e r s r h e s i s 弱。1 s o a 是理论界的前沿课题,对于应用的开发与集成具有现实的指导意义。随着 s o a 日益频繁地出现在国内外研究专著上,相关行业对于s o a 的关注也越来越密切 。1 。在这种情况下,很有必要对s o a 进行研究探讨,本文尝试将s o a 的理念应用于 毕业信息管理系统中,希望这种新的思想也能够应用于教育,推进教育信息化进程。 1 2 现状分析 高校一直都是信息化建设比较前沿的领域,2 0 世纪9 0 年代以来,高校各个部 门根据本单位的业务发展需要,陆续开发了针对本部门的信息系统。 国内现有的比较有代表性的高校信息系统有: ( 1 ) 上海交通大学的管理信息系统,包括基于网络的教育管理信息系统、本 科教学管理系统、学生处学生信息管理系统、校友管理信息系统。 ( 2 ) 四川省高校学生信息系统,提供四川省各类高校在校学生的学籍信息。 ( 3 ) 西南交通大学峨嵋校区的管理信息系统,包括教务管理信息系统、财务 管理信息系统、教材管理信息系统、学生助学贷款管理信息系统、学生处管理信息 系统和各院( 系) 的管理信息系统等。 ( 4 ) 福州大学学生信息管理系统,可提供学生减免学费名单、国家助学贷款 名单、社会资助学生名单、特困临时困补名单、勤工助学名单、奖学金等信息的发 布和查询。 由以上系统介绍可以看出,作为高校信息管理的一部分,毕业信息管理还没有 单独建设,而在目前毕业生数量大量增加的情况下,建立毕业信息管理系统是必要 的。由于毕业信息管理系统与现有系统的信息和功能交叉较多,如毕业生的相关信 息已存在于学生处的学生信息系统和教务处的成绩管理系统,相应的查询功能在各 个系统中也有建设,因此希望在开发毕业信息管理系统时能够充分复用这些交叉的 信息和业务功能,提高系统开发速度,充分利用现有资源。但是现有高校信息系统 的一些问题”使得本系统要重新思考系统的架构建设。 ( 1 ) 缺乏总体规划 高校信息系统是一个有机的整体,各部门信息系统是整个高校信息系统的局 部。正常的构建过程是先有整体规则和设计,然后才有局部实现。但现在的过程正 好相反,是先建立了部门系统,是先局部后整体的过程,因此整个系统缺乏规划。 ( 2 ) 部门间难以共享数据 现有的各个部门系统是不同时期、不同人员以部门为单位,甚至以业务功能为 硕士擘位论文 m a s t e r l st h e s i s 单位进行开发或购买的,每个信息系统都有自己的数据库系统、数据结构和数据标 准,当各个系统之间需要共享数据时,需要进行数据格式和数据系统的转换,增加 了系统间共享数据的难度,不同部门问的数据更新无法同步,导致了数据的不一致。 如学生休学时只会到教务处办理相应手续,学生处、财务处与教务处的信息就会出 现不能及时统一更新的情况。 ( 3 ) 部门间难以共享业务逻辑 以前建立的系统多以紧耦合的方式把模块化的业务逻辑组合而成,这些业务逻 辑在其它信息系统中无法重用,导致了业务逻辑的重复设计和资源的浪费。 ( 4 ) 难以进行业务整合 现有的各个系统有着不同的体系结构和使用平台,开发技术也大不相同,因此, 当业务需求发生变化时,很难对业务进行整合和重组。 面向服务的架构( s o t ) 能够较好的解决这些问题。它基于“软件变服务”的 思想,是一种解决软件重用和软件集成的新方案。通过采用面向服务的结构,可以 最大程度的减少系统间的耦合,提高可重用性,从而能够迅速便捷的构建开放的、 模块化的、可重用的系统,并便捷的共享系统之间的数据。5 1 s o t ( 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 ,面向服务的架构) 并不是全新的概念, 早在1 9 9 6 年g a r t n e r 组织就提出了。2 0 0 2 年1 2 月,g a r t n e r 组织又提出s o t 是“现 代应用开发领域最重要的课题”,并预计到2 0 0 8 年,s o t 将成为占有绝对优势的软 件工程实践方法。 目前s o t 得到了世界范围的关注。据y a n k e e 集团随机调查的4 3 7 家美国企业, 有7 5 的企业已计划进行大规模的s o t 投资”3 ,s o a 在国外的企业中已经被广泛接受 并且逐步使用。b e a 系统公司、s u n 微系统公司和0 r a c l e 公司,都在推出成套的软 件来构建s o a 。而i b m 公司在s o t 领域发展最为迅速,2 0 0 6 年1 1 月1 日i b m 公司 在北京和印度普纳同时成立了i b ms o t 全球方案中心,意味着i b m 对s o t 领域己经 开始进入产业化实施阶段。而国内一些资深的研究机构如中国科学院软件研究所、 中国科学院计算技术研究所等,也开始纷纷涉足s o a ;一些有影响的行业用户如金 融行业正在搭建其核心业务系统。目前对s o t 的研究和应用主要存在以下问题:较 多的讨论s o t 本身,相对忽视s o a 具体实现部署;较多的讨论s o t 的各种实现技术, 相对缺少案例辅助说明,解释比较空泛;混淆了s o t 与w e b 服务之间的概念”1 。 针对建设毕业信息管理系统要解决的数据共享和业务功能复用问题、s o t 在解 决这些问题上的优势以及目前应用s o t 时的问题,本文将利用s o a 思想来设计实现 毕业信息管理系统,从体系架构的角度探讨面向服务的毕业信息管理系统的构建, 研究s o a 思想应用于系统构建时的步骤,使系统继承s o a 所具有的优点:松耦合、 可扩展性好、有效重用原有的业务。 1 3 研究内容和关键技术 1 3 1 研究内容 本文的主要研究内容包括: ( 1 ) 分析现有高校信息系统,了解毕业信息管理系统与其各个系统的关系, 确定现有各个系统能够提供的服务;对毕业信息管理系统的功能进行分析,确定本 系统需要的服务;综合分析后进行服务建模,重点是服务发现过程、服务规约的描 述,为系统设计和开发奠定了基础; ( 2 ) 采用面向服务的架构思想,对毕业信息管理系统的架构进行设计,提出 系统的业务架构模型、逻辑架构模型,并对系统具体业务流程进行设计,通过设计 学习s o a 思想在系统设计时的应用,使系统具有易维护性和良好的伸缩性; ( 3 ) 利用s o a 的实现技术w e b 服务开发毕业信息管理系统,探讨基于n e t 的 w e b 服务的实现、调用以及服务的编排,实现服务建模所设计的服务,并集成相关 服务和服务组合完成系统。 1 3 2 关键技术 面向服务的架构只是一种软件体系结构的理念,其应用和实现要依靠具体的技 术。作为面向服务的一种实现手段,w e b 服务提供了基于x m l 标准接口的若干中间 件,具有良好的封装性、松耦合性、协议规范的标准性、高度的可集成性等特点, 能够很好的满足面向服务应用模式需求”1 。 本文中所有的服务开发和调用均是基于w e b 服务技术。具体来讲,以w i n d o w s 为系统平台,以m i c r o s o f t n e t 框架为开发平台,以a s p n e t 和c # 为开发工具和 技术,开发、调用、组合w e b 服务,并建立系统。 4 硕士学位论文 m a s t e r st h e s i s 1 4 论文组织结构 2s o a 理论综述 工 3 面向服务豹毕业信怎蕾理幂坑设计 l 相关系统和目标系统分析ii 服务窭镶设计| i 系统 受计 i l 4 悉i 訇服务的毕业信息警理系统实现 i 开发环境与技术l | 设计的实瑗il 系统游试与性能分析l 上 1 5 总结与晨箜i 图卜1 论文组织结构 本文共分五章,如图卜1 所示: 第一章,绪论。本章包括论文的研究背景、国内外现状、研究内容及关键技术, 同时对本文的主要内容进行了概括。 第二章,s o a 理论综述。首先对s o a 及相关概念进行阐述,研究了面向服务架 构所具有的特点和优势,然后对s o a 的基本结构及角色功能进行了描述,介绍了s o a 最典型的实现方式w e b 服务、w e b 服务的主要协议及其应用于s o a 的优点和不足, 描述了s o a 与w e b 服务的关系。 第三章,面向服务的毕业信息管理系统设计。首先分析与毕业信息管理相关的 系统,然后对目标系统进行分析,最后是服务建模设计和系统总体设计。建模设计 从毕业信息管理系统与现有系统的关系分析开始,逐步确定服务;系统设计则包括 业务结构设计、逻辑结构设计和业务流程设计。 第四章,面向服务的毕业信息管理系统实现。首先说明系统开发的环境和所用 的技术,并对其加以介绍;然后根据设计分别介绍了系统各个层次及功能的实现; 最后是系统部分功能的运行测试及性能分析。 第五章,总结与展望。对全文的研究工作进行总结与展望,指明下一步在理论 和应用方面需要进一步努力的方向。 硕士学位论文 m a s t e r st h e s i s 2s o a 理论综述 s o a ( 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 ) 是一种设计方法学,其目的是最大限 度的重用应用程序中的服务以提高i t 适应性和效率。虽然这些概念已经存在了数 十年之久,但只是在出现了基于标准的集成技术( 如w e b 服务和删l ) 之后,s o a 才开始被加速采用。嘲 s o a 将软件按照功能设计成一个个服务,这些服务用标准的方式定义接口、并 通过标准的协议进行调用。s o a 所定义的接口和调用方式是独立于编程语言和运行 平台的,广义上讲s o a 可以基于不同的底层技术实现,比如c o r b a 和w e b 服务。但 c o r b a 由于过于复杂和臃肿已很少使用,所以目前所说的s o a 绝大多数是基于w e b 服务技术实现。在w e b 服务的实现方式下,s o a 服务的接口用x m l 进行定义。这样 一个框架不是一种产品,也不仅仅是一种技术,而是一种解决问题的方法论。” 2 1s o a 及其特性 2 1 1s o a 定义及理解 关于s o a ,存在多种定义,有时它们还相互冲突。很多定义都结合了一种特定 的技术( 特别是w e b 服务) ,或者在定义中包含一种特定的特性( 例如调用类型) 。 w 3 c 把s o a 定义为“一种应用程序体系结构,在这种体系结构中,所有功能都 定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调 用这些服务来形成业务流程。”s o a 的关键是“服务”的概念,w 3 c 将服务定义为“服 务提供者完成一组工作,为服务使用者交付所需的最终结果”。“” g a r t n e r 将s o a 描述为“客户端服务器的软件设计方法,一项应用由软件服务 和软件服务使用者组成,s o a 与大多数通用的客户端n 务器模型的不同之处,在于 它着重强调软件组件的松散耦合,并使用独立的标准接口。”“” s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务间彼 此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某 些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立 于其它服务所处环境和状态的函数。”“o b e ad e v 2 d e v 站点的s o a 技术中心把s o a 定义为“一种设计方法,其目标是重 用中立的服务,从而提高i t 适应性和效能”。它强调s o a 是一种设计方法,具有 最大化重用的明确目标。n ” 6 硕士学位论丈 m a s t e r st h e s i s 由以上内容可以总结,s o a 不是一款产品,更不是一种技术,它只是一种思维 方式,一种系统平台架构设计中的方法和理念。它把包含在各种应用中的分散的功 能单元组织为可互操作的、基于标准的服务,这些服务可以被迅速组合和重用以满 足需求;可在需要时通过网络访问这些服务,这个网络可能完全包含在本地网络, 也可能分散于各地且采用不同的技术,通过对服务进行组合,可让最终用户感觉这 些服务就像在本地桌面上一样。需要时,这些服务还可以将自己组装为按需应用程 序一即相互连接的服务提供者和使用者集合,彼此结合以完成特定任务,从而能 够适应不断变化的情况和需求“。 从技术角度来说,s o a 带来了“松耦合”的应用程序组件,在此类组件中,代 码不一定绑定到某个特定的数据库( 甚至不一定绑定到特定的基础设施) 。正是得 益于此松耦合特性,才能够将服务组合为各种应用程序。这样还大幅度提高了代码 重用率,可以在增加功能的同时减少工作量。由于服务和访问服务的客户端并未彼 此绑定,因此可以完全替换服务提供者,而客户端将永远不会知道这个更改。“” 2 1 2s o a 中的相关概念 s o a 中比较重要的概念“”包括: ( 1 ) 服务 在s o a 中,服务( s e r v i c e ) 是封装成用于业务流程的可重用的应用程序函数, 可以通过基于标准的接口访问。每个服务表示一部分功能,它使信息或数据从一个 有效的、一致的状态向另一个状态转变。用于实现特定服务的流程并不重要,只要 它响应命令并为请求提供高质量的服务就可以了。服务可以从头开始编写,或对原 有系统功能模块进行封装。 服务应该是能够以分布式方式被调用、定义良好、自包含的,并且不依赖于上 下文或其它服务的状态,强调互操作性和位置透明性。允许服务的用户( 称为客户 机或使用者) 了解如何与其进行交互。构成服务的特征有: 能够以分布式方式被调用。这很重要,因为不能假定某个功能是处在客户 端环境中的。 定义良好。重用在编程语言层面上的一大难题就是难以发现可重用的资源 并跨越各种技术使用它们。一个服务应该能够在一个众所周知的目录中描 述和注册自身,而希望调用服务的客户端则应该能够完全基于已注册的信 息来调用服务。 自包含。一项操作的语义应该由即将进行的操作中的信息和服务状态所决 硕士学住论文 m a s t e r st h e s i s 定,而不应该依赖于其它某个服务的状态或上下文。这种隔离使得理解服 务提供的功能和对其进行重用变得更加容易。 互操作性和位置透明性。一个服务表现为一个软件组件,因为从服务使用 者的角度来看,它就像是一个自包含的函数。而实际上,服务的实现可能 包括在一个部门内部的不同计算机上或者许多业务合作伙伴拥有的计算机 上执行的很多步骤。 ( 2 ) 松耦合 耦合即组件相互依赖的程度。服务使用者到服务提供者的绑定与服务之问应该 是松耦合的。这就意味着服务使用者不知道提供者实现的技术细节,比如程序设计 语言、部署平台等。服务使用者往往通过消息调用操作请求消息和响应,而不 是通过使用a p i 和文件格式。 松耦合使会话的一端可以在不影响另一端的情况下发生改变,前提是消息模式 保持不变。在一个极端的情况下,服务提供者可以将以前基于遗留代码( 例如c o b o l ) 的实现完全用基于另一种语言的新代码取代,同时不对服务使用者造成任何影响。 这种情况是真实的,只要新代码支持相同的消息模式。 ( 3 ) 明确定义的接口 服务交互必须是明确定义的。w e b 服务描述语言( w e bs e r v i c e sd e s c r i p t i o n l a n g u a g e ,w s d l ) 是受到广泛支持的方法,用于描述服务使用者所要求的绑定到服 务提供者的细节。服务描述的重点在于与下面几部分交互所用的操作:服务;调用 操作的消息;构造这种消息的细节;关于向何处发送用于构造这种消息的处理细节 的消息的信息。 ( 4 ) 服务粒度 服务粒度( s e r v i c eg r a n u l a r i t y ) 指的是服务所公开功能的范围,一般分为 细粒度( f i n e - g r a i n e d ) 和粗粒度( c o a r s e g r a i n e d ) 。细粒度服务能够提供流程 的可用性服务,粗粒度服务能够提供高层逻辑的可用性服务。操作的粒度是一项重 要的设计要点。对于外部的消耗推荐使用粗粒度接口,细粒度接口则用于内部。粗 粒度接口可能是特定服务的完整处理,细粒度接口则具有用于方法的不同操作。 虽然细粒度接口为请求者应用程序提供了更多的灵活性,它同样也意味着交互 模式可能随着不同的服务使用者而不同,这会使对于服务提供者的支持更加困难。 粗粒度接口保证服务使用者以一致的方式使用服务。面向服务的架构( s o a ) 不要 求使用粗粒度接口,但是推荐使用它们作为外部集成的最佳实践。可以创建运行由 细粒度操作组成的业务流程的粗粒度接口。 硕士擘位论丈 m a s t e r st h e s i s 2 1 3s o a 的基本特征 ( 1 ) 松耦合 s o a 是“松耦合”组件服务,这一点区别于大多数其它的组件架构。松耦合旨 在将服务使用者和服务提供者在服务实现和服务使用方面隔离开来。服务提供者和 服务使用者之间松耦合的关键是服务接口作为与服务实现分离的实体而存在。这使 服务实现能够更改服务的接口、数据或消息版本,而完全不对消费者造成影响。“” 松耦合消除了对系统两端进行紧密控制的需要,就系统的性能、可伸缩性以及高可 用性而言,每个系统都可以实现独立管理,实现的改变被隐藏起来,给服务提供者 和服务使用者提供了独立性。 ( 2 ) 粗粒度服务 选择正确的抽象级别是s o a 建模的一个关键问题。设计中应该在不损失或损害 相关性、一致性和完整性的情况下,尽可能进行粗粒度建模。通过一组有效设计和 组合的粗粒度服务,能够组合出新的业务流程和应用程序。允许采用不同的粗粒度 等级来创建服务,这种服务分级包含了粒度较细、重用性较高的服务,也包含粒度 较粗、重用性较差的服务。细粒度服务一般为粗粒度服务所用,粗粒度服务可以灵 活组合稳定性强、重用性高的细粒度服务,快速形成新的业务逻辑。“” ( 3 ) 标准化接口 s o a 通过服务接口的标准化描述,使得服务可以提供给任何异构平台和任何用 户接口使用。这一描述包括与服务交互需要的全部细节,包括消息格式、传输协议 和位置。该接口隐藏了实现服务的细节,允许独立于实现服务基于的硬件或软件平 台和编写服务所用的编程语言来使用服务。近年来出现的x m l 和w e b 服务大大提升 了s o a 的价值,它们的标准化和开放性使得在所部署的所有技术和应用中都能够采 用s o a 。w e b 服务使应用功能通过标准化接口( w s d l ) 提供,并可基于标准化传输 方式( h t t p 和j m s ) 、采用标准化协议( , s o a p ) 进行调用。“ ( 4 ) 可重用的服务 因为每个服务在设计时是相互独立的,与系统中别的部分没有依赖关系,所以 同一系统内部的服务可以被其它服务所调用,不同系统之间也可以相互调用对方提 供的服务,充分提高了软件的可重用性。服务重用避免了重复开发的弊端,同时提 高了实现中的一致性。服务重用比起组件或类的重用更容易实现。”1 ( 5 ) 按需提供服务 在s o a 下,提供服务的组件代码分布在松散结构中的不同位置。所有对服务的 调用都是由需求者发起的,因此,需要调用服务的一方要有目的性的进行开发,从 9 硕士学住论文 m a s t e r st h e s i $ 而方便的获得另一方所提供的服务。”1 2 1 4s o a 的优势 面向服务的架构以其高度的抽象性和灵活性,无论是从开发技术角度还是从原 有资源的整合角度,都有诸多的优势“”: 从技术开发角度讲,面向服务的架构提供了一个更加灵活的开放架构模式,使 得无论是开发方法、实现技术还是开发效率都有革命性的变革。 ( 1 ) 屏蔽了业务逻辑组件的复杂性:s o a 作为一种分布式的系统,将服务与描 述等概念相结合。s o a 中的服务用标准的语言( x m l ) 来描述,并通过某种传输协议 ( s o a p ) 来实现交互,从而实现松耦合的软件架构。正是服务提供者和服务使用者 的松耦合关系,屏蔽了系统内部复杂的业务逻辑。系统的表示层只能看到服务接口, 至于接口内部的具体实现细节则不需要关心。当组成整个应用程序的每个服务的内 部结构和实现逐渐发生改变时,架构能够继续存在且不影响用户使用。 ( 2 ) 跨平台和重用性:通过标准接口,不同服务之间可以自由引用,而不必 考虑所要引用的服务在什么地方、处于什么平台、由什么语言开发,从而实现了真 i f 意义上的远程、跨平台和跨语言。面向服务架构的核心思想是通过松耦合的服务 组合来完成系统,从而提供了更高层次的重用性。 ( 3 ) 易维护和良好的伸缩性:依靠服务设计、开发和部署所采用的架构模型 实现了伸缩性。服务提供者可以独立调整服务以满足新的需求,服务使用者可以通 过组合变化的服务来实现新的需求。服务提供者和服务使用者之间的松耦合关系及 对开放标准的采用确保了系统的易维护性和良好的伸缩性。 ( 4 ) 开发角色更加明确:服务架构要求应用程序分层,业务流程组织人员只 专注于高层的服务组织来实现业务,服务组件开发人员只负责服务组件的实现,而 客户端开发人员则只根据自己熟悉的平台去开发界面。在项目中,不同层的开发小 组的专业分工,提高了开发的效率。 ( 5 ) 支持更多的客户端类型:只要遵循标准的协议,客户端的开发可以使用 任何平台以及任何开发语言。通过精确定义的服务接口和对x m lw e b 服务标准的支 持,可以支持多种客户类型,其至包括p d a 、手机等新型访问渠道。 从资源的整合角度讲,面向服务的架构可以基于现有的系统来改造发展,而不 需要彻底重新创建系统。 ( 1 ) 利用现有资源:通过使用适当的s o a 框架,可以将业务构造成现有组件 服务的集合。使用这种新服务只需要知道它的接口和名称,服务的内部细节以及在 1 0 硕士学位论文 m a s t e r st h e s i s 组成服务的组件之间传送数据的复杂性都对外隐藏。这种组件的匿名性使系统能够 利用现有资源,通过合并构建在不同的机器上、运行在不同的操作系统中、用不同 的编程语言开发的组件来创建服务。遗留系统可以通过w e b 服务接口来封装和访问。 ( 2 ) 商品化基础架构:在不同的应用程序之间,基础架构的开发和部署将变 得更加一致。现有的组件、新开发的组件和从厂商购买的组件可以合并在一个定义 良好的s o a 框架内。这样的组件集合将被作为服务部署在现有的基础构架中,从而 可以将基础架构作为一种商品化元素来加以考虑。 ( 3 ) 更快的产品上市速度和较低的成本:易组织的服务库将成为采用s o a 框 架组织的核心资产。通过对现有服务和组件的新的创造性重用,缩短了设计、开发、 测试和部署产品的时间,加快了产品的上市速度。同时,通过采用s o a 框架和服务 库,组织现有的服务来增强或创建新服务的成本也大大减少。 2 2s o a 的基本结构 ( 1 ) 基本结构 s o a 是解决i n t e r n e t 环境下业务集成需要的一种软件系统架构,从这个角度来 说,它更像一种模式。因此它与很多已有的软件技术,如面向对象技术互补,它们 分别面向不同的应用场景,以满足不同的特定需求。图2 一l 显示了s o a 中的基本角 色和操作。 图2 - 1s o a 中的角色及操作 s o a 有服务注册中心、服务使用者、服务提供者三种角色和发布、发现、绑定 和调用三种基本操作。为支持结构中的三种操作,s o a 需要对服务进行描述,声明 服务的语义特征、接口特征和各种非功能性特征,如安全要求、事务要求等。通过 三种基本操作,服务注册中心、服务使用者、服务提供者之间建立联系。由于服务 使用者和服务提供者的绑定是一种非直接的联系,当服务改变后,服务使用者可以 从服务注册中心获取新的服务。“” ( 2 ) 角色 硕士学位论丈 m a s t e r st h e s i s 服务使用者:服务使用者是一个应用程序、一个软件模块或需要一个服务的 另一个服务。它发起对注册中心中的服务的查询,并且根据服务定义,绑定 和调用服务提供者提供的服务。 服务提供者:服务提供者是一个可通过网络寻址的实体。它创建w e b 服务, 将自己的服务和接口描述信息发布到服务注册中心,以便服务使用者发现和 访问该服务,接受和执行来自使用者的请求并返回相应的响应信息。 服务注册中心:服务注册中心是服务发现的支持者,负责使w e b 服务被任何 潜在的服务使用者发现。它包含一个可用服务的存储库,允许感兴趣的服务 使用者查找服务提供者的接口。它扮演的是服务提供者和服务使用者媒介的 角色,作用与电话簿的黄页相似。“5 1 面向服务架构中的每个实体都扮演着服务提供者、使用者和注册中心这三种角 色中的某一种( 或多种) 。 ( 3 ) 操作 发布:是服务提供者与服务注册中心之间的交互操作。为了使服务可访问, 需要发布服务描述以使服务使用者可以发现和调用它,发布的具体细节取决 于服务注册中心是如何被实施的。 发现:与发布相对,是服务使用者与服务注册中心之间的交互操作。服务使 用者定位服务,方法是查询服务注册中心来找到满足其需求的服务。 绑定

温馨提示

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

最新文档

评论

0/150

提交评论