(计算机应用技术专业论文)基于soa的web应用和动态服务组合技术的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于soa的web应用和动态服务组合技术的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于soa的web应用和动态服务组合技术的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于soa的web应用和动态服务组合技术的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于soa的web应用和动态服务组合技术的研究与实现.pdf_第5页
已阅读5页,还剩85页未读, 继续免费阅读

(计算机应用技术专业论文)基于soa的web应用和动态服务组合技术的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 基于s o a 的w e b 应用和动态服务组合技术的研究与实现 摘要 随着技术的飞速进步和业务需求的与日俱增,存在于每个企业中的信息系统也在不 断更新和增加,由于每个系统开发的年代不同、开发采用的工具、语言不同、系统运行 的平台不同,这造成了系统之间不能很好的通信,使得一项业务逻辑想通过几个系统关 联起来使用都变得困难,例如给企业内某客户发送短消息至少就要涉及到c r m ( 客户 关系管理) 系统和短信系统。不仅如此,这些系统内部架构的复杂程度、可重复利用的 程度以及对新系统的可兼容程度也成为了人们不得不面临的巨大问题。 面向服务构架( s o a ) 为解决这一问题提供了新的思路,为传统的企业应用整合 ( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 带来了一场革命,它是一种面向功能层的企业系统 集成方式。该方式不仅能保证原有系统的数据安全性和逻辑安全性,而且还能实现各系 统之间的松耦合,方便系统流程的重组和优化。 本文从s o a 的核心概念_ 服务”出发,详细论述了面向服务的概念和w e b 服务 在应用整合过程中所起的作用。在将传统的j 2 e e 构架与s o a 进行对比分析之后,就一 个具体的项目,提出了一个完整、灵活的整合方案,该方案可以顺利有效地处理例如新 老系统的整合、跨平台跨系统通讯、改进服务注册、动态服务组合等一系列问题。 本文将基于s o a 的整合方案应用到s a n y 科技的一个w e b 系统中,从服务的角 度去看待系统功能并且构建和实现应用,更好地实现了服务、提供服务、组织并组合服 务以整合应用,结合了与事件驱动结合的企业服务总线、服务注册、服务关系网络、动 态服务组合、服务流程的事务处理等相关技术,使服务的管理、部署、调用更加方便灵 活。在服务组合方面,本文从服务关系网络的角度进行了建模,并通过笔者自己提出的 算法,对服务的动态组合方法进行了实现,同时通过引入了服务代理和服务质量这两个 概念,实现了服务流程的动态执行:在服务流程的事务处理方面,本文采取补偿的方式 对服务流程进行事务处理,给出了补偿服务的具体实现,并在补偿服务中实现了对服务 质量的测定。 关键词:s o a ,w e b 服务,动态服务组合,事务,补偿服务 a b s t r a c t a sr a p i dd e v e l o p m e n to ft e c h n o l o g ya n di n c r e a s i n gr e q u i r e m e n to fb u s i n e s s ,t h en u m b e r f oi n f o r m a t i o ns y s t e m si ne v e r ye n t e r p r i s ei s c o n t i n u o u s l yi n c r e a s i n g i ts e e m st h a tt h e r ei s c o m m u n i c a t i o n p r o b l e m b e t w e e nt h e s e s y s t e m s ,b e c a u s eo fd i f f e r e n c e sb e t w e e n d e v e l o p m e n ta g e s ,d e v e l o p m e n tt o o l s ,l a n g u a g e sa n dp l a t f o r mo nw h i c hs y s t e mi sr u n n i n g , a n d i tm a k e su s i n gab u s i n e s so p e r a t i o nc o r r e l a t e dw i t hs e v e r a ls y s t e m sh a r d f o re x a m p l e , s e n d i n g as h o r tm e s s a g et oac e r t a i nc l i e n tr e l a t e st oc r m s y s t e ma n ds h o r tm e s s a g es y s t e m ,s m o r e ,c o m p l i c a t e da r c h i t e c t u r e ,d e g r e eo fr e u s a b i l i t ya n dc o m p a t i b i l i t y b r i n gp e o p l eh u g e p r o b l e m sw h i c ht h e yc a n n o ta v o i d 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 ) p r o v i d ean e ww a yt os o l v et h e s ep r o b l e m s , a n di ti s a r er e v o l u t i o nf o rt r a d i t i o n a l e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n ( e a i ) i t i s a i s oa f u n c t i o n 。o r i e n t e dw a yo fe a i t h i sw a yc a r ln o to n l ye n s u r et h e o r i g i n a ld a t as e c u r i t ya n d l o g i cs e c u r i t yo fs y s t e m ,b u ta l s or e a l i z el o o s e l yc o u p l e ds y s t e ma n di ti sc o n v i n i e n tf o r r e o r g n i s a t i o na n do p t i m i z a t i o no fs y s t e mp r o c e s s t h i sp a p e r ,s t a r t e df r o mt h ec o r ec o n c e p t i o no fs q a s e r v i c e ,d e s c r i b e st h ed e t a i l so n c o n c e p t i o no fs 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 n df u n c t i o no fw e bs e r v i c ei n p r o c e s so f i n t e g r a t i o n w i t h t h ea n a l y s ea n d c o m p a r eo fd i f f e r e n c e sb e t w e e nt r a d i t i o 砌j 2 e e a r c h i t e c t u r ea n ds o a ,t h ew r i t e rf i n dac o m p l e t ea n df l e x i b l es o l u t i o nt oas e r i e so f p r o b l e m s s u c ha s i n t e g r a t i o nb e t w e e nn e wa n do l d s y s t e m s ,c r o s s p l a t f o r mi n t e r - s y s t e m c o m m u n i c a t i o n s ,d e v e l o p e ds e r v i c er e g i s t r a t i o n , d y n a m i cs e r v i c ec o m p o s i t i o na n ds oo n p r o p e r t i e so fi n t e g r a t i o nm e t h o db a s e ds o a a r ea n a l i z e di nt h i sp a p e ra n ds o l u t i o nw h i c hi s i m p l e m e n t e d i n t h e r e m o t e s u p e r v i s o r yc o n t r o lp l a t f o r mo f s h a n g h a is a n y s c i e n c e & t e c h n o l o g yc o m p a n yc o n t e n t sm a n yt e c h n o l o g ys u c ha se s b ,d e v e l o p e ds e r v i c e r e g i s t e r a t i o n ,s e r v i c en e t w o r k ,d y n a m i c s e r v i c e c o m p o s i t i o n p a r t i c u l a r l y ,i n t h e a s p e c t o f d y n a m i cs e r v i c ec o m p o s i t i o na n dd y n a m i ce x e c u t i o no fb u s i n e s sp r o c e s s ,t h ew r i t e rg i v e sh i s a l g o r i t h ma n dr e a l i z a t i o n i nt h ea s p e c to ft r a n s a c t i o np r o c e s s i n go fb u s i n e s sp r o c e s s , t h e 州t e rr e a l i s e st h ec o m p e n s a t i o ns e r v i c ea n dm e t h o do fq o sd e t e c t i o ni nt h ec o m p e n s a t i o n s e r v i c e k e yw o r d :s o a ,w e bs e r v i c e ,d y n a m i cs e r v i c ec o m p o s i t i o n , t r a n s a c t i o n ,c o m p e n s a t i o ns e r v i c e 声明尸明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名: 专凌 谚年“月哆日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的部分或全部内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的部分或全部内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名: 专楚 9 8 年形夥日 硕士论文基于s o a 的w e b 应用和动态疆务组合技术的研究与实现 1 绪论 在早期的业务计算中,人们对于在不同机器间共享应用逻辑和应用数据并没有加以 足够的重视。当时的人们把目光集中于如何开发系统,让原来由人完成的操作实现自动 化,比如会计、贝夸、工资单以及订单管理等。解决这些问题中的任何一项都是很有挑 战性的,而令所勺系统都基于一个公共的、可重用的构架更是一个重大的挑战。 近年来,大多数业务运营功能都已经实现了自动化,现在更重要的问题是如何改善这 些系统以满足新的需求。随着软件开发方法研究的发展和分布式技术应用的深入,基于 多种开发平台和工具的商业系统得到大量应用,使得企业中的软件系统变得日益庞大和 复杂。由于传统的软件开发使用的平台、开发工具、操作系统在结构上的紧耦合,以致 这些位置上分散的独立系统难以整合加以利用。不仅如此,大量出现的w e b 服务已经随 着互联网的开发,快速发展为一个集成信息资源的分布式的计算环境。随着用户需求的 不断增加以及越来越复杂,单独的w e b j 艮务已经很难满足用户的需求,而应用程序也应 当能适应不同用户的不同需求。 基于以上诸种原因,利用一种面向服务的构架来开发系统和部署服务是利用i t 系统 来满足新需求的最好方式。尽管面向服务( s e r v i c e o r i e n t e d ) 的开发方法不是什么新的 概念,但它正随着i t 界从开发新系统到充分利用现有系统的转变中风行起来。服务 ( s e r v i c e ) 与对象( o b j e c t ) 或者过程( p r o c e d u r e ) 不同,因为服务是由它与其他服务交 换的消息来定义的,服务与应用之间是松耦合的,这令服务可以更容易地在整个部门、 企业或者i n t e m e t 范围内共享数据。面向服务构架( s o a ) 定义了部署和管理服务的方式。 采用面向服务的构架可以提高可重用性,降低总成本,提高快速修改与演化i t 系统的能 力。同时,各种w e b 服务技术为转向面向服务的开发和s o a 提供了支持。这些w e b 服务 技术是到目前为止最为广泛采纳的一组分布式计算标准。所以,正如所看到的,w e b 服 务是构建s o a 的理想平台。 所以,现在解决应用集成( a p p l i c a t i o ni n t e g r a t i o n ) 的方法是采用一种与w e b 服务技 术相结合的s o a 。与过去的标准相比,w e b 服务标准更容易理解和使用。有w e b 服务标 准被广泛采纳容易设想这样一种局面:所有应用都具有服务接口( s e r v i c ei n t e r f a c e ) , 由此可以想象,i t 人员将通过w e b 艮务接口来执行大多数活动,不过,要令传统技术支 持服务,人们必须设法处理大量现存的传统技术。服务与s o a 的优点就此体现出来了: 所开发的服务,不但可以实现互操作性,而且可以隐藏背后执行环境的细节,尤其是对 于w e b 艮务,这意味着可以在任何开发平台、中间件、操作系统或者硬件类型上使用x m l 的数据。也就是说,s o a 采用了一种能将现有系统与新系统统一起来的描述模型,可以 容易且直接地映射到业务运营流程,为技术与业务人员的分离提供了更好的支持。 1 绪论 硕士论文 动态服务组合是按需利用已有w e b 服务组合成新服务的技术,它更好地体现和发挥 7 s o a 的特性,同时提高了各项已有服务的利用率,通过服务共享的方式节约了开发成 本和企业资源,它可以迅速的构建起新的增值w e b ) j 艮务或w e b 应用系统,更好地满足用 户的需求。w e b j 艮务组合被认为是集成分布的、异构的、自治的应用的一个有效的解决 方案。 1 1 研究现状 本文主要研究的技术包括w e b j 报务、s o a 、动态服务组合技术和服务流程的事务处 理,所以本小节的主要内容就是对这几种技术的研究历史和现状分别加以介绍。 1 1 1w e b 服务研究简史和现状 w 3 c 在2 0 0 0 年接受了一项关于简单对象访问协议( s o a p ) 规范的提案,这个规范 本来是为统一专有r p c 通信而设计的。该想法是将在组件之间传输的参数数据序列化成 x m l 传送,然后再序列化成其原生格式。很快,各个公司和软件厂商注意到,构建在免 费互联网通信框架上的电子商务技术日期强大的进步潜力。这最后导致了需要创建一个 纯粹的、基于w e b 的分布式技术,该技术可以充分利用概念标准化的通信框架来桥接组 织之间和组织内部所存在的巨大差异。这个概念被称为w e b j g 务。 w e b j 艮务需要互联网友好的,x m l 兼容的通信格式,以便能建立标准化消息框架, 从而进一步实现开放的互操作性。尽管有别的选择,比如可以考虑x m l r p c ,但最终选 定s o a p 是因为工业界的广泛使用,并保留了最初的消息标准以便用于w e b j 艮务。 为了支持s o a p 的新角色,w 3 c 随之发布了更新的规范,同时考虑了l 冲c 风格的与 文档风格的消息类型。而文档风格在s o a q b 更为常用。最终,“s o a p ”一词不再代表“简 单对象访问协议”的首字母缩写,而成了一个独立术语。 完成第一代w e b j 艮务标准系列的是u d d i 规范,它最初f h u d d i o r g 开发,后来被递 交至t j o a s l s 继续与u d d i o r g 一起合作开发。该规范考虑在组织内部和组织边界之外创建 标准化服务描述的注册。u d d i 提供了对w e b j 艮务在集中位置注册的潜能,使服务请求 者可以在这个集中位置发现服务。与w s d l 和s o a p 不同,u d d i 尚未被工业界普遍接受, 而是保留了一个可选的s o a 扩展。 1 1 2w e b 服务组合研究简史和现状 随着s o a 的发展,w e b 艮务组合在s o a 中的应用也越来越多,人们在对服务的概念 广泛认可之后,转向了对服务之间关系的深入研究,希望能够通过服务的编排和组合, 将一些细粒度服务组合成粗粒度的新业务,建立可以静态或动态规划的业务流程,来减 轻客户端编码负担,同时提高服务资源利用率以及在一定程度上减少开发成本。 现阶段,w e b j 艮务组合( 合成) 有两种方式:w e b j 报务编制( w e bs e r v i c e s 硕士论文 基于s o a 的w e b 应用和动态罨务组合技术的研究与实现 o r c h e s t r a t i o n ,w s o ) 和w e b 服务编排( w e bs e r v i c e sc h o r e o g r a h p y ,w s c ) 。它们两者 之间有共同之处也有区别。w s o 指为业务流程( b u s i n e s sp r o c e s s e s ) 而进行的w e b 服务 组合,它用于定义组合服务以及重用已有服务的内部流程。而w s c 指为业务协作而进行 的w e b 服务组合,具体地说,它用于定义多方如何在一个更大的业务事务中,通过与交 易伙伴以及外部机构( 比如供应商和客户) 交换信息,进行对等的协作。 随着研究的深入,不断出现了许多的w e b 服务组合技术,目前有两种用于w e b 务 组合的语言: 1 业务流程执行语言( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e ,w s - b p e l ) 由 b e a ,i b m ,m i c r o s o f t 和s i e b e l 锘l j 订,而后被提交给 o a s i sw s b p e l 技术委员会 ( w s b p e lt e c h n i c a lc o m m i t t e e ) 。 2 w e b 服务编排语言( w e bs e r v i c e sc h o r e o g r a h p yd e c r i p t i o nl a n g u a g e ,w s c d l ) 由w 3 cw e b 服务编排工作组( w e bs e r v i c e sc h o r e o g r a h p yw o r k i n gg m u p ) 制订的, 该规范是基于一个由i n t a l i o 、s u n 、b e a 以及s a p 等制订的规范制订的。 以上两种语言的目标都是:以一种面向流程的方式把多个w e b 服务组合起来。 除了以上面向流程的方式以外,现在越来越多的人也把目光投向了基于语义w e b 的 服务组合技术上【2 9 1 。 1 1 3w e b 服务中的事务处理简史和现状 ;进入本世纪后,w e b j 艮务成为人们的研究热点,因而,w e b 服务中的事务处理也相 应得到研究人员的关注。2 0 0 1 年,一个由各大公司包括惠普( h e w l e t t p a c k a r d ,l i p ) 、o r a c l e 及b e a 等公司组成的联盟开始着手创建o r g a n i z a t i o nf o ra d v a n c es t r u c t u r e di n f o r m a t i o n s y s t e m ( o a s i s ) b u s i n e s st r a n s a c t i o np r o t o c o l ( b t p ) 标准,它主要针对松散耦合领域中的企 业到企业的事务处理,比如w e b 服务,制定标准。至u 2 0 0 2 年4 月,它已经制订了一个委 员会认可的规范。同时,其他一些行业大公司,包括i b m 、m i c r o s o f t 和b e a ,又发布了 它们自己的规范:w e b 服务协调( w e bs e r v i c e sc o o r d i n a t i o n ,w s c ) 及w e b 服务事务处理 ( w e bs e r v i c e st r a n s a c t i o n ,w s t ) 规范。至1 j 2 0 0 3 年8 月,o a s i t 业务事务处理协议( b u s i n e s s t r a n s a c t i o n sp r o t o c o l ,b t p ) 和w 曲服务事务处理( w s t r a n s a c t i o n ) 规范成为w e b 艮务事 务处理领域中的两大标准。 1 1 4s o a 研究简史和现状 、,s o a 可以按照多种方式分类,这通常取决于构建服务所用的实现技术。早期的s o a 模型主要从w e b 服务标准初始系列中得到启发,将s o a 定义为一个围绕三个基本组件的 构架模型:服务请求者,服务提供者与服务注册。 第一代w e b 服务标准实现该模型的以下一个部分: 1 w s d l 描述服务。 3 1 绪论 硕士论文 2 s o a p 提供用于服务以及其请求者的消息格式。 3 u d d i 提供标准化的服务注册格式。 如今通过所有主要厂商的积极开发与协作,一系列第一代w e b ) 报务平台的扩展由此 产生。著名的是“第二代”或“w s 规范,这些扩展处理特殊的功能区域,。其整体目标是 将w e b 服务技术平台全面提升至企业水平。 补充w s - * 领域对于将s o a 概念应用于服务分析领域来说也很重要。通过面向服务, 可以清晰地封装业务逻辑,从根本的自动化技术中进行抽象。这个目标借助业务流程定 义语言的提升而得到进一步支持,最具代表性的就是w s b p e l 。 1 2 本文的项目背景 本文的项目背景为本教研室与上海三一( s a n y ) 科技有限公司开发的履带起重机 远程监控系统,协议书编号:s c c r s c - j s x y 0 0 1 。该项目主要实现s a n y 公司对客户信 息的管理、车辆( 主要是履带起重机) 的生产、销售、售后以及对实时和历史参数、数 据的监控和查询流程。 1 3 本文的研究内容 笔者通过对s o a ,w 曲服务等理论和相关技术的学习,参考了许多理论书籍和技 术文献,以s a n y p r o j e c t 项目为背景项目,围绕s o a ,w e b 服务和动态服务组合,服务 流程的事务处理等主题,作了以下的研究和技术实现: 1 叙述和讨论s o a 的基本原理及其相关技术,进一步理解体会s o a 的思想。 2 叙述、研究和讨论w 曲服务以及其与s o a 相结合有关的技术,从构建s o a 项 目的思想和方法出发,在深入分析背景项目的基础上,提出背景项目中结合s o a 技术的具体实现方法 3 研究服务发布和服务注册的相关技术,并给出笔者改进的服务发布和服务注册的 方法。 4 分析以往的动态服务组合方法,通过使用业务流程执行语言论述和实现动态服务 组合的方法,并通过引入服务代理和服务质量这两个概念,实现组合后流程服 务的动态执行。 5 用服务补偿的方式对服务流程中事务进行处理,并论述笔者实现的补偿服务,同 时简述笔者对补偿服务的改进,即在其中对服务质量进行记录的方法。 6 研究企业服务总线相关概念和技术,在系统中实现企业服务总线,并论述企业服 务总线的原理,和笔者对其内部分功能的实现。 4 基于s o a 的w e b 应用和动吝强务组合技术的研究与实现 2 s。受务的基本概念 旺 s o a 在 的角度。 的基本枉 必要技木 2 1 服垒 三经提出多年,随着s o a 的发展,相关技术、规范的不断完善, 越来越多的开发人员和企业的重视,有些企业也从现实和长远利益 、的理念加以运用。本章主要从服务( 本文指w e b 服务) 和s o a 三述s o a 的特点、优势、其与w e b 服务相结合的意义、以及相关的 框架 2 1 1 服参和主要特征 抽象的报务就是由机器可读( m a c h i n e r e a d a b l e ) 的消息( 接收或者返回的) 所描 述的网络位,并且服务是由它所支持的消息交换模式( m e p s ) 所定义的。消息 ( m e s s a g e )包含的数据具有相应的模式,模式用于在服务请求者和服务提供者之间 建立契约( 巨j 苗述) 。其他一些元数据分别描述了服务的网络地址、所支持的操作,以 及对可靠性、交全性及事务性方面的要求。 从业务的角度说,服务是对应于真实的业务活动或可识别的业务功能的i t 资产。 从技术的角度看,服务是粗粒度的、可重用的i t 资产、良好的接口定义令服务的外 。部访问接口与内部技术实现相分离。接口与实现的分离,消除了服务请求者与服务提供 者的耦合。 从以上的叙述可以看出,服务的实现并不拘泥于某种具体的实现形式,也就是说, 只要符合以上特征的都可以看作为服务,它是由服务提供者提供的一组工作,并为服务 请求者交付所需要的最终结果,最终结果通常会使服务请求者的状态发生变化或者双方 的状态都因服务的执行而发生变化。 作为一个能够使业务活动具有最大限度的机动性和可重用性的服务,至少要具有以 下几点主要特征: 1 松耦合:松耦合包括多个方面,其中接口耦合指的是服务请求者与服务提供者之 间的耦合,它衡量的是服务提供者要求服务请求者对他的依赖性,依赖性越小, 耦合越松;技术耦合指服务对特定技术、产品或开发平台的依赖程度;流程耦合 衡量的是服务与特定业务流程的依赖程度。 2 良定的服务契约:每个服务都应有一个被称为服务契约的良定的接口,明确定义 了服务的功能以及如何用一种可互操作的方式调用它;同时也明确分离了服务的 外部调用接口与服务的技术实现。 3 对服务请求者有意义:服务和服务契约必须在一个对服务请求者有意义的抽象 5 2s o a 与w e b 服务的基本概念硕士论文 层次上进行定义,合适的抽象层次将体现所提供业务服务的本质,而不会限制将 来的服务使用或服务实现,同时避免向服务请求者暴露技术细节。一般来说,服 务应执行抽象任务,并提供简单接口,以促进重用和实现松耦合。 4 基于公共标准:服务应尽量基于开放的标准,这样做可以尽量减小对个别厂商的 依赖,为服务请求者增加使用不同服务提供者的机会,为服务提供者增加支持更 多服务请求者的机会,以及增加了利用开放源码的标准实现和参与这些实现的开 发及用户群的机会。 2 1 2 服务的逻辑封装 上- - + 节从多个方面介绍了服务的概念,不难看出,不论从服务请求者和服务提供 者,还是服务之间的关系考虑,为了减少或消除耦合,服务必须保持其独立性,这就要 求服务能够封装在独特的语境中,该语境可能特定于某一业务任务、业务实体或者一些 其他的逻辑组,而且,服务所处理的关注点也是可大可小的,也就是说,服务可以代表 的逻辑范围和规模是可变的,服务逻辑之间是可以相互嵌套的。在封装过程中服务之间 的关系,可以由图2 1 2 1 简单的表示: 图2 i 2 1 服务的逻辑封装 2 1 3 服务的角色 服务可以根据使用的语境不同,充当不同的角色,即使在同一个业务流程中,同一 个服务业可能不止一次的转换角色,对s o a 当中的w e b 服务而言,在不同的业务流程 中担任不同的角色更是十分正常的。下面分别介绍了w e b 服务所担任的几种角色: 1 ) 服务提供者:服务提供者类似于c s 构架中的服务器角色,服务提供者根据调用时 的消息交换类型,用响应消息来回复请求消息。简言之,就是服务请 求消息的接收者。 6 硕士论文基于s o a 的w e b 应用和动末服务组合技术的研究与实现 2 ) 服务请求者: 3 ) 中介: 任何有能力处理可被服务提供者理解的请求消息的处理逻辑单元,都 可归为服务请求者。简言之,就是服务请求消,皂的发送者。 在最初发送和到达最总目标服务前,转发和处理消息的w e b 服务和服 务代理是中介或者中介服务。因此,中介角色总是在服务提供者和服 务请求者之间转换的。中介也分两种,一种是被动中介,负责将消息 转发到下一个服务;另一种是主动中介,在传输消息前,会主动处理 并改变消息的部分内容。 4 ) 最初发送者:发起消息传输的服务请求者,即消息路径中的第一个w e b 服务。 5 ) 最终接收者:标识消息路径中最后一个w e b 服务的服务提供者。 2 1 4 服务的关联及通信 在s o a 中,服务可以用于其他服务或者程序。但是这一切都必须有一个前提,就 是服务之间应该对其关系能够相互理解,即服务相互交互时要互相知晓对方,这一点是 通过服务描述来实现的。最基本的服务描述包含了服务的名称和服务的位置,以及要求 交换的数据,服务正是通过服务描述的方式来实现服务之间的松散耦合的。 服务为了能够相互合作并完成业务流程,需要一个可以保证其松散耦合关系的通信 框架,这样的框架就是消息传递。服务以自己的方式发送一个消息以后,它就不在改消 息以后发生的一切就不再关心了,也就是说消息要作为独立的通信单元,同服务一样能 够独立自治。为了实现这个特点,消息必须需由足够的智能来控制器处理逻辑。 随着服务描述和通信的发展,服务的消息和处理逻辑的接口实现了分离。 2 1 5 服务的组合 服务组合也称为服务组装,顾名思义,这是指服务之间的一种组合关系。任何服务 与一个或多个其他服务合作来共同完成某个特定任务,而且任何参与组合的服务都有能 力调用其他服务来完成特定的子任务,所以参与组合的每个服务都承担服务组合成员的 角色。 面向服务的原则十分强调服务的可组合性,设计服务时应当将w e b 服务设计成这 种方式,一边它们能够顺利融入未来出现的服务组合当中去。 2 2s 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 】【2 】是一个体系结构的 概念,其中所有的功能或服务都使用描述语言加以定义,且各自的接口均可通过网络进 行发现。此类接口采用独立方式定义,不受服务实现所在的硬件平台、操作系统和采用 的编程语言的影响。具体的说,s o a 支持将业务转换为一组相互链接的服务或可重用的 业务任务,可在需要时通过网络访问这些服务和任务。这个网络可以是本地网络、 7 2s o a 与w e b 服务的基本概念 硕士论文 i n t e r n e t ,也可以分散于各地且采用不同的技术,通过对来自各地的服务进行组合,可让 最终用户感觉似乎这些服务就安装在本地桌面上一样。可以对这些服务进行结合,以完 成特定的业务任务,从而让业务快速适应不断变化的客观条件和需求。 2 2 1 基本s o a 构架 早期形态的s o a 模型主要是从w _ e b 服务标准初始系列中得到启发的,将s o a 定义 为一个围绕以下三个基本组件的构架模型: 1 ) 服务请求者:类似于w e b 服务中的服务请求者,可以是应用程序、软件模块或请求 服务的另一个服务。它先从服务注册中心查询所需服务,接着绑定服 务,再调用执行服务功能。 2 ) 服务提供者:类似于w e b 服务中的服务提供者,是可以通过网络寻址被发现,并接 收和执行来自服务请求者请求的对象。它必须在服务请求者可以发现 和使用该服务之前,将自己的服务和接i e i 契约发布到服务注册中心。 3 ) 服务注册中心:服务注册中心是早期形态的s o a 拘关键。它是包含所有可用服务的 数据库,服务请求者可以通过服务注册中心查找感兴趣的服务。早 期形态的s o a 的体系结构中,每个实体都扮演着服务提供者、使用 者和注册中心这三种角色中的某一种或多种。 图2 2 1 1 早期形态的s o a 表2 2 1 1 :s o a 的基本特征 , “一一tj 1: 7 ,| 。功能- _ 。 一。ah y _ ,知一一_ 。:j 捆尬。:i _ 二,。 松散耦合的交互 服务的调用独立于其技术和位置 一对一通信 一个特定服务一次由一个用户调用,通信是双向的 基于用户进行触发 控制流由客户机( 服务使用者) 发起 同步 应答将以同步方式发回给使用者 碗论土粤fs o a 的w e b 肛日和动j i 组舍技 目定与蒡g 图22ll 显示了早期形态的s o a 模型中,三个基本组件之f 的关系。早期形态f j 勺 s o a 的基本特征可以如裹2 211 所示。 2 2 2 当代的s o a 构架 随着s o a 的不断发展,s o a 在保留着其基本原则的基础上乏许多方面都得到了扩 展,主流软件一商们不断地构思新的w e b 服务规范,并在当代e j 技术平台中构建了对 x m l 与w e b 服务的日益强大旷支持,拓展了面向服务的构架,同对也使得- 与s o a 相关的 技术得到发展知广泛应用。例如在业务流程方面,扩展了对业务流程的编排和处理并推 出了业务流程执行语言( b ”= l 4 w s ) ,同时基于语义w e b 的动态服务组合技术【”也在不断 发展之中,并且得到了荩来越多人的关注;s o a 除了在基本功能上得到了发曩和完善, 同时对服务的质量也提出了更多的要求,在保证服务安全性的同时,必须妥善处理好服 务的事务管理,毕竟服务可能是分散于网络的各个角落的,这就要求在进行事务管理时, 遵循有别于相对于本地业务流程事务管理原则的新准则;除了以上例举的几个s o a 元素 得到了发展,与s o a _ b 关的技术也得到了发展,并能够有效的跟s o a 相结合,更好的实 现s o a 的功能,例如e s b 的提出,i b m 也将e s b 作为与s o a 相结合的重要组件加以研究, 虽然e s b 不是s o a 的必不可少的组成部分,但也在安全、服务发现、服务连接等方面对 s o a 作出了很大贡献。从咀上的叙述中可以看出,s o a 发展至今,已经比基本s o a 完善 和丰富了许多,为了和基本s o a 构架相区别,把这个更完善的构架的称之为当代的s o a 构架。 s o a 提供了一种方法,从而可以将应用程序功能作为服务提供给终端用户应用程序 或其他服务其组成元素按照分工的不同可以分成功能元素和服务质量元素。图222 1 展示了s o a 的结构以及在s o a 中可能观察到的元素。 s o a 元煮 ,鬈霪髫彗 功能元素 n 勰 ; 。薏 i - _ 藿 服务的发布和蔑现 矿 藩 服务描逮管理 安生 毒i ,_ , s o a p , x m l - r p c m 务遗信 : j , 服鳓, ;” 、1。, 一 图2221s o a q 6 的元素 2s o a 与w e b 服务的基本概念 硕士论文 功能元素关注的是体系结构的功能性方面,主要是为了保证s o a 构架的面向服务部 分能够得以运转,具体的说,就是确保服务能够被发布、发现、请求,服务之间的交互 能够顺利进行,服务之间的互操作性能够得以实现,对于服务请求者来说,就是能够发 现并请求相应的服务,得到服务执行后的结果。 图中各个元素详细描述如下: 1 网络传输( t r a n s p o r t ) :传输是一种机制,用于将来自服务使用者的服务请求传 送给服务提供者,并且将来自服务提供者的响应传送给服务使用者。w e b 服务 是基于因特网的,因此,h t t p 是w e b 艮务使用的最主要的网络层通信协议。 2 服务通信:服务通信协议是一种经过协商的机制,通过这种机制,服务提供者 和服务使用者可以就将要请求的内容和将要返回的内容进行沟通。目前的w e b 服务以s o a p 为最主要的消息传送协议。 3 服务描述:服务描述是一种经过协商的模式,用于描述服务是什么、应该如何 调用服务以及成功地调用服务需要什么数据。w e b 服务描述语言( w s d l ) 是基于 x m l 的w e h 服务描述的实际标准。 4 服务发现及发布:服务注册中心是一个服务和数据描述的存储库,服务提供者 可以通过服务注册中心发布它们的服务,而服务使用者可以通过服务注册中心 发现或查找可用的服务。 5 业务流程:业务流程是一个服务的集合,可以按照特定的顺序并使用一组特定 的规则进行调用,以满足业务要求。可以将业务流程本身看作是服务,这样就 产生了业务流程可以由不同粒度的服务组成的观念,也就是服务组合的概念。 2 0 0 2 年7 月推出的基于订l 的w e b 服务的业务流程执行语言规- 范( b p e l 4 w s ) ? a , 成为业内标准。: 服务质量元素关注的是有关保证服务质量的元素,包括服务的管理,服务调用时的 安全检测,访问控制等功能以及服务的事务处理。 这几个元素的具体叙述如下: 1 管理:应用于管理提供的服务或使用的服务。 2 安全性:进行服务请求者的身份验证、授权和访问控制。 3 事务:应用于一组服务,以提供一致的结果。例如,如果要使用一组服务来完 成一项业务功能,则所有的服务必须都完成,如果其中有一个服务没有完成, 则所有的服务都不能执行。 当代的s o a 构架于基本s o a 模式之上,通过借助行业和技术的进步增强了其原始理 念,尽管具体的实现技术不尽相同,但是当代s o a 具有了更多优点,与传统构架缺乏安 全性、事务性和可靠性等特征相比,在当代s o a 具有的特征中,以下几个特征是最具有 代表性的1 2 j = 硕士论文 基于s o a 的w e b 应用和动态:曼务组合技术的研究与实现 表2 2 2 1当代s o a 的几个代表性特征 特征 ,7 - 一 。r :、说明 ,r, ,|一 构建松耦合性服务的技术构架的最大好处就在于它所形成的服务逻辑具有 松散耦合 独立性,服务之间仅仅需要相互知晓即可,这有利于它们的独立发展 可组合性是s o a 根深蒂固的特征,它能够在不同层次上加以实现。例如, 通过促进可组合服务的开发和演变,s o a 可以支持灵活的自动化和高适应 可组合性 性的业务流程。由于服务是作为独立的逻辑单元而存在的,因此可以将业 务流程分解成一系列服务,每个服务负责执行流程的一部分。 利用和支持使用开放标准、厂商多样性环境、以及发现机制的有效性都属 于内在互操作性的范畴。适当的标准化可以引领s o a 集成构架的解决方案 互操作性 达到自身内在的互操作性,这一特征可显著减少未来跨应用集成需求所要 花费的代价。 s o a 建立一个促进多级别服用的环境,强调创建业务流程和自动化解决方 复用性 案的无关服务,其中服用作为向特定项目交付的服务副作用而自然实现。 可扩展性是s o a 始终倡导的特征,通过增加服务或者融合其他面向服务的 可扩展性应用来扩展完整的解决方案。因为松散耦合鼓励所有服务间的最小依赖, 所以能够以最小的影响完成逻辑扩展。 开放的通信框架促进了大量企业内或企业间的异构的桥接,同时允许针对 厂商多样性特定应用选择最佳环境,这改变了集成构架的面貌,通过服务适配器封装 遗留逻辑,并充分利用中间件。 鼓励服务在全企业内与企业外进行发布和发现,严格的s o a 将依赖类似服 可发现性 务注册或目录的形式来管理服务描述。 利用和补充开放的、厂商 o - 的通信框架( 例如消息是标准化的) ,限制 基于开放标准 了专有技术实现和服务封装应用逻辑的作用。 2 3s o a 与w e b 服务结合相关技术 2 3 1 结合的原因和意义 当代s o a 是一个开放的、可扩展的、联邦的、可组合的构架,它促进面向服务并自 治的、高服务质量的、厂商多样性的、互操作性的,可发现的和潜在可复用的服务组成, s o a 发展至今,在很大程度上依赖于w e b j 艮务并利用w e b j 艮务来实现,可以说,s o a 已 经和w e b 服务紧密地联系起来了【3 5 1 1 3 6 】【4 2 1 。 2s o a 与w e b 服务的基本概念 硕士论文 s o a 最早是由g a r t n e r 公司于1 9 9 6 年提出的,但是它的广为传播却是由于近年来 w e b 服务的兴起和普及。s o a 与w e b 服务的结合是有技术上的原因的。s o a 从本质上 说是一种理念和体系架构,强调互操作性、重用和治理( 多年来,i t 界在这方面所做过 许多努力,如c o r b a 、o p e n d o c 、d c e 、c l i e n t s e r v e r 、w e b1 、w e b2 0 和企业w e b2

温馨提示

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

评论

0/150

提交评论