(计算机应用技术专业论文)基于soa的高考报名系统的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于soa的高考报名系统的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于soa的高考报名系统的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于soa的高考报名系统的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于soa的高考报名系统的研究与设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)基于soa的高考报名系统的研究与设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 目前基于面向服务的体系架构( s o a ) 的先进思想比较流行,这是一种以服 务为基础元素建立企业级信息化平台的架构思想。在信息化建设中产生了大量为 满足服务需要的系统,但其间却往往缺少关联和通讯,导致这些系统成为了一个 个“孤岛”。s o a 具有松散耦合、粗粒度、互操作性等优点。通过采用s o a 架构 的设计思路,可以最大程度减少模块或者系统之间的耦合,提高可重用性,因此 能够较好的整合遗留系统,提高系统的灵活性和可扩展性。 综上所述,本文对基于s o a 思想的w e b 服务技术进行了研究,以高考报名 系统为设计案例,设计了一个基于s o a 的应用软件系统,将应用系统的各个独立 模块之间的交互显式地构建为“服务”,采用面向服务的架构思想来设计业务系 统。结合w e bs e r v i c e s 技术,使客户端可以通过标准化的w e bs e r v i c e s 接口的引 用来获得业务逻辑;使得系统的业务逻辑可以以第三方提供的服务或者服务组合 来实现,加大公用功能的封装力度,抽取成为基层服务提供接口供其它服务调用, 而变动频率比较大的功能流程也应本身形成服务,这样对减少系统后期的修改工 作量以及增强系统的可重用性,都有非常大的意义。 本文首先介绍了s o a 的概念、特征、结构模型及其实现技术等,探讨了s o a 与w e b 服务技术的关系。接着分析了高考报名系统的需求,通过分析业务流程, 采用s o a 的设计方法,建立面向服务的系统架构。在设计上,结合w e b 服务和 j 2 e e 技术中的s e r v l e t ,引入x m l 技术封装数据信息,结合加密验证保证系统用 户权限控制的有效性针对应用的特点,用多层服务模型设计业务模块服务、服 务接口层、业务层、数据层和表示层,实现了粗粒度w e b 服务。各层分工清晰, 为后期开发工作提供一套简单的模型。最后,对报名业务流程模块进行了详细的 业务逻辑分析,用自顶向下的业务分解方法,结合服务组合设计的原则,设计了 对应的服务模型以及相应的服务接口。为整个系统的完全设计提供了一个详细的 参考模型。 关键词:高考报名系统;服务模型;s o a ;w e bs e r v i c e ;x m l 广东_ 【业人学工学硕十学位论文 a bs t r a c t 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 sa na d v a n c e dt h i n k i n go fu s i n gs e r v i c e e l e m e n tt ob u i l dae n t e r p r i s ei ts t r u c t u r e w i t ht h ed e v e l o p m e n to fn e t w o r k t e c h n o l o g y ,as e r i e so fs y s t e m i s d e v e l o p e d b u tt h e s es y s t e m sb e c o m ed i f f e r e n t “i n f o r m a t i o ni s l a n d ”t h a tc o m m u n i c a t eh a r d l yw i t he a c ho t h e r s o ap o s s e s s e st h e s o u n df e a t u r e ss u c ha sb e i n gl o o s e n e dc o u p l i n g ,r o u g hg r a i n - s i z ea n dr e t r o - o p e r a t i v e e t c t h r o u g ht h em e a n so ft h ed e s i g ns c h e m ea d o p i n gt h es o af r a m e w o r k ,t h e c o u p l i n ga m o n gs y s t e m sa n dm o d u l e sc a nb er e d u c e dt ot h em a x i m u m e x t e n ta n dt h e s o f t w a r er e u s i n gc a nb ei m p r o v e d ,t h e r e f o r et h er e m a i n i n gs y s t e mc a na c h i e v eab e t t e r i n t e g r a t i o nt ou p g r a d ei t sf l e x i b i l i t ya n de x p a n d a b i l i t y t h i sr e s e a r c hh a ss t u d i e ds o a b a s e dw e b s e r v i c e st e c h n o l o g y ,d e s i g n e da s o a b a s e da p p l i c a t i o ns y s t e m ,a n di m p l e m e n t e dt h ek e yt e c h n o l o g yo fs o a f r a m e w o r ki ns y s t e mp r o t o t y p ew i t ht h ec o l l e g ee n t r a n c ee x a m i n a t i o ns y s t e ma sa c a s e t oe x p l i c i t l ym o d e li n t e r a c t i o n sb e t w e e ni n d e p e n d e n tc h u n k so fs o f t w a r ea s s e r v i c e s ,a m dm a k e su s eo fs o a t od e s i g nt h es e r v i c es y s t e m i n t e g r a t et h ew e b s e r v i c e st e c h n o l o g yt oe n a b l et h eu s e rg a i nt h eb u s i n e s sl o g i ct h r o u g ht h ec i t a t i o no f s t a n d a r d i z e dw e bs e r v i c e si n t e r f a c e ;b e s i d e si th e l p st h eb u s i n e s sl o g i co ft h es y s t e m t ob ec o m p l e t e l yr e a l i z e dt h r o u g he i t h e rt h es e r v i c ef r o mt h i r d p a r t yo rs e r v i c e c o m b i n a t i o n ,s t r e n g t h e nt h ee n c a p s u l a t i o no ft h ec o m m o nf u n c t i o na n db e c o m eb a s i c s e r v i c et oo f f e ri n t e r f a c et ob ec a l l e db yo t h e rs e r v j c e s t h ef l u c t u a n tf u n c t i o n a lf l o w s h o u l db ef o r m i n gs e r v i c eo n e s e l f , s ot h a ti tc a nr e d u c et h el o a df o rt h el a t t e rs y s t e m m o d i f i c a t i o na n de n h a n c et h er e u s i n go ft h es y s t e m ,a l lt h i sh a sb i gs i g n i f i c a n c e t h i sd i s s e r t a t i o nf i r s ti n t r o d u c e st h ec o n c e p t ,f e a t u r e ,s t r u c t u r em o d e la n d r e a l i z a t i o nt e c h n o l o g ya n dg o e sd e e pi n t ot h ed i s c u s s i o no nt h er e l a t i o n s h i po fs o a a n dw e bs e r v i c e st e c h n o l o g y s e c o n d a r yt h er e q u i r e m e n t so ft h ec o l l e g ee n t r a n c e e x a m i n a t i o ns y s t e ma r ea n a l y z e d b a s e do nt h eb u s i n e s sp r o c e s sa n dt h ep r i n c i p l eo f d e s i g nf o rs e r v i c e ,s o aa p p r o a c hi su s e dt ob u i l dt h 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 i i a b s t r a c t i nt h ed e s i g n ,c o m b i n ew e bs e r v i c e sa n dt h es e r v l e tt e c h n o l o g yo fj 2 e e ,i m p o r tt h e x m lt e c h n o l o g yt o e n c a p s u l a t ed a t am e s s a g ea n dc o m b i n e t h ev a l i d a t i o no f e n c r y p t e ds ot h a ti te n s u r e st h ev a l i d i t yo fs y s t e mu s e ra u t h o r i t yc o n t r 0 1 a i m i n ga t t h ea p p l i c a t i o nt r a i t ,d e s i g n i n gt h eb u s i n e s sm o d e ls e r v i c ew i t hm u t i l - l a y e r ss e r v i c e m o d e l :s e r v i c ei n t e r f a c el a y e r ,b u s i n e s sl a y e r ,d a t al a y e ra n dp r e s e n t a t i o nl a y e r ,i t c a r r i e so u tt h er o u g hg r a i n s i z ew e bs e r v i c e s t h el a y e r si nc l e a rd i v i s i o nc a ns u p p o r t as i m p l em o d e lf o rt h el a t t e rd e v e l o p m e n t f i n a l l y ,h a v i n gad e t a i l e da n a l y s i so ft h e b u s i n e s s l o g i c f o rt h ee n t r a n c eb u s i n e s sp r o c e s sm o d u l e ,u s i n gt o p d o w n d e c o m p o s i t i o nm e t h o db u s i n e s sw i t ht h ep r i n c i p l eo fs e r v i c ep o r t f o l i od e s i g n ,i no r d e r t od e s i g nt h ec o r r e s p o n d i n gs e r v i c em o d e la n dt h ec o r r e s p o n d i n gs e r v i c ei n t e r f a c e i t p r o v i d e sad e t a i l e dr e f e r e n c em o d e lf o rt h ec o m p l e t ed e s i g no f t h es y s t e m k e yw o rd s :c o l l e g ee n t r a n c ee x a m i n a t i o ns y s t e m ,s e r v i c em o d e l ,s o a , w e b s e r v i c e ,x m l i i i 广东i q k 大学t 学硕i j 学位论文 独创性:声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明,并表示 了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 指导教师签字: 论文作者签字: 6 2 菇矽弛颀 2 0 0 8 年啪卸 绪论 1 1 研究背景 第一章绪论 随着网络技术的提高和i n t e r n e t 的普及,高速度的信息传递技术,高效率、 高质量的信息查询技术,在变革了人们生产、收集、组织、传递和使用知识信息 的方式的同时,也使信息服务的机制、结构以及服务手段发生了巨大的变化。 科技系统信息化建设的推进,各种信息应用系统的应用,也实现了信息管理 工作的计算机网络化。利用网络通讯基础及先进的网络应用平台,为管理部门提 供现代化的日常办公条件及丰富的综合信息服务,以提高办公效率和管理水平, 实现信息的可管理性,实现信息的在线查询,最终实现“无纸办公。传统的招 生业务模式主要以纸介为主,在信息革命的浪潮中,显然已经远远不能满足高效 率、快节奏的现代工作和生活的需要。如何实现信息处理的自动化和招生业务无 纸化逐步得到教育部门的重视。 在这样一种需求与环境的要求下,高考报名系统应需而生了,将先进技术结 合运用到了招生事务处理过程中去。原先开发的报名系统虽然能够顺利完成报名 工作,但由于传统的软件开发所使用的平台、开发工具、操作系统在结构上的紧 耦合,应用模块之间通常有很多相互交叉,甚至重复的信息和数据。这造成了信 息和数据的重复处理,以及程序代码的冗余,即浪费资源又不便于管理,也不利 于以后的维护开发工作。如何将应用模块有机地整合实现信息的共享和交互,使 之成为一个高效、可靠、灵活、开放的系统,因此需要一种新的软件开发方法来 达到以上目的。 从软件发展史上来看已经经历了面向过程、面向对象和面向构件等几个阶段。 由于面向过程高度耦合而不适合于较大软件系统的开发,面向对象只能支持同种 语言,而面向构件虽然能做到构件二进制级别共享但还是局限于特定平台。因此, 种称为面向服务的体系结构的软件设计方法被提了出来,它通过发布可发现 的接口为其他的应用程序提供服务,而其中的服务可以通过网络进行调用。通过 采用s o a 框架,可以最大程度地减少系统间的耦合,从而提高可重用性。系统架 广东工业大学t 学硕上学位论文 构脱离了平台、操作系统的约束,在异构环境中实现了跨平台的应用,降低了系 统开发和维护的成本。 1 2 课题来源及目标 本课题来源于广东工业大学计算机工程研发中心与广东省考试中心合作研发 的“广东省高考网上报名系统”项目( 简称g d n m t o r s ) 。该项目的建设目标是: 通过网上报名系统,改变传统的高考考生报名模式,之前的模式是考生填写报名 表格上交至各报名点,各报名点工作人员手工录入考生信息并汇总到省招办的报 名方式,现在高考报名系统充分利用网络服务,把报名信息的收集范围、效率和 准确性提高到一个全新的水平,考生只要在开放报名时间内,可以在任何联网的 计算机上登陆网站填写、修改和核对信息,在任何联网并装有摄像头的机器上都 可以进行采相,相关信息的准确性由考生自行决断,招考办可登录网站对考生数 据进行统一管理,对高考报名全过程实现动态实时监控,这样既减轻了报名工作 人员的工作量又降低了责任风险,还提高了报名工作的工作效率。 从目前的使用情况来看,旧的系统基本上满足了广东省的高考网上报名需求, 性能上也基本达到目标,能接受几十万考生在一个星期内完成高考报名,并且对 开放给各地市招办的功能模块也能准确地对相关的信息数据进行处理。 但随着招生规模的不断扩大,学生报考人数将成递增模式,而且这几年招生 考试政策一直在变化,例如2 0 0 6 年的高考考生是实行3 + x 的方案,不分文科和 理科,2 0 0 7 年则实行高考改革新方案,考生分文理科。由于具体的招生考试政策 文件需要经过多级部门的审批,因此往往出台的比较迟,因此在距离高考报名工 作开始这一段很短的时间里,如若招生政策变了,需求变化比较大的话,将会给 报名系统的修改工作带来很大的压力。因此架构一个可重用性强的系统,能够适 应需求变化,不用耗费太多的人力,物力在系统修改上,将是一直追求的目标。 1 3 意义 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 ,面向服务的架构) 是一种建立、维护、 管理i t 系统和业务流程的方法。在s o a 架构下,以服务或组件形式出现的业务 逻辑可以被共享、重用和配置,如此以来,应用集成变得轻而易举。过去,应用 2 绪论 开发一直采用先开发、后集成的模式心1 ,而在s o a 架构下,任何一种应用都由若 干种服务组成,这些服务在开发之初就已经考虑到重用问题,提供了标准的接口, 可以被各种应用和其他服务所调用。 高考招生政策的不断修订,决定了为其服务的报名信息应随其需求变化而有 所改动。于是报名系统的可扩展性,高效性,稳定性,重用性都是必须考虑的。 因此追求一种系统内部模块与模块之间能够通过服务接口进行通信的体系结构, 那对于降低开发难度,成本以及提高系统的性能和可扩展性将会有很大的意义。 1 4 研究内容 我参加由广东工业大学计算机工程研发中心负责的“广东省高考报名系统” 2 0 0 7 年度系统修改研发工作,在系统的开发过程中,我主要参与系统的分析,设 计以及部分模块的代码编写。因此对原先系统的架构非常了解。而本文正是针对 现在广东省高考网上报名系统架构上存在的一些不足,研究和设计了用s o a 技术 构建新的健壮的报名系统架构。 本课题主要有以下几方面的内容: ( 1 ) 对目前热门关注的s o a 架构及其实现技术w e b 服务进行全面分析研究。 ( 2 ) 结合s o a 的相关技术,结合广东省普通高考网上报名系统的需求,分析 了系统的业务需求,功能性与非功能性需求,并给出系统的功能模块及概述。 ( 3 ) 基于s o a 的思想,利用w e b 服务技术,本着“整体规划,分步实施”的 原则,分析设计高考报名系统,并在此基础上进行了报名系统的系统设计和模块 功能分析与设计。 ( 4 ) 围绕s o a 的设计目标,以报名管理模块为例子,详细分析了报名管理的 业务流程,定义了其服务接口,结合s o a 理论,探讨了面向服务架构中服务粒度 的设计及建立业务流程的步骤,按照基本服务、合成服务、组合服务进行分析与 设计,对服务进行组合调用形成业务流程,从提高系统业务流程的可重组性和可 适应性方面进行了探索。 1 5 论文的特色 本课题的特色主要如下: 广东t 业大学工学硕士学位论文 ( 1 ) 本课题旨在用s o a 的架构设计方法应用到报名系统中来,目的在于减少 重复开发。论文基于s o a 和w e b 服务新的系统架构思想,结合j 2 e e 技术的多层 架构思想对论题进行分析研究,设计了一个具有良好的可扩展性和可重用性的多 层架构,该系统设计具有较高的实用性和必要性,只需要共享服务,维护简单, 并且具有很大的灵活性。 ( 2 ) 引入了以任务为核心和以实体为核心相结合的业务流程服务设计方法对 系统进行业务服务建模,重点对如何设计可重用性高、可扩展性强、可维护性好、 保持松散耦合,能够灵活适应业务需求变化的业务层进行研究,包括业务服务层 设计方法,抽取公共服务,服务接口的设计,服务间的组合,调用等。为下一步 系统的实现,打下了坚实的基础和有益的尝试。 1 6 论文组织 全文共分为6 章: 第l 章,讨论了课题的研究背景、课题来源及意义,并指出了本课题的研究 内容和工作重点,最后介绍了论文的组织。 第2 章,首先描述了面向服务架构产生的背景,接着对本课题所依赖的技术 理论基础做了比较全面的介绍,包括s o a 和w e b 服务两个技术点。详细介绍实 施s o a 的几种关键技术:服务通信机制一s o a p ,服务描述机制一w s d l ,服务 发布和发现机制一u d d i ,最后阐述了s o a 架构的优越性。 第3 章,用软件工程的方法对高考报名系统进行了系统的分析,分析了系统 的业务需求,功能性与非功能性需求,并给出系统的功能模块及概述,为下面系 统的设计做了必要的准备。 - 第4 章,是本课题的工作重点之一。用s o a 的思想体系,对整个系统进行了 整体的设计内容主要包括:系统架构设计、数据层设计、业务层设计、表示层设 计以及访问安全控制等。 第5 章,也是本课题的另一工作重点。选用具有代表性的学生报名流程,用 s o a 的方法对其业务流程进行详细的分析与设计,建立了对应的服务模型以及定 义了其服务接口。 4 s o a 架构概述 第二章s o a 架构概述 2 1 面向服务体系架构的产生背景 软件系统规模在迅速增大的同时,软件开发方法也经历了一系列的变革,软 件开发经历了面向过程、面向对象、面向组件、面向集成的发展过程,每一个阶 段都有其自身的特点,面向过程的代码高度耦合,可以为企业提供高效率,但无 法满足企业业务变化的需求。面向对象技术通过继承、多态和重载等一系列特性 提高了软件的重用,使得整个i t 基础架构能够满足需求的快速变化,但它的重用 仍然停留在代码共享的级别。面向组件技术加速了适应业务变化的步伐,但在异 构系统操作中仍然存在着许多问题。面向集成把系统的概念提升到了一定的高度, 但它们是针对独立的应用提供的服务,系统的体系结构面向特定的应用,使系统 在企业中的可实施性较差。在这种情况下,面向服务的体系架构应运而生3 ,它 是一种更加活跃的自由的高效的软件复用机制。 2 2 面向服务的软件体系架构 面向服务的体系架构己经成为i t 业尤其是软件开发和系统集成领域的热门 话题,著名专业机构z a pt h i n k 预计,到2 0 0 6 年s o a 将成为主导型的分布式计 算方法,而到2 0 10 年约6 9 的项目会以s o a 方式构建。著名咨询机构g a r t n e r 也预计,到2 0 0 8 年s o a 将成为占有绝对优势的软件工程实践方法旧1 。 2 2 1s o a 的基本概念 关于s o a 本身的具体定义,目前并没有标准的说法。下面是业界对于s o a 的定义: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 定义为:本质上是服务的集合。服务间 彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进 行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、 独立于其他服务所处环境和状态的函数。 l o o s e l y c o u p l e d c o m 将s o a 定义为:按需连接资源的系统。在s o a 中,资 广东_ 业大学工学硕士学位论文 源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统的 系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系。 g a r t n e r 则将s o a 描述为:客户端n 务器的软件设计方法。,一项应用由软件 服务和软件服务使用者组成,s o a 与大多数通用的客户端服务器模型的不同之 处,在于它着重强调软件组件的松散藕合,并使用独立的标准接口。 面向服务的体系结构s o a 是一个组件模型,它将应用程序的不同功能单元通 过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式定义的, 它独立于硬件平台,操作系统和实现服务的程序语言。这使得构建在各种这样系 统中的服务以统一和通用的方式进行交互3 。 2 2 2s o a 的特征 1 松散耦合 松散耦合是指服务接口的定义独立于服务实现的硬件平台、操作系统和编程 语言。这就意味着,服务请求者不知道提供者所提供的服务实现的技术细节,比 如程序设计语言、部署平台,等等。服务请求者往往通过消息( 请求消息和响应) 调用操作。系统中各个组件的松散耦合使得其中一个组件的更改不会影响系统中 的其他组件,这样当系统中某个业务模块发生变化时,只需要修改所对应模块的 内部程序,对其他模块的功能没有任何影响,从而能够更加灵活的满足业务变化 需求。 2 粗粒度 粗粒度服务提供一项特定的业务功能,而细粒度服务代表了技术组件方法。 例如,向计费系统中添加一个客户是典型的粗粒度服务,而你可以使用几个细粒 度服务实现同一功能j 如:将客户名加入到计费系统中,添加详细的客户联系方 式、添加计费信息等等。采用粗粒度服务接口的优点在于使用者和服务层之间不 必再进行多次的往复,一次往复就足够。i n t e r n e t 环境中有保障的t c p i p 会话已 不再占据主导、建立连接的成本也过高,因此在该环境中进行应用开发时粗粒度 服务接口的优点更为明显。 除去基本的往复效率,事务稳定性问题也很重要。在一个单独事务中包含的 多段细粒度请求可能使事务处理时间过长、导致后台服务超时,从而中止。与此 6 s o a 架构概述 相反,从事务的角度来看,向后台服务请求大块数据可能是获取反馈的唯一途径。 3 明确定义的接口 w e b 服务使应用功能得以通过标准化接口( w s d l ) 提供,并可基于标准化传输 方式( h t t p ) 、采用标准化协议( s o a p ) 进行调用。s o a 通过服务接口的标准化描 述,使得该服务可以提供给任何异构平台和任何用户接口使用。该接口隐藏了实 现服务的细节,允许独立于实现服务所基于的硬件或软件平台和编写服务所用的 编程语言而使用服务。x m l 和w e bs e r v i c e s 标准化的开放性使企业能够在所部署 的所有技术和应用中采用s o a 1 。 4 基于消息的通信 s o a 架构中服务之间通过消息进行通信,该消息通常使用x m ls c h e m a 来定 义( 也叫做x s d , x m ls c h e m ad e f i n i t i o n ) 。消费者和提供者或消费者和服务之间 的通信多见于不知道提供者的环境中。服务间的通讯也可以看作企业内部处理的 关键商业文档。 5 无状态的服务设计 服务应该是独立的、自包含的请求,在实现时它不需要从一个请求到另一个 请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当需要依赖时, 它们最好定义成通用业务流程、函数和数据模型。 2 2 3s o a 的结构模型 面向服务体系结构模型如图2 1 : 。算 服务注册疼r “、 3 返翰瞪貉怒攥嚣傣慰 、 。多凝2 剿乏。纛弋、】。- 毒 、劈、 艨务健弼者黻舞掇供翥 、黜辫辩 图2 1 面向服务体系结构模型图 f i g u r e2 - 1t h em o d e lo fs o a 7 广东t 业大学工学硕士学位论文 s o a 结构模型包括主要的三个方面,即服务提供者、服务使用者以及服务注 册库;s o a 结构是跨企业应用级的,不是单独针对某个特殊技术或者业务领域的 模型。 1 服务提供者。服务提供者是一个或一组以无状态方式执行业务功能的组 件,接受预定义的输入和输出旧1 ,它们一般有定义良好的接口( 对内的和对外的) , 并且接口的定义是平台和语言中立的,接口的描述信息被发布到服务目录( 或称 为服务注册表) 中,这样就可以被动态发现和调用。 2 服务使用者。需要使用服务的应用程序或其它的服务通过对注册中心的服 务进行查找后,根据接口说明信息并使用某种传输协议与服务绑定并执行服务功 能。或称为服务请求者,在需要某项服务的时候,先查询服务目录,得到相关服 务的描述信息,然后动态地绑定到相关服务,这样就可以以一种对服务消费者透 明的方式调用服务。 3 服务注册库。服务注册库包含服务的说明。是连接服务消费者和服务提供 者的桥梁,服务提供者可以向它注册服务,服务消费者可以通过它查询发现所提 供的服务描述信息。注册的服务可以按某种准则分类,方便服务消费者查询。 2 2 4s o a 与面向对象 1 s o a 中的服务需要用面向对象技术实现 s o a 的基本组成元素是服务,服务的实现是需要用到面向对象分析( o o a ) 和 面向对象编程( o o p ) 技术。s o a 思想并没有细到代码设计,它注重是i t 系统架构 的全盘考虑,和对变化着的需求灵活快速响应,因此在实现一个具体的服务时, 还是应该使用面向对象技术凹1 。 2 s o a 是面向对象的替代模型 虽然s o a 不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模 型,面向对象的模型是紧耦合的,己经存在二十多年了。虽然基于s o a 的系统并 不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。 由于它考虑到了系统内的对象,所以虽然s o a 是基于对象的,但是作为一个整体, 它却不是面向对象的。不同之处在于边界,对象的边界是紧耦合的a p i ,而服务 8 s o a 架构概述 的边界是基于工业标准的松散耦合的契约描述。 3 s o a 是面向对象的进一步封装 面向对象的中心思想是数据和操作的封装,而s o a 的思想则是任务或业务 功能的封装,一个服务可能包含了能实现服务功能的多个对象。所以s o a 适合规 模更大的系统建设,特别是企业级的i t 系统建设n 引。 2 3 面向服务架构的发展前景 s o a 作为新一代的软件构架,在未来5 1 0 年里将给软件产业带来革命性的 变化。在s o a 时代,任何一个大的应用软件系统,都不再由一个软件开发商独立 完成,而是由不同厂商生产的基于标准和接口的服务相互协作完成。每个厂商将 专注于一种或几种服务类型的开发,努力提高这些服务的性能和质量。从软件产 业总体上看,这将降低软件开发成本,提高软件质量,大大减少目前各软件厂商 之间相同软件部分重复开发的问题。 s o a 作为一种刚刚兴起的技术,虽然有一定的不确定性,但是这并不能阻碍 s o a 技术的不断发展。作为一种新型的软件开发体系结构,s o a 以具有无可比拟 的优势,符合按需计算的发展潮流,尤其适用于企业级的应用开发。随着互联网 络的进一步发展,分布式应用的不断普及,s o a 的应用会更加的普遍并被人们所 接受,成为继面向对象、面向组件之后的新的设计方式,。因此可以预见,s o a 的发展会对软件设计思想产生很大的影响并对分布式企业应用的不断普及起到重 大的促进作用。可以使企业具有更迅速的响应能力,更灵活的变化能力,是随需 应变电子商务发展的重要技术,因此具有良好的发展前景。 2 4w - e b 服务技术 s o a 使用称为服务的功能单元构建系统,这些服务是基于重用的。通过运用 这些服务之间定义良好的接口和契约联系来支持业务流程,使服务( 业务) 的编 排和组合增加了灵活性和集成性。s o a 的关键是使用标准接口和定义,用松耦合 连接,从而掩盖了i t 环境底层的技术复杂性和繁琐性。 今天s o a 的特殊性在于它是基于已广泛接受的w e b 服务标准n ,从而提供 了在每个不同厂商解决方案之间的相互性。 9 广东工业大学工学硕上学位论文 2 4 1 服务通信机制 简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 是一个基于x m l 的,用于 在分布式环境下交换信息的轻量级协议。s o a p 在请求者和提供者之间定义了一 个通讯协议,这样在面向对象编程的环境中,该请求对象可以在提供对象上执行 远程方法调用。 s o a p 是基于可扩展标记语言( x m l ) 的,是w e bs e r v i c e s 技术里服务提供者 和服务请求者交换信息的载体形式n2 1 。s o a p 规范中最重要的部分就是其消息框 架。整条s o a p 消息包含在一个信封( e n v e l o p e ) 中、信封内的s o a p 消息分为s o a p 消息头( h e a d e r ) 和一个s o a p 消息体( b o d y ) 两部分,其中s o a p 消息头是可选的, 头和体可以包含多个条目。s o a p 消息结构的基本模型如图2 2 所示。 图2 - 2s o a p 消息结构模型图 f i g u r e2 - 2t h em o d e lo fs o a pm e s s a g es t r u c t u r e 以下是一个标准的s o a p 消息格式: l o s o a 架构概述 其中:s o a pe n v e l o p e :w e b 服务消息的基本单元是实际的s o a p 信封。这 是包含处理消息所必需的所有信息的x m l 文档。它包含有h e a d e r 、b o d y 和 a t t a c h m e n t 三部分引。 s o a ph e a d e r :s o a p 消息中的h e a d e r 。用于提供有关消息本身的信息,即 对应于应用程序的信息。例如h e a d e r 可以包括路由信息,即有一个w s a d d r e s s i n g 元素,其中包含有关消息将送达何处以及应将应答送达何处的信息。 s o a pb o d y :发送s o a p 消息时,都是有目的性的。在尝试告诉接收者执行 某种操作,或尝试向服务器传递相关信息。此信息称为“有效负载 。有效负载位 于e n v e l o p e 的b o d y 中。 s o a pa t t a c h m e n t :附件可以用来负载一些特殊的应用程序信息,如二进制数 据或流媒体文件等,常采用二进制优化打包协议( x o p ) 来处理这些信息。样式和 编码:有两种不同的主流s o a 消息编程样式。第一种是r p c ( r e m o t ep r o c e d u r ec a l l ) 样式,基于使用s o a p 消息创建远程过程调用的概念。第二个样式称为 d o c u m e n t l i t e r a l 样式,即将相应的数据直接添加到消息中。 消息交换模式:实质而言只有两种模式。第一是请求响应,在该模式中,以 s o a p 消息的形式发送请求,然后直接等待发送回响应。请求可以为同步的,也 可以是异步的。第二是单向消息传递,这种情况也称为“f i r ea n df o r g e t 模式, 发送请求但并不等待响应。可以在仅传递信息时或并不关心接收者对此如何响应 时使用此模式。 s o a p 绑定框架定义了一个抽象框架用来使终端用户能通过下层协议交换 s o a p 封装消息。s o a 尸可以和任意网络传输协议绑定,由于几乎所有当前操作 系统都支持h t t p ,所以尽管h t t p 并非是必须的,但几乎所有的s o a p 实现方 案都支持h t t p 绑定。将s o a p 绑定在h t t p 上可以利用h t t p 丰富的特性集, 提供使用s o a p 形式方法和分布适应性的优点。将s o a p 在h t t p 上传输并不意 味着s o a p 可以完全超越h t t p 的语义,更恰当的描述应当是s o a p 的语义通过 h t t p 的映射而很自然地成为h t t p 的语义。 广东工业人学工学硕士学位论文 s o a p 很自然地利用h t t p 的请求响应消息模型,将s o a p 请求的参数放在 h t t p 请求里,而将s 以p 响应的参数放在h t t p 响应里面。无论如何,s o a p 的中间信息与h t t p 中间信息是不同的。也就是说,根据h t t pc o n n e c t i o n 头字 段来寻址的h t t p 一般并不能来处理h t t p 请求中的s o a p 实体。当需要将s o a p 消息体包含在h t t p 消息中时,h t t p 应用程序必须依照r f c 2 3 7 6 使用媒体类型 “t e x t x m 】”。 2 。4 2 服务描述机制 服务描述模型 服务可以是一种网络环境下具有自治、自描述等特征的构件,因此合理的构 件描述模型同样适用于服务。w i l lt r a c z 提出了3 c 模型,该模型从概念、内容和 上下文三方面来刻画构件。 概念:是对构件做什么的抽象描述,可以通过构件的概念了解构件的功能。 构件的概念包括构件的接口规范和语义两方面。 内容:是对概念具体实现的描述,描述构件如何完成概念所刻画的功能。 上下文:是构件和构件执行环境之间的关系。上下文刻画构件的运行环境, 为构件的选择和修改提供指导。 3 c 模型到w e b 服务技术规范的对应关系如下: 概念对应w e b 服务描述语言( 如w s d l ) 。w s d l 描述了w e b 服务的接口规范, 由接口可以了解w e b 服务的功能,包括其包含的操作以及这些操作的输入和输 出。内容对应w e b 服务组合语言( 如b p e l 4 w s ) 。通过b p e l 4 w s 可以具体描述 w e b 服务在接收到操作调用信息后的处理细节。上下文对应w e b 服务策略、协作、 安全和事务等语言。 除了基本的概念和内容,w e b 服务还需要许多上下文描述以刻画具体的执行 环境,比如通过w s p o l i c y 可以描述w e b 服务使用者的偏好,通过w s c d l 可以 描述多个w e b 服务在协作时要遵循的规则,通过w s s e c u r i t y 可以描述w e b 服务 的安全上下文,而通过w s t r a n s a c t i o n 可以描述w e b 服务的事务上下文。总之, 构件描述的3 c 模型同样也为w e b 服务描述语言提供了良好的分类模型。 w e b 服务描述语言( w s d l ) 1 2 s o a 架构概述 w s d l 是w e b 服务描述语言。w s d l 提供了一种语法,将服务描述为交换消 息的端点集。w s d l 文档的作用是用与平台无关的x m l 语言来描述一个或多个 服务。它描述了服务、访问服务的方式以及需要返回的响应的类型,即类型( t y p e ) 、 消,皂, ( m e s s a g e ) 、端口类型( p o r t t y p e s ) 、绑定( b i n d i n g ) 和服务( s e r v i c e ) 等信息。可以 用w s d l 来把w e b 服务描述成一组运行在消息上的端点,可以私下交换w s d l 文档,也可以将其发布到u d d i 注册中心( 公共的或者私有的) ,以允许更广泛的 访问。w s d l 提供了一个中立的、标准化的定义接口的格式。 在w s d l 中,消息描述了客户端和服务之间的通信( 通过交换的数据类型来 描述) 。操作包括输入和输出消息。p o r t t y p e s 包括一组操作。而且,p o r t t y p e s 被 约束在某些协议上( 这称为绑定b i n d i n g ) 。w s d l 支持绑定到s o a p l 1 、h t t p , g e t p o s t 或m i m e 协议。然而,w s d l 是可扩展的,并且可以与其他类型的网 络协议和消息格式一起进行使用。w s d l 文档的根成员是一个声明( d i f i n i t i o n s ) 元 素,它定义服务的名称,声明文档其它部分要用的名称空间,并且包含所有服务 元素。t y p e s 是一个使用特定类型规则定义的数据类型容器,描述了在消息定义中 需要的所有数据类型。m e s s a g e ( 包含零或多个p a r t 元素,p a r t 能够提交消息参数 和消息返回值) 是通信消息的数据结构的抽象类型化定义,用来描述一个单向的请 求或响应消息。p o r t t y p e ( 包含o p e r a t i o n 元素,o p e r a t i o n 是对消息的操作的抽象定 义) 是对于某个访问入口点类型所支持的操作的抽象集合,具体定义了一种服务访 问入口的类型,即输入输出消息的模式及其格式。b i n d i n g 是针对端口类型的协

温馨提示

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

评论

0/150

提交评论