(计算机软件与理论专业论文)soa软件架构及其在分布式web系统中的应用研究.pdf_第1页
(计算机软件与理论专业论文)soa软件架构及其在分布式web系统中的应用研究.pdf_第2页
(计算机软件与理论专业论文)soa软件架构及其在分布式web系统中的应用研究.pdf_第3页
(计算机软件与理论专业论文)soa软件架构及其在分布式web系统中的应用研究.pdf_第4页
(计算机软件与理论专业论文)soa软件架构及其在分布式web系统中的应用研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机软件与理论专业论文)soa软件架构及其在分布式web系统中的应用研究.pdf.pdf 免费下载

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

文档简介

哈尔滨下程大学硕十学位论文 摘要 在分布式应用领域,传统的分布式应用体系结构大都从自身需求出发, 使用各种不同的技术构成相互独立的紧耦合的封闭式系统,它们相互之间缺 乏兼容性、有效的互操作性以及重用性,这就使系统难于扩展,从而限制了 其迸一步的发展和应用。 随着软件技术的发展,尤其是w e b 服务的出现,面向服务的新的软件系 统开发方法被提出并得到迅速发展。通过采用面向服务架构的设计思路,可 以最大程度地减少系统间的耦合,提高可重用性。因此能够较好的整合遗留 系统,提高了系统的灵活性和可扩展性。它将使创建、开发、部署应用系统 的方式发生改变,是解决企业当前错综复杂的i t 环境和解决方案等问题的良 药。 但是目前对w e b 服务的研究在基于w e bs e r v i c e s 的面向服务架构的设计 方法方面还缺乏关注。论文从s o a 架构和及其实现技术一w 曲s e r v i c e s 理论 知识入手,研究了面向服务的软件开发的体系结构、原理和方法。在这些基 本理论的指导下,结合经典的面向对象开发方法和传统分布式系统结构,提 出基于传统分布式体系结构分层思想的面向服务的软件开发的体系结构,并 基于流行的分布式计算平台开发设计其系统架构模型,阐述与系统模型相关 的层次的划分、层次功能、及设计方法。 最后本文结合一个具体的学生信息管理系统,在实践的基础上实现s o a 的w e b 应用系统模型。深入的讨论了系统的需求分析、设计和实现。 关键词:w e b 服务;面向服务的架构;分布式体系结构; f i f ! 尔滨下程人学硕十学位论文 ;i i - - iiiiiiii a b s t r a c t i nt h ef i e l do fd i s t r i b u t e da p p l i c a t i o n ,m o s tt r a d i t i o n a la r c h i t e c t u r e sf o r ma c l o s e ds y s t e mb yu s i n gav a r i e t yo ft e c h n o l o g i e sw h i c ha r et i g h t l yc o u p l e da n d i n d e p e n d e n to f e a c ho t h e r i ti sl a c k i n go fc o m p a t i b i l i t y , e f f e c t i v ei n t e r o p e r a b i l i t y a n dr e u s a b i l i t yw h i c hm a k ei td i f f i c u l tt oe x p a n da n dl i m i ti t sf u r t h e rd e v e l o p m e n t a n da p p l i c a t i o n a st h ed e v e l o p m e n to ft h es o f t w a r et e c h n o l o g ya n dt h ea p p e a r a n c eo ft h e w e bs e r v i c e s ,t h en e wm e t h o dt od e v e l o pt h es o f t w a r es y s t e mw a sp u tf o r w a r dt o t h en e wm e t h o di sc a l l e ds e r v i c e o r i e n t e d t h r o u g ht h em e a n so ft h ed e s i g n s c h e m ea d o p t i n gt h es o af r a m e w o r k ,t h ec o u p l i n ga m o n gs y s t e m sc a nb e r e d u c e dt ot h em a x i m u me x t e n ta n dt h es 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 l la c h i e v eab e t t e ri n t e g r a t i o nt ou p g r a d ei t s f l e x i b i l i t ya n de x p a n da b i l i t y i tw i l lc h a n g et h et r a d i t i o n a lw a y so fb u i l d i n g , d e v e l o p i n ga n dd i s p o s i n gt h ea p p l i c a t i o ns y s t e m sa n dw i l lb e c o m em o r ee f f e c t i v e s o l u t i o n s f o rt h ec o m p l i c a t e di tc i r c u m s t a n c e s b u tn o w , t h er e s e a r c h e sa b o u td e s i g nm e t h o d so nw e bs e r v i c e sb a s e do i l s o ah a ss h o w e dm a n yi n s u f f i c i e n c i e s t h i st h e s i ss t a r t e dw i mi n t r o d u c eo f t h e o r i e so ns o aa n dw e bs e r v i c e s d or e s e a r c ho nt h ea r c h i t e c t u r e ,t h ep r i n c i p l e a n dt h em e t h o do fd e s i g no ft 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 et e c h n o l o g y u n d e r t h eg u i d a n c eo ft h e s et h e o r i e s ,f o l l o w i n gt h e s ep r i n c i p l e ,t h i st h e s i ss e t u p sa n a r c h i t e c t u r eb a s e do ns o a ,w h i c hi sc o m p o s e do fc l i e n tt i e r , b a s e do nt h eo b j e c t o r i e n ta n a l y s i sd e s i g na n dt h et h o u g h to fs o f t w a r ed e l a m i n a t i n g ,e l a b o r a t i n gt h e m e t h o do fi n v i d i n gt i e r , t h ef u n c t i o no ft i e ra n dt h ed e s i g nm e t h o d ,e t c ,b a s e do i l t h ep o p u l a rd i s t r i b u t e dc o m p u t ep l a t f o r m a tl a s t ,r e a l i z i n ga ne x a m p l e ,n a m e dt h es t u d e n t 。si 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 n dd e s i g nam o d e lo fa na p p i c a t i o ns y s t e mb a s e do ns o at h r o u g h p r a c t i c i n g c o m b i n e d 谢t l lt h ea p p l i c a t i o ns y s t e me x a m p l e ,t h ea n a l y s i s ,d e s i g n a n di m p l e m e n t a t i o no ft h es y s t e ma r ea l ld e e p l yd i s c u s s e di nt h i st h e s i s 哈尔滨+ r 稃大学硕+ 学位论文 k e y w o r d s :w e bs e r v i c e 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 ;d i s t r i b u t e dc o m p u t e r a r c h i t e c t u r e ; 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由 作者本人独立完成的。有关观点、方法、数据和文献的引用已在 文中指出,并与参考文献相对应。除文中己注明引用的内容外, 本论文不包含任何其他个人或集体已经公开发表的作品成果。对 本文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 作者( 签字) :琶锰 日期:阳叩年宇月7 日 哈尔滨工程大学 学位论文授权使用声明 本人完全了解学校保护知识产权的有关规定,即研究生在校 攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨 工程大学有权保留并向国家有关部门或机构送交论文的复印件。 本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据 库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本 学位论文,可以公布论文的全部内容。同时本人保证毕业后结合 学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈 尔滨工程大学。涉密学位论文待解密后适用本声明。 本论文( 口在授予学位后即可口在授予学位1 2 个月后 口解密后) 由哈尔滨工程大学送交有关部门进行保存、汇编等。 储( 签字) 莲鑫 日期:州年每月7 日 导师( 签字) : 砷年弓月7 r余辫 日 哈尔滨工程大学硕+ 学位论文 1 1 论文研究的背景 第1 章绪论 伴随信息技术的发展,在网络时代出现了大量基于网络的应用系统。对 于企业用户而言,目前应用到的系统平台既有e r p 系统、c r m 系统,也有 进销存系统,还有人力资源系统、o a 系统等【- l 。不同种类的操作系统、应用 软件、系统软件和应用基础结构相互交织,构成了i t 企业的现状。一些现存 的应用程序被用来处理当前的业务流程,因此从头建立一个新的基础环境是 不可能的。当企业需要升级或扩展其中任意一个系统时,所要增加的不仅仅 是i t 方面的投资,还需要增强对这些系统的管理。 随着企业各个系统的逐渐增大,系统数量的增加,系统结构的复杂化, 系统之间的很多功能属于重复开发,但是信息很难实现共享,因此对于系统 的管理往往就会越来越难,最终形成了一个个信息孤岛f :l 。 而要消除这些不利于企业信息化发展的因素,一方面需要将现有的多个 应用系统进行集成和整合,建立统一的系统平台;另一方面随着应用的快速 变化,企业应该能对业务的变化做出快速的反应,利用对现有的应用程序和 应用基础结构的投资来解决新的业务需求,不断更新业务流程和模式,建设 新的应用系统,为客户、商业伙伴以及供应商阿提供新的互动渠道,并呈现 一个可以支持有机业务的构架。而s o a ( 面向服务的架构) 所提供的方法, 正是可以帮助企业建立灵动的系统平台,s o a 凭借其松耦合的特性,使得企 业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需 要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或己 有的应用作为服务,从而保护了现有的i t 基础建设投资纠。这也就是s o a 对 于企业系统平台管理的意义所在。 s o a 的理念是以i b m 为主的一批跨国软件企业首次提出的,并在国际 上掀起了s o a 的技术热潮。这种新型的架构是当前解决异构系统整合、应用 系统集成最理想的方案。s o a 可以利用现有资源,实现跨平台的整合,将子 哈尔滨下程大学硕十学位论文 系统能够实现的功能划分成粒度不同的服务,子系统之间的功能调用转换为 服务的调用,增加程序功能部件的重复利用,减少开发成本,加快新应用的 部署;降低实施风险,促进流程的不断优化。因此,s o a 成为软件技术的重 大发展方向之一。 1 2 国内外研究现状 面向服务的体系结构s o a 不是一个新鲜事物,c o r b a 和d c o m 就与 之很类似。但是,这些过去的面向服务架构是紧密耦合的,这就意味着分布 计算连接的两端都必须遵循同样a p i 约束。然而,现在的s o a 已经有所不 同了,因为它依赖于一些更新的进展,这些进展是以可扩展标记语言x m l 为基础的。g a r t n e rg r o u p 预测到2 0 0 8 年,s o a 将成为占有绝对优势的软件 工程技术,它将结束传统的整体软件体系架构长达4 0 年的统治地位。届时, 将有7 0 的商业企业在进行i t 建设时会转向s o a 。 面向服务的体系结构是基于“软件变服务”思想,提出了一种新的解决 软件重用和软件集成的方案。通过采用面向服务的体系结构,企业能够迅速 便捷的构建开放的、模块化的、可重用的软件组件【4 1 。自2 0 0 4 年初,业界推 出s o a 后,i b m 、o r a c l e 、微软等业界巨头纷纷发布自己的s o a 战略。0 5 年年底,b e a 公司、o r a c l e 、惠普等所有名牌公司都在中国发布了关于s o a 的消息。w e b 服务是实现s o a 的方式之一。用w e b 服务来实现s o a 的好处 是可以实现一个中立平台,来获得服务,而且随着越来越多的软件商支持越 来越多的w e b 服务规范,会取得更好的通用性。目前w e b 服务已经在电子 政务、金融、零售、能源、交通、电子制造、地理信息服务等行业和领域广 泛应用。 国内基于s o a 架构的w e b 服务目前集中在一些企业内部,而国内一些 有影响的行业用户正在搭建其核心业务系统,比如商业领域的流通行业和销 售行业的大集中正在起步。因此当商业企业需要更好地服务客户,更好地与 上、下游合作伙伴协同工作,并且自己内部的核心业务之间也需要协同工作 时,基于s o a 架构中间件产品就会为这类新的业务应用提供理想的底座,这 种新的应用被称作面向服务的业务应用。 2 哈尔滨下程大学硕十学位论文 1 3 主要研究内容 本文进行以下内容的学习、研究工作: 1 深入分析和研究面向服务架构( s o a ) 和现存的各种分布式应用系统 结构,利用面向服务架构特有的优势,结合目前流行的分布式w e b 应用系统, 设计和实现基于s o a 的w e b 应用系统。 2 。深入的学习s o a 的关键性技术w e bs e r v i c e s 技术,以及用n e t 实现、发布及引用w e bs e r v i c e s 的方法。 3 学习、使用u m l 这一可视化建模语言,通过实际建模方便对系统的 理解、设计、浏览、配置、维护和信息控制。 4 根据提出的基于s o a 的分布式w e b 系统模型,设计一个学生信息管 理系统,利用n e t 技术和数据库技术实现该系统。 1 4 论文的组织结构 本文主要是对以w e bs e r v i c e s 为实现技术的s o a 软件架构在分布式w e b 系统中的应用进行了研究,论文共分为五章: 第l 章:介绍了本文的课题来源及国内外研究的现状,给出了本文的主 要研究工作及方向。 第2 章:详细介绍了s o a 的概念、s o a 的协作机制、s o a 的特征及优 势。深入讨论了8 0 a 的实现技术w e bs e r v i c e s ,给出了w e bs e r v i c e s 的概念、 着重介绍了其关键技术:x m l 、s o a p 、w s d l 和u d d i 。 第3 章:分析和研究常见的三层分布式w e b 系统体系结构,在此基础上 将s o a 概念运用到分布式系统体系结构中,基于传统的分布式体系结构中的 分层思想提出一种基于s o a 架构的分布式系统体系结构。并在n e t 平台下 设计该系统的架构模型,对模型的设计给出具体的分析。 第4 章:设计一个学生信息管理系统,系统符合提出的基于s o a 的分布 式w e b 应用系统架构模型。 第5 章:利用n e t 技术和数据库技术实现该系统。 哈尔滨丁程大学硕+ 学位论文 第2 章面向服务的架构s o a 2 1 面向服务的架构( s o a ) 概述 2 1 1s o a 产生背景及解决的问题 g a r t n e rg r o u p 于1 9 9 6 年最早提出了面向服务构架( s e r v i c e o r i e n t e d a r c h i t e c t u r e ,s o a ) 【5 1 ,其最初的应用并不是为了企业系统,但是由于w e b s e r v i c e 的广泛应用,s o a 企业化应用的趋势明显加强。如何合理地把w e b 服务应用到各类企业的i t 系统和商业流程之中、并给企业带来直接的经济效 益,如何使企业i 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 ) 就是在 此背景下出现的,s o a 被誉为下一代w e b 服务的基础框架,目前已经成为 计算机信息领域的一个新的发展方向。 s o a 采用了一种能将现有系统与新系统统一起来的描述模型。s o a 凭借 一些重要特点,如松散耦合、可灵活支持业务流程重构、广泛应用标准,使 得s o a 更适用于业务系统间的互操作和整合,使得企业可以按照模块化的方 式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以 通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务,从 而保护了现有的i t 基础建设投资6 】。但s o a 并不是什么场合都适用,主要应 用场景包括:企业应用集成( e a i ) ,业务流程管理,多渠道服务,电子商 务( b 2 b ) ,电子政务( 可以实现委办局或部门间的信息共享和协同工作) 。 连接各种用于自动化企业业务流程的运营系统是最重要的s o a 应用。对于一 个单个的应用系统s o a 并不一定是一个最好的解决方案,但这些单个的应用 系统可以成为s o a 中的一个重要的服务。 2 1 2 面向服务的架构的定义 关于s o a 的概念,可以从不同的视角来理解s o a ,从程序员的角度, s o a 是一种全新的开发技术,新的组件模型,比如说w e bs e r v i c e ;从架构 4 哈尔滨工程大学硕十学位论文 设计师的角度,s o a 就是一种新的设计模式,方法学;从业务分析人员的角 度,s 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 r n 将s o a 定义为川:“本质上是服务的集合。服务 间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务 协调进行某些活动。服务问需要某些方法进行连接。所谓服务就是精确定义、 封装完善、独立于其他服务所处环境和状态的函数”。 i b m 对s o a 的定义为【8 l :面向服务的架构是一个组件模型,它将应用程 序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联 系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件 平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以 一种统一和通用的方式进行交互。 s o a 包括如下要裂9 1 : ( 1 ) 一个体系架构,用开放的标准将软件资产以服务的形式展现 ( 2 ) 提供标准的方法来表示软件资产及其交互 ( 3 ) 独立的软件资产作为构造单元,被重复使用来开发其他应用 ( 4 ) 将关注点从细节实现转移到应用组装 ( 5 ) 被内部用于基于既有的组件创建新的应用 ( 6 ) 被外部用于与企业外部应用( b 2 b ) 整合 ( 7 ) 开发( 现在) 和整合( 未来) 的统一 重点说明的是s o a 并不是一种现成的技术,而是一种架构和组织i t 基 础结构及业务功能的方法。s o a 是一种在计算环境中设计、开发、部署和管 理离散逻辑单元( 服务) 的模型。这一定义阐明了s o a 的范围。 2 1 3s o a 协作 图2 1 展示了面向服务的架构中的协作。这些协作遵循“查找、绑定和 调用 的范例。服务是可以自描述并独立注册发布的。当一个服务请求者需 要使用某个特定业务功能的服务时,可以先在服务管理者,即服务注册中心 发现符合要求的服务并可能得到一个服务列表,因为不同的提供商会提供同 哈尔滨下稃大学硕+ 学俜论文 一服务,这也是一种竞争。服务请求者可以根据需要决定使用哪一个服务,也 就是服务绑定,然后就理所当然地使用选定的服务了。 图2 1面向服务的架构中的协作 面向服务的架构中包括的角色包括0 0 1 : 服务请求者:服务请求者是一个应用程序、一个软件模块或需要一个服 务和另一个服务。它发起对注册中心的服务的查询,通过传输绑定服务,并 且执行服务功能。服务使用者根据接口契约来执行服务。 服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行 来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便 于服务使用者可以发现和访问该服务。 , 服务注册中心:服务注册中心是服务发现者的支持者。它包含一个可用 的存储库,并允许感兴趣的服务使用者查找服务提供者接口。 面向服务的架构中每个实体都扮演着服务提供者、使用者和注册中心这 三种角色的某一种或者多种。面向服务的架构中的操作包括: 发布:为了使服务可访问,需要发布服务描述以使服务使用者可以发现 和调用它。 发现:服务请求者定位服务,方法是查询服务注册中心来找到满足其标 准的服务。 绑定和调用:在检索完服务的描述之后,服务使用者继续根据服务描述 6 哈尔滨j r 程大学硕十学何论文 中的信息来调用服务。 面向服务的架构中的构件包括: 服务:可以通过已发布接口使用服务,并且允许服务使用者调用服务。 服务描述:服务描述指定服务使用者与服务提供者交互的方式。它指定 来自服务的请求和响应的格式。服务描述可以指定一组前提条件、后置条件 或者服务质量的级别。 2 。1 4 s o a 协议栈 s o a 协议栈由2 部分内容组成:功能和服务质量。图2 2 为s o a 的标准 协议栈,详细描述了s o a 的组成元素,具体说明如下1 1 1 : 图2 2s o a 的标准协议栈 图2 2 中功能部分包括以下元素: ( 1 ) 消息传输:用于将来自服务使用者的服务请求传送给服务提供者, 并且将来自服务提供者的响应传送给服务使用者。 ( 2 ) 服务通信协议:一种经过协商的机制,通过这种机制,服务提供者 和服务使用者可以就将要请求的内容和将要返回的内容进行沟通。 ( 3 ) 服务描述:一种经过协商的模式,用于描述服务是什么、应该如何 调用服务以及成功地调用服务需要什么数据。 ( 4 ) 服务:描述供使用的操作。 7 哈尔滨下程大学硕士学位论文 ( 5 ) 业务流程t 一个服务的集合,可以按照特定的顺序并使用一组特定 的规则进行调用,以满足业务要求:业务流程本身也看作是服务,这样就产生 了业务流程可以由不同粒度的服务组成的观念。 ( 6 ) 服务注册中, d - 它是服务和数据描述的存储库,服务提供者可以通 过服务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发现 或查找可用的服务,同时服务注册中心可以给需要集中式存储库的服务提供 其他的功能。 图2 2 中的服务质量包括了下列部分: ( 1 ) 策略:表示了一组可以使服务使用者得到服务提供者所提供服务的 规则。服务提供者可以使服务可用于使用者。策略既有功能性方面,也有与 服务质量有关的方面,因此,在功能和服务质量两个部分中都有策略功能。 ( 2 ) 安全t 用于调用服务的服务使用者的身份验证、授权和访问控制。 ( 3 ) 事务:应用于一组服务,以提供一致的结果。也就是说,如果要使 用一组服务来完成一项业务功能,则所有的服务必须都完成,或者没有一个 完成。 ( 4 ) 管理:用于管理提供的服务或使用的服务。 2 2s o a 的特点和优势 2 2 1s o a 的特点 s o a 是一种粗粒度、松散耦合的服务架构,其服务之间通过简单、精确 定义接口进行通讯,不涉及底层编程接口和通讯模型。它具有下面几个特征: ( 1 ) 可从企业外部访问 通常被称为业务伙伴的外部用户也能像企业内部用户一样去访问相同的 服务。业务伙伴采用先进的b 2 b 协议( 如x m l ) 相互合作。除了b 2 b 协议 外,外部用户还可以访问以w e b 服务方式提供的企业服务。 ( 2 ) 随时可用 当有服务使用者请求服务时,s o a 要求必须有服务提供者能够响应。大 多数s o a 都能够为f - j p 应用之类的同步应用和b 2 b 之类的异步应用提供服 务。 8 哈尔滨t 挥人学硕十学位论文 ( 3 ) 松散耦合【1 2 1 传统的软件系统是一种“紧耦合结构 ,s o a 则是松散耦合的。松散耦 合在客户和提供者之间没有静态的、编译时刻的依赖关系。服务提供者使用 标准定义语言定义和公布它的服务接口,接口定义服务消费者和服务提供者 之间的调用契约。只要服务接口保持一致,改动调整应用程序的内部功能或 结构将对其它部分没有影响。 ( 4 ) 粗粒度服务i - ,】 细粒度的接口能为服务请求者提供了更加细化和更多的灵活性,但同时 也意味着引入较难控制的交互模式易变性,如果我们提供这些易于变化的服 务接口给系统的外部用户,就可能造成外部服务请求者难于支持不断变化的 服务提供者所暴露的细粒度服务接口。细粒度服务一般是为粗粒度服务所使 用,粗粒度服务可以灵活组合稳定性强、重用性高的细粒度服务,而快速形 成新的业务逻辑。而粗粒度服务接口保证了服务请求者将以致的方式使用 系统中所暴露出的服务。 ( 5 ) 互操作性 在s o a 中,通过服务之间既定的通信协议进行互操作。主要有同步和异 步两种通信机制。s o a 提供服务的互操作特性更利于其在多个场合被重用。 ( 6 ) 位置透明 服务的位置对用户透明,用户完全不必知道响应自己需求的服务的位置, 甚至不必知道具体是哪一个服务参与了响应。当一个地方停电或者服务中断 时,可以通过将服务请求转发到一个完全不同的地点运行的该服务的其他实 例中去,从而使用户免受影响。 ( 7 ) 标准化的接口 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 ) 进行调 用。 9 哈尔滨下程入学硕十学位论文 2 2 2s o a 的优势 面向服务体系架构以其高度的抽象性和灵活性,无论是从软件开发企业 的开发技术角度还是从企业原有资源的整合角度,都有着诸多的优势。 1 从技术开发角度讲,面向服务的体系架构提供了一个更加灵活的企业 开发架构模式,使得企业无论是开发方法、实现技术还是开发的效率都得到 了革命性的变革。具体的讲,服务架构从技术上有如下一些优点,: ( 1 ) 编码灵活性 可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实现 重用,这些都体现了编码的灵活性。 ( 2 ) 屏蔽了业务逻辑组件的复杂性 服务架构通过服务提供者和服务使用者的松散耦合关系,屏蔽了系统内 部复杂的业务逻辑。对于系统的表示层而言,只能看到服务接口,至于接口 内部的具体实现细节不需要关心。 ( 3 ) 跨平台和重用性 通过标准接口,不同服务之间可以自由的引用,而不必考虑所要引用的 服务在什么地方,处于什么平台,或者是由什么语言开发的。从而实现了真 正意义上的远程、跨平台和跨语言。服务架构的核心思想是通过松散耦合的 服务组合来完成系统,因此提供了更高层次的重用性。 ( 4 ) 易维护和良好的伸缩性 服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了系 统的易维护依靠服务设计、开发和部署所采用的架构模型实现了伸缩性。服 务提供者可以独立调整服务以满足新的需求,服务使用者则可以通过组合变 化的服务来实现新的需求。 ( 5 ) 开发角色更加明确 服务架构要求应用程序分层,业务流程组织人员只专注于高层的服务组 织来实现业务,服务组件开发人员只负责业务组件的实现,而客户端开发人 员则只根据自己熟悉的平台去开发自己的界面。在项目中,不同层的开发小 组的专业分工,提高了开发的效率,使得流水线生产成为可能。 2 从资源的整合角度讲,面向服务的架构可以基于现有的系统投资来发 l o 哈尔滨t 程大学硕十学何论文 展,而不需要彻底重新创建系统。将获得如下几方面好处【- s 1 : ( 1 ) 便于集成现有系统 s o a 提供了一个抽象层,通过这个抽象层,企业可以继续利用它在i t 方面的投资,方法是将这些现有的资产包装成提供业务功能的服务。企业可 以继续从现有的资源中获取价值,而不必重新开始构建。遗留系统可以通过 w e b 服务接口来封装和访问。一旦遗留应用程序的功能被外部化为服务,对 其进行修改、替换或重新开发都变得更加容易。 ( 2 ) 重新利用业务服务,满足新需要 将原有系统中的各个业务功能封装成服务,并根据业务的需求进行重新 组合,包括开发员工,技术,软件,硬件,语言,平台,数据库和系统,最 终复合成新的业务系统,从而快速满足新的业务需求,提高业务和服务的创 新能力。 ( 3 ) 减少开发成本,提高了开发人员的工作效率 组织的w e b 服务库将成为用s o a 框架的组织的核心资产。使用这些 w e b 服务库来构建和部署服务将显著地加快产品的上市速度,因为对现有服 务和组件的新的创造性重用缩短了设计、开发、测试和部署的时间。 2 3s o a 实现技术w e bs e r v i c e s w e bs e r v i c e s 是有w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ,万维网联盟) 制 定的一套开放的标准的技术规范。目前对于w e bs e r v i c e s 并没有一个严格的 定义,一般认为,它是一种新型的应用程序,向外界提供一个能够通过w e b 方式进行调用的a p i 。具有自包含、自描述以及模块化的特点,可以通过w e b 发布、查找和调用。w e bs e r v i c e s 实现的功能可以是响应客户一个简单的请 求,也可以是完成一个复杂的业务流程。一个w e bs e r v i c e s 配置好以后,其 它应用程序和w e bs e r v i c e s 就可以直接发现和调用该服务。 2 3 1w e bs e r v i c e s 的基石_ x m , x v l 0 6 1 ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展的标记语言) 己经成为描 述“异构系统信息交换 事实上的一个标准解决方案。1 9 9 8 年2 月w 3 c 发 布了x m l 的标准,目前己经成为全球范围内用来描述数据和交换数据的一 1 1 哈尔滨丁程大学硕十学传论文 种默认标准。它也是奠定了w e bs e r v i c e s 迅速发展的核心基础技术之一,其 最大的优点在于数据存储格式不受显示格式的制约。它允许各个组织、个人 建立适合他们自己需要的标记集合唧。另外,x m l 的自我描述性质也使得许 多复杂的数据关系得到良好的表现,非常有利于不同系统之间的信息交流, 完全可以作为网际交流语言,并有希望成为数据和文档交换的标准机制。 x m l 是实现w e bs e r v i c e s 最根本和最重要的技术,从本质上来讲,x m l 具有以下几个特点: ( 1 ) 可扩展:x m l 的概念很简单,但却有广阔的应用领域,因为任何 人都可以按照自己应用的需要定义相应的x m l 标签来表达信息的结构和类 型。 ( 2 ) 自描述性:x m l 允许自定义标签,并且这些标签可以说明数据的 语义,而不是h t m l 中的格式说明。 ( 3 ) 独立于平台和应用:x m l 的文档内容是基于u n i c o d e 的文本,适 合于网络的传输。 ( 4 ) x m l 易于设计:x m l 文档容易编写,设计正式且简洁,可读性强。 ( 5 ) 更精确的搜索:x m l 标签表达的是内容的含义,从而搜索引擎可 以通过搜索x m l 文档得到更精确的需要的内容。 ( 6 ) 广泛的支持:x m l 得到了众多的软件厂商的支持。比如:m i c r o s o f t 、 i b m 、s u n 、o r a c l e 等几乎所有大公司的支持。 2 3 2w r e bs e r v i c e s 的消息传输方式s o a p s o a p t s j ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 是一个基 于x m l 的,在分布式环境下交换信息的、简单的、轻量级的通信协议。它 定义了一种通过网络传送x m l 信息的格式,为在一个松散的分布式环境中 使用x m l ,对等地交换结构化和类型化的信息,提供了一个简单且轻量级的 机制。由于s o a p 消息的格式是完全基于x m l 标准的,所以它可以用来在 不同的计算机体系结构、不同的技术平台、不同的语言环境和不同的操作系 统之间进行通信,w e bs e r v i c e s 就是采用s o a p 作为标准通信协议【1 9 】。 s o a p 包括三个部分:封装结构、编码规则和r p c 机制。封装结构定义 了一个整体框架,描述消息内容、内容的属性以及谁负责处理。编码规则定 1 2 哈尔滨1 :程大学硕+ 学位论文 义了交换应用程序数据的一系列机制,它支持x m ls c h e m a 中全部的简单数 据类型、以及结构和数组 2 0 l 。r p c 机制定义了远程过程调用和应答的协定, 通过s o a p 绑定,可以将s o a p 封装在h t t p ,i p ,s m t p 等协议上进行传 送。s o a p 能直接连接发送器和接收器,或者在使用了消息中间件时,s o a p 消息能被存储起来,以便于下一次传送,也可以传送给多个接收器。一个 s o a p 消息可能包含其他文件或者另一个s o a p 消息。 2 3 3w e bs e r v i c e s 的描述方式- w s d l w s d u 2 1 】( w e bs e r v i c e sd e s e d p t i o nl a n g u a g e ,w e b 服务描述语言) 由 m i c r o s o f t 、i b m 、a r i b a 三家公司在2 0 0 0 年9 月推出。 w s d l 是一种x m la p p l i c a t i o n ,它将w e bs e r v i c e s 描述定义为一组服务 访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调 用的服务过程访问。w s d l 首先对访问的操作和访问时使用的请求响应消息 进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具 体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的 w e bs e r v i c e s 。在具体使用中,可以对w s d l 通过扩展使用其他的类型定义 语言,这样无论通信时使用何种消息格式或网络协议,都可以对服务访问点 及其使用的消息格式进行描述 2 2 1 。在w s d l 的框架中,可以使用任意的消息 格式和网络协议,在w s d l 规范中,定义了如何使用s o a p 消息格式、h t t p g e t p o s t 消息格式来完成w e bs e r v i c e s 交互的规范。w s d l 服务定义为分 布式系统提供了可机器识别的s d k 文档,并且可用于描述自动执行应用程序 通信中所涉及的细节。 2 3 4w e bs e r v i c e s 的发布、发现方式叫d d i u d d i t 2 3 l ( u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n di n t e g a t i o n ,通用描述、发现 和集成规范) 是由m i c r o s o f t 、i b m 、a r i b a 三家公司在2 0 0 0 年7 月提出的。 u d d i 是在x m l 和s o a p 的基础之上定义了新的一层,在这一层,不同 企业可以用相同的方法询问对方的服务、描述自己的服务。u d d i 本质上是 为解决当前在开发基于组件化w e bs e r v i c e 中所使用的技术方法无法解决的 一些问题,具有特别的技术简单性,为w e bs e r v i c e s 在技术层次上提供了三 哈尔滨下程大学硕十学位论文 个重要支持川: ( 1 ) 标准化的、透明的、专门描述w e b 服务的机制 ( 2 ) 调用w e b 服务的简单机制 ( 3 ) 可访问的w e b 服务注册中心 按照u d d i 规范架构的u d d i 注册中心将作为在i n t e m e t 空间中的商务 信息集散地,为商业信息注册提供了诸如黄页、白页、绿页三个层次的服务 注册。 ( 1 ) 白页:包括了地址、联系方法和已知的企业标识 ( 2 ) 黄页:包括了基本标准分类法的行业类别 ( 3 ) 绿页:包括了关于该企业所提供的w e bs e r v i c e s 的技术信息 u d d i 标准包括了对w e b 应用服务的接口的定义,使得能通过编程实现 对u d d i 注册中心的信息访问。u d d ia p i 是基于s o a p 标准定义的,是同 步的所有的u d d i 注册中心都支持这些a p i 调用。在逻辑上分为两类,一类 是查询a p i ,一类是发布a p i 。查询a p l 分为两部分,一部分用于搜索和浏 览u d d i 登一记表中的信息,另一部分在w e b 应用服务出现错误时使用。程 序员可以利用发布a p i 创建各种类型的工具,以进行与u d d i 注册中心的交 互,使得技术人员可以维护发布b u s i n e s s 实体。 2 4 本章小结 本章介绍了面向服务的架构s o a ,首先介绍了s o a 产生的背景和适 合应用的领域。从s o a 的一些基本定义入手,介绍了s o a 的协作机制和协 议栈。论述了s o a 的特点和优势,并着重介绍了s o a 的实现技术w e b s e r v i c e s ,包括它的原理、关键技术和协议等。 1 4 哈尔滨t 稃大学硕+ 学位论文 i i i i i i i 宣i i i i i i 宣i i i i i i i i |i l 1 第3 章基于s o a 的分布式w e b 应用系统研究 3 1 分布式w e b 系统 分布式w e b 应用系统i z s l z 6 是指在计算机网络( i n t e m e t i n t r a n e t ) 环境下, 由浏览器和w e b 服务器构成,以标准化的网络浏览器代替传统的客户机作为 客户端,开发出的一种分布式的计算机应用系统,是随着i n t e r n e t i n t r a n e t 的 发展,而快速发展的一种计算机应用系统鲫,是很多传统意义上的 c l i e n t s e r v e r ( 客户服务器) 计算机应用系统的进一步扩展,并将逐步取代 传统的c l i e n t s e r v e r ( 客户服务器) 模式计算机应用系统。无论政府部门、 相关机构的内部计算机应用系统,还是通过互联网提供服务的应用系统,基 于w e b 的分布式应用系统都发挥着越来越重要的作用,已经成为计算机应用 系统的主流模型。使用基于w e b 的分布式应用系统,用户只要有标准的 b r o w s e r ( 浏览器) 软件,即可访问和使用计算机应用系统,而且用户的计算 机系统可以不受硬件平台的限制【:s 1 。 w e b 应用开始是以静态发布方式将所需发布的信息都制作成h t m l 文 件1 2 9 1 ,存放在w e b 服务器上,客户通过浏览器向服务器请求所需的文件,服 务器在收到请求后,将h t m l 文件传送到客户端浏览器进行解释。这种方式 的特点是需要预先制作静态的h t m l 文件,客户直接请求这些文件。接着是 以

温馨提示

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

评论

0/150

提交评论