(计算机应用技术专业论文)基于事件驱动的面向服务计算模型研究.pdf_第1页
(计算机应用技术专业论文)基于事件驱动的面向服务计算模型研究.pdf_第2页
(计算机应用技术专业论文)基于事件驱动的面向服务计算模型研究.pdf_第3页
(计算机应用技术专业论文)基于事件驱动的面向服务计算模型研究.pdf_第4页
(计算机应用技术专业论文)基于事件驱动的面向服务计算模型研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)基于事件驱动的面向服务计算模型研究.pdf.pdf 免费下载

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

文档简介

摘要 面向服务架构s o a ( s e r v i c e - o r i e n t c da r c h i t e c t u r e ) 成为当前学术界和软件行业研究 的:首要课题之一,s o a 以其松散耦合、粗粒度、位置和传输协议透明等特点,能方便快 捷地实现应用系统随着业务需求的变化而变化。但是随着企业业务量的不断增长和客户 对业务处理的高效、智能化的要求,传统的s o a 系统已不能满足这方面的需求。同时 基于请求响应的面向服务体系架构的实现还存在着通信耦合程度高,协同能力不足,缺 乏动态计算,全局感知等问题。而事件驱动体系架构( e d a ) 能够适用于松耦合通信和应 用系统需要感知的环境。 本文以面向服务的计算( s o c ) 和事件驱动体系架构作为研究出发点,设计了基于事 件驱动的面向服务计算模型e d s o c m ,并对协同感知、动态计算、复杂事件处理进行 了深入的研究。 论文对面向服务的计算进行了详细的分析,分析了现有的s o a 架构和w e b 服务的 相关技术,以及w e b 服务在实现s o a 方面的一些优点。 对现有的事件驱动体系架构进行了深入的分析,在此基础上,分析e d a 和s o a 两 个架构的各自优缺点,通过两个架构的互补关系,设计了软件模型e d s o c m ,并且在 e d s o c m 中引入复杂事件处理。 论文分析了软件模型e d s o c m 的核心实现,并论述了软件模型e d s o c m 的功能。 最后给出了该计算模型的在网上药店系统中的实际应用,同时研究了网上药店系统和该 计算模型的安全性问题。 本文提出的软件模型e d s o c m 能够实现事件驱动支持,可满足企业应用系统的松 耦合通信、协同需求、复杂事件处理等要求,为目前动态多变的大规模分布式计算环境 提供更多和更有力的保障,具有广泛的应用前景。 关键词:面向服务的计算,事件驱动,w e b 服务,复杂事件处理,企业服务总线 a b s t r a c t b e i n go n eo ft h ep r i m a r yp r o j e c t so ft h ec u r r e n ta c a d e m i cw o r l da n ds o f t w a r et r a d e , l o o s e l yc o u p l e d ,c o a r s e - g r a i n e d ,p l a c ea n dt r a n s m i s s i o np r o t o c o lr e v e a lo f s o a sm o s t i m p o r t a n tf e a t u r et or e n d e rt h ea p p l i c a t i o ns y s t e mt oc h a n g e 丽mc h a n g i n gd e m a n d s b u tw i t h t h e i n c a e a s i n go fe n t e r p r i s e s t r a n s a c t i o na n dc l i e n t s d e m a n d st o w a r d se f f i c i e n c ya n d i n t e l l i g e n c e ,t h et r a d i t i o n a ls y s t e mo fs o a f a i l st om e e tt h en e e d s m e a n w h i l e ,s u c hp r o b l e m s a sl o wd e g r e eo fl o o s e l yc o u p l e d ,a n df a i l u r ei nc o o p e r a t i o n ,d y n a m i cc a l c u l a t i o na n da l l r o u n dp e r c e p t i o np r e v e n tt h ef u l f i l l m e n to fs o ab a s e du p o nr e q u e s t r e s p o n s e a sam a t t e ro f f a c t ,e v e n td r i v e na r c h i t e c t u r ei sa p p l i c a b l et os o l v et h ea b o v em e n t i o n e dp r o b l e m s f r o mt h i sp e r s p e c t i v eo fs o aa n de d a ,t h ep a p e rd e v i s e sas o 仔w a r em o d e le d s o c m ( e v e n td r i v e n s e r v i c eo r i e n t e dc o m p u t i n gm o d e l ) f o l l o w e dad e e pr e s e a r c ho nc o o p e r a t i v e p e r c e p t i o n , d y n a m i cc a l c u l a t i o na n dr e s o l v i n go fc o m p l i c a t e de v e n t s t h ep a p e ra n a l y s e st h ec a l c u l a t i o no fo r i e n t e ds e r v i c e ,f o l l o w e db yt h ea n a l y s i so nt h e c u r r e n ts o a ,t h er e l e v a n tt e c h n o l o g yo fw e bs e r v i c ea n ds o m em e r i t so fw e bs e r v i c ei n r e a l i z i n gs o a t h ep a p e ro f f e r sp r o f o u n da n a l y s i sa n dd i s c u s s i o no nt h ec u r r e n ts y s t e mo fe v e n t d r i v e n , o nt h eb a s i so fw h i c hb o t ha d v a n t a g e sa n dd i s a d v a n t a g e so fe d aa n ds o a d e s i g n e da s o f t w a r em o d e le d s o c mb ym e a n so ft h ec o m p l e m e n t a r yr e l a t i o n s h i po ft h ea b o v et w o a r c h i t e c t u r e s a ni n t r o d u c t i o nt ot h er e a l i z a t i o no ft h es o f h r c a r em o d e le d s o c m ,t h ea n a l y s i so fi t s f u n c t i o n sr e s u l ti nt h eh a n d s - o na p p l i c a t i o no ft h em o d e lo nt h en e td r u gs t o r ei sd e s c r i b e d , a n dt h er e l e v a n ts a f e t yi sa l s od i s c u s s e d 。 t h es o f t w a r em o d e lp u tf o 吡i nt h ep a p e rp r o v e st os u p p o r ta n ye v e n td r i v e n ,w h i c hm a y m e e ts u c hd e m a n d sa s ,l o o s e l yc o u p l e dc o m m u n i c a t i o n ,c o o p e r a t i n gr e q u i r e m e n t sa n dt h e r e s o l v i n go fc o m p l i c a t e de v e n t s a st o g u a r a n t e em o r ep o w e r f u l l y t h ec u r r e n td y n a m i c , c h a n g i n ga n dl a r g e s c a l ed i s t r i b u t i o no fc o m p u t e r se n v i r o n m e n t s ,t h e r e f o r e ,i tw i l lp r o v et o b ev e r yp r o m i s i n g k e yw o r d s : s e r v i c e - o r i e n t e dc o m p u t i n g 一,e v e n t - d r i v e n ,w e bs e r v i c e , c o m p l e xe v e n t p r o c e s s i n g ,e n t e r p r i s es e r v i c eb u s 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版。本人允许 论文被查阅和借阅。本人授权西北大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。同时授权中国科学技术信息研究所等机构将本学位论 文收录到中国学位论文全文数据库或其它相关数据库。 篡黧蓁雾强到学位论文作者签名:业悔指导教师签名:到型矽 矾。年6 月工l e l 圳b 年6 月ie l 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 本论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西 北大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 喜 恩。 学位论文作者签名: 、 街多劳 训年6 月纠e l 西北大学硕士学位论文 第一章绪论 1 1 研究背景 随着软件服务化、软件平台化、软件网络化概念的提出,企业内部的应用系统越来 越庞大和繁杂,难以实现客户所要求的功能,而且传统的w e b 服务计算不能随着环境 的变化和客户的需求来动态、协同分布在时间各地的资源得到充分、有效地利用,也不 能应对复杂的市场、环境及诸多方面的因素。随着信息化社会的建立,企业的业务也将 变得越来越繁杂,各系统之间的通信是紧耦合通信,数据也不能实时的共享,各系统独 立开发的软件也不能复用。 随着经济全球化、一体化的趋势及r r 技术的迅猛发展,传统的分布式环境也面临 着挑战,企业对i t 系统的构建及维护提出了新的要求。 一方面,企业内部需要r r 系统的智能化处理。同一企业的不同部门会创建各自的 应用系统。财务部门会有财务系统,人力资源部会有人力资源管理系统,因此随着企业 信息的庞大,当其中一个员工的信息改变,人力资源部的希望财务部的也可以捕捉到这 一变化,这就需要企业信息系统的整合。 另一方面,企业同时要求与外部的系统能够更加灵活、实时的通信。但是企业的应 用系统总是千差万别,要同时进行通信,甚至要跨领域进行对话,这样的需求对分布式 环境提出了挑战。 针对目前的现状,传统的解决方案是,采用点对点的同步通信方法将各个独立开发 的系统整合在一起。然而,为了达到不同用户的业务需求,遗留系统需要频繁通过前端 应用与后台进行通信,导致了开发和维护各个异构系统以及它们之间的通信的成本。因 此,不仅加重了企业的负担,同时使扩展费用和维护费用相当昂贵,对于企业来说,无 疑减弱了企业在市场上的竞争力。 以上的这两个方面体现了一个问题,就是当企业的业务做出改变时,传统的遗留系 统很难做出实时的响应,在大规模的分布式应用环境时,这种问题更是不可避免。 此外,传统的系统是适应业务的上的需求的。一方面,在我们实际应用中,越来越 多的企业在i t 系统的使用过程中,i t 系统是否可以用做企业业务设计中的催化剂。本 来1 1 r 系统不仅可以检测自身的运行情况,而且还可以监控当前业务的运行情况,从而 对运行的业务做出实时的更新。实际上,企业根据i t 的各项数据来做出下一步的计划, 以期达到利益的增长。比如销售情况,来自于市场的发展趋势,从而调整相应的业务计 划;比如培训机构,根据各个时段的人数,来做出具体的活动。 第一章绪论 另一方面,在将来,几乎所有的计算机,从超级计算机n d , 型机,都是共享内存的 多处理机。这样从两种方式影响了分布式计算:面临真正的多处理器的时候,像早期 理论家面临的一样,在分布式计算环境中构想出许多计算模型;多处理器的需求已经 超出了分布式计算环境的承载能力【1 1 。 为了应对这些问题,提出了软件模型e d s o c m 。该模型可以支持松耦合通信、动 态计算、协同感知、复杂事件处理。面向服务的计算能够快速的为服务请求者提供产品 服务,并且提高t n 务质量和消除额外开销,还可以智能化对需求和环境做出动态的调 整。同时,还在g s o a p 框架中引进服务认i e t 2 1 ,从而保证服务的质量。s o a 发布者和 订阅者是一对一的关系,引入事件驱动体系架构( e d a ) 后,事件的发布者为多个订阅者 提供服务,从而得到有价值的信息。 论文以面向服务计算、事件驱动为理念,以网上药店的原型系统为案例,研发软件 模型e d s o c m 。该计算模型旨在提供跨组织、面向服务计算的、事件驱动的功能,解 决企业所面临的资源共享、协同工作问题,使企业之间的合作更加灵活、共享资源更加 实时,实现利益上的共赢。 1 2 国内外研究现状 1 9 9 6 年g a r t e r 提出s o a 这一理念,s o a 是面向服务的企业总体架构,服务成为企 业应用的新资源层。s o a 架构技术实现了各模块之间的松散耦合,具有定义良好的接口, 可通过拆分与组合,来针对性地构建满足不同应用场景需求的技术系统和不同的业务需 求。 s o a 的出现带来新的革命,将企业级的应用组合为组合服务,所有的服务都要遵循 一些给定的标准,应用系统内部或者外部的服务通过给定的接口来调用其它的服务。新 的应用系统架构在遗留的系统之上,这样所形成的服务叫组合服务。通过协议来调用和 访问服务,使用服务的用户可以通过u d d i 来查询服务的位置以及属性。用户获得服务 的属性后,可以与服务进行协商,实现对服务调用接口的绑定。 g a r t n e r 认为,现代企业的应用系统是基于事件驱动和面向服务。也就是说,s o a 和事件驱动体系架构( e v e n td r i v e na r c h i t e c t u r e ,e d a ) 两者之间有着密切的联系。e d a 所 解决的问题是业务需要单向的发送与接收,同时具有异步和长时间处理的能力,事件源 不知道事件的接收者处在何处。s o a 所解决的问题,用户发出实时的请求,同时给出实 时的响应,同时用户必须事先知道服务的提供者。软件行业的几大巨头m m ,o r a c l e , b e a 都在s o a 方面开发自己的软件产品。近几年来,各厂商都在推进s o a 的道路上有 2 西北大学硕士学位论文 自己的产品和技术。随着市场和业务的不断细化,s o a 提供的不同功能将研究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 ,e a i ) 和s o a 服务构造,前者以i b m 、b e a 为代表,后者以普元公司为代表,但是这两者之间又有 一定的互补关系。g a r t n e r 认为s o a 将来的发展趋势是i t 更加富有弹性,快捷应对业务 的变化,成为实时企业( r e a l t i m ee n t e r p r i s e ) t 3 】。 但是由于s o a 本身的局限,所以无法来应变信息时代的不断需求,用户必须知道 提供服务的提供者是谁,而且是基于实时请求响应,在服务的通信模型上也是r p c 的, 在对体系结构的处理是转换式的。同时请求响应的模型也缺乏反映性,也缺乏一定程度 的松耦合,而e d a 恰好弥补了这一缺陷。e d a 是反应时系统的抽象【4 】,通过“推”模式 事件通信【5 】特别适用于提供的反应时处理,特别适合于松耦合通信和全局感知的需求, 很好的解决s o a 松耦合处理和协同工作的业务需求。 但是e d a 本身也暴露出一些缺点,比如系统设计繁杂、难于被用户理解,此外在 设计系统的时候,还面临着并发通信和处理的问题【5 】。 面向服务的计算作为一种的新的计算范型,也面临着网络分布式环境所带来的挑 战,其中包括:松耦合的通信应该达到互操作【5 】;应用系统内、应用系统间的通信应该 协同工作、相互感知、全局感知【6 】。 因此,在s o a 和e d a 两大架构的驱动下,松耦合应用和协同、动态计算在分布式 计算中的应用和设计成为近年来成为研究的热点【刀,i b mr e s e a r c h 的a m i t 引、m i c r o s o r r e s e a r c h 的c e d r 9 、s t r e a m b a s e 1 0 1 以及开源项目e s p e r t l l l ,研究型的项目有u m a s s 的 s a s e t l 2 1 、b e r k e l e y 的t e l e g r a p h c q 扩展以及c o m e l l 的c a y u g a 1 4 1 等由于事件驱动架 构本身也存在可理解性差、时间总线性能瓶颈、系统理解难度大、事件的分析设计复杂, 同时事件驱动架构中的事件的表达能力和系统的可伸缩性存在着很大的矛盾。因此相关 的研究工作都围绕不同的方向展开,大体可以分为三大类:响应系统8 1 、事件通信【1 4 】、 系统监控【1 5 】。 传统的事件驱动体系架构对响应性和松耦合事件通信的两者之间的关系研究的不 够深入,大多数研究只停留在其中的一个方面;进行系统设计的时候只考虑性能的提升, 而忽视了系统的理解性问题;开发的事件模型都没有考虑采用的事件语言,在事件检测 优化时存在一定的问题;在设计事件模型时,没有考虑动态和智能化的调整。 但是面向服务的计算和事件驱动的结合,可以解决大规模分布式计算应用环境的系 统设计理解性差,缺乏动态的、智能化的调整,协同工作,全局感知,动态计算,以及 3 第一章绪论 i t 系统随着业务的“随需而变”等问题。同时e d a 和s o a 的整合也是未来实时通信的软 件架构的主流趋势,实现了事件处理和服务实现的互补机制,为是实现高效、实时响应、 应变能力强的企业级系统架构提供了很好的解决方案,具有广阔的应用前景。 因此,研究本课题具有十分重要的理论价值和现实意义。 1 3 研究内容及创新点 本文基于e d a 、s o a 、面向服务的计算( s e r v i c eo r i e n t e dc o m p u t i n g ,s o c ) ,以s o a 以服务为中心、e d a 以及对事件的异步处理和支持感知的应用,探讨了事件驱动体系 架构和面向服务的计算深层关系,通过对现有的基于事件驱动的面向服务的计算平台的 研究,提出了软件模型e d s o c m 。继而对该软件模型的核心实现提出论述,最后给出 方法实现和具体案例,验证软件模型的可行性和所带来的优势。 本文研究的主要内容: 比较深入的研究传统的面向服务的体系架构,指出了传统s o a 解决企业级应用 的弊端,针对面向服务的计算是以服务为中心的计算,虚拟企业使用这些功能时,暴露 其他使用者的接口来更好解决这一缺陷。 分析了e d a 的现有成果、特点和应用。使用事件驱动来实现事件源向事件目的 地发送事件流、简单事件、复杂事件处理,而不需要知道事件接收者,弥补了s o a 在 点对点的同步通信中出现的松耦合力度不足、传输数据的延迟等缺点。 提出和设计了软件模型e d s o c m 。通过事件驱动、复杂事件处理、g s o a p 框架、 e s b 、s o a 构件等技术的结合,能够动态计算到达事件的数目,事件处理引擎可以自主 选择当前所要处理的事件,有效的解决了应用系统中的数据传递,快捷地与其他的订阅 者实现业务上的往来。 通过网上药店系统的案例验证计算模型e d s o c m 的动态计算和协同感知,通过 分析传统的s o a 应用系统的不足,加入软件模型e d s o c m 后,能够使分布式应用环 境中的子系统的业务功能得到较大的改善。 本文的创新点: 1 ) 分析了基于服务的动态计算,并将动态计算和协同感知结合起来。 2 ) 提出基于事件驱动的面向服务计算模型e d s o c m 。 3 ) 引入g s o a p 框架对w e b 服务进行处理来实现j a v a 和x m l 的绑定、延迟处理。 钔通过复杂事件处理对事件进行处理,可以减少到达事件的数量,提高事件的质 量,从而使事件处理的效率得到提升。 4 西北大学硕士学位论文 1 4 研究思路和主要工作 本文是在详细介绍e d a 、面向服务的计算( s o c ) 、复杂事件处理、g s o a p 框架的基 础上,提出软件模型e d s o c m ,使企业应用系统具有动态计算和协同感知的功能。全 文由六章组成: 第一章绪论。主要介绍本文的研究背景、国内外研究现状、研究内容及创新点和 论文的组织结构。 第二章面向服务的计算。介绍了s o c 的概念、软件作为服务、s o a 的概述以及实 现s o a 的优势和意义;接着介绍了s c a 的概念,以及对于实现s o a 之一的w e b 服务 技术的体系架构、规范等做出了详细的描述。随后又介绍了业务流程执行语言( b p e l ) 以及w e b 服务在实现s o a 时所起的作用。 第三章事件驱动体系架构。介绍了事件驱动体系架构( e d a ) 的概念、e d a 在分布 式环境中所体现的优势,e d a 和s o a 的联系,同时介绍了e s b 在连接e d a 和s o a 所 起的作用,最后介绍了e d a 的作用。 第四章软件模型e d s o c m 的设计及核心实现。在前面章节的基础上,提出软件 模型e d s o c m ,并给出具体的实现,引入g s o a p 框架对s o a 构件进行处理,订阅者自 主的订阅感兴趣的服务,减轻了分布式计算环境中应用系统的负荷,同时对该软件模型 的功能进行了详细的分析。 第五章软件模型e d s o c m 的应用。本章介绍了网上药店的详细设计思路和基于 s o a 的整体架构,接着把e d s o c m 应用在基于s o a 的网上药店系统中,并通过了网 上药店系统中的一个具体的订单业务,介绍了订单业务中相关组件、对象和整个业务的 执行流程,以此来说明软件模型所带来的动态计算、协同感知的作用,最后对软件模型 e d s o c m 和网上药店系统的安全性做出介绍。 总结与展望。对全文研究成果的总结,并对以后的研究方向提出展望。 1 5 本章小结 本章首先介绍了研究背景,然后对事件驱动和面向服务的计算的研究现状做出概 述,接着介绍本文的研究内容及创新点。最后,简要的叙述本文的研究思路及主要工作。 5 西北大学硕士学位论文 第二章面向服务的计算 面向服务的计算( s e r v i c e o r i e n t e dc o m p u t i n g ,s o c ) 是一种计算范型,把服务作为基 本元素开发应用( 解决方案) ,在大规模的分布式和开放式i n t e r a c t 环境中,和其它的计算 技术一样,同样受到挑战。为了构建服务模型,s o c 依赖于面向服务的体系架构( s e r v i c e o r i c n t e aa r c h i t e c t u r e 。s o a ) 来重新组合软件应用和架构成为一系列可以交互的服务。但 是,基本s o a 不能够充分的解决服务管理,服务编排,服务事务管理和协同,安全等 一系列的问题。 2 1 面向服务计算( s o c ) 概述 2 1 1s o c 的基本概念 s o c 1 叼作为一个最基本的范式来开发应用系统和软件。在s o c 中,服务是自我描 述、平台不可预知的计算元素来支持快速,低功耗的分布式应用。服务所执行的功能, 从简单的请求到复杂的业务处理。在i n t c r n a 或i n t r a - n c t 平台上,服务允许所有组织使 用标准的、基于x m l 的语言和协议来程序化得暴露它们的核心职能,最后通过开放的 标准来实现一个自我描述的接口。 服务提供组织来负责提供服务,它们取得服务实现,支持服务描述,提供相关技术 和业务支持。通过i n t c r n c t 服务可以提供给不同的公司和大型企业,为企业内部和外部 的应用集成和协作提供一个分布式计算架构。当然,要满足这些需求,服务应该必须具 有以下功能: 技术中立:它们的实现必须通过共同的规范和标准,并应用于所有的i t 环境。 这就意味着实现机制( 协议、描述和发现机制) 应该遵循大众化都可以接受的标 准。 松耦合:在客户端或者服务器端,它们不需要知识、任何内部结构、上下文。 支持所属地明显:服务应该有它们自己的定义和位置,所有相关的信息储存在 一个位置( 比如u d d i ) ,而且可以被一系列的终端访问。 服务可以分为两种:简单服务和复杂服务。简单服务可以重用功能,随时定位,随 时使用和部署,实现高科技和服务水平所需的质量。组合服务从可能的服务提供者调用 已经存在的服务以期访问和组合信息、功能。因此,组合服务帮助在目录中没有的应用 或者是分布式应用和特定的架构可以容易的集成,限定的架构和技术来构建新的功能而 集成已经存在的应用功能。 7 第二章面向服务的计算 当服务封装了业务功能的时候,其他形式的内部服务架构方便的进行服务的互操作 和通信。不同形式的这种架构是可能的,因为服务有可能在一个单个的服务器上实现; 也有可能在局域网上的任何计算机上实现,也有可能在万维网上实现。一个特殊的例子 服务把i n t e r n e t 和基于i n t e r a c t 的标准作为通信媒介。w e b 服务作为实现s o a 的方式之 一,w e b 服务是一种特定的服务【1 7 1 ,它可以是一个u r l ( 统一资源定位) ,具有以下的特 点: 它通过i n t e r n e t 的语言和协议来程式的暴露它的特点。 通过基于开放的i n t e m e t 标准( 例如可以发布在网络缓冲区的x m l 接口) 来实现 自我描述的接口。 w e b 服务之间的互操作是通过s o a p 的调用,包含了x m l 数据目录和采用w s d l 作为数据标准所展现的服务描述【1 8 】。w s d l 根据它的端口,端口类型,绑定来发布一个 服务。u d d i ( u n i v e r s a ld e s c r i p t i o n 、d i s c o v e r ya n di n t e g r a t i o n ) 标准是一个目录服务,将w e b 服务进行u d d i 注册发布,是一种创建注册表服务的规范,以便大家将自己的w e b 服 务进行注册发布来供使用者查找【1 9 1 。 2 1 2 软件作为服务 软件作为服务的概念是由s o c 发起是一个革命性的变化,第一次随着 a s p ( a p p l i c a t i o ns e r v i c ep r o v i d e r ) 软件的出现而出现。a s p 是第三方实体来部署、管理访 问一个打包应用,通过万维网发送基于服务的软件和客户的解决方案发送到数据中心。 尽管a s p 模型中也提出软件就是服务。但是它有遭受几种内部限制,比如不能来 开发具有互操作的应用,不能提供完全的客户应用2 0 1 。而且是基于紧耦合原则的整体架 构,高度分离,特定客户,不可重用的应用。软件作为服务在软件行业是一场具有新兴 的软件开发,使企业系统间的松耦合、异步互操作、基于x m l 标准的i n t e r n e t 通信更 加便利。 s o c 范型允许软件作为服务的概念可以扩展到把复杂业务和事务的传输作为服务, 同时允许应用程序可以被构建,任何人在任何地方都可以使用。为了使用相关的w e b 服务技术,大量的a s p 修改它们的技术架构和业务模型以期更好的为w e b 服务提供者 提供所需要的服务。 8 西北大学硕士学位论文 2 1 3s o a 概述 图2 - 1s o a 模型图 为了构建完备的集成应用,服务模型依赖于s o a 2 1 1 。s o a 重组一些独立的软件应 用程序和支持相互连接的服务架构,访问它们的都是通过标准的协议和信息接口。企业 架构里面的所有元素都是固定已经存在和将来的应用可以访问这些服务,不需要理解建 立在私有协议的基础上的点对点的解决方案。这种架构方法应用范围广泛,当很多应用 运行在不同的技术和平台上的时候,需要相互间的通信。从这种方式上来说,企业能够 整合和匹配服务以期以最小的程式设计实现业务功能【2 2 】。 s o a 是设计软件系统的逻辑方式 2 3 1 ,通过发布和发现接1 :3 提供服务给终端应用或 者是分布式网络中的其他设备。基本的s o a 架构定义了一个接口在软件代理和服务提 供者之间。客户端( 服务的接收者) 作为软件代理需要请求执行一个服务。提供者作为软 件代理可以提供服务。作为中间代理,客户端和提供者之间是同时发生的。服务提供者 负责发布一个服务。服务的接收者负责对它们所提供的服务做出描述。服务的接受者找 到他们所需要的服务并绑定它。 s o a 架构不只是关于服务的架构【2 3 1 ,它还包含了三类有联系的角色:服务的提供 者,服务消费者,服务注册中心,它们之间的关系包括发布,绑定,调用操作,如图2 1 所示。可见,服务是可以自我描述并独立注册发布的。在一个服务请求者需要使用某个 特定业务功能的服务时,可以搜索服务管理者,即在服务注册中心发现符合要求的服务, 可以得到一个服务列表,因为不同的服务供应商提供不同的服务。服务请求者可以根据 需要决定是使用哪一个服务,也就是服务绑定,然后就理所当然的使用某个已经选定的 服务。服务提供者定义了服务描述,然后把它发送到客户端或者是服务发现中心。服务 的请求者采用发现操作从服务的注册中心来搜索服务信息,注册中心诸如u d d i ,然后 利用服务描述来绑定服务提供者,调用服务并进行一定的实现。服务提供者和服务使用 者角色是密不可分的,一个给定的服务它们两者是必须给定的。 9 第二章面向服务的计箕 还有人认为s o a 也可以这样定义,服务接口和实现。一个服务是包含在软件系统 或者软件程序中的业务功能的实现,包装规则的文档接口。服务和其它软件模块不同, 服务所展现的完整的业务功能,它们为了重用和操作新事务不是一个服务请求者的程 序,有可能在整个企业内跨应用,甚至跨企业。 服务接口提供了最简单的机制,提供当前通信的服务和应用。在技术上,服务接口 是一系列操作的描述来供服务端来调用。服务规约的主要任务是规范地描述服务各个方 面的属性,其中既包括输入输出消息等功能性属性,服务安全约束和响应时间等服务质 量约束,以及服务在业务层面的诸多属性,如涉及的业务规则、业务属性、时间人员等。 与此同时,规范描述服务相关方面也很重要【2 3 1 ,如服务依赖关系,服务和业务组件间关 系,服务和i t 组件间关系、服务消息间关系等。 2 1 4s o a 与其他方法学的比较 与s o a 的设计原则类似,s o a 方法学并不是全新的方法学,有现代方法学的继承。 一方面,传统的方法学并不能将服务的概念引入到应用系统和程序中,比如如何定义服 务,如何发现服务;另一方面,服务是水平概念,不是垂直概念。 如图2 2 所示,揭示了s o a 和几种方法学的定位。它的横坐标将项目周期分为分 析、设计、开发三个阶段,纵坐标将域分为应用、架构和业务。流程建模( b p m ) 用于业 务领域的分析和设计,如业务流程的定义、业务数据的定义等;企业架构( e a ) 和方案架 煎 蓠 图2 - 2s o a 和传统的方法学比较 构( s a ) 侧重在架构领域的分析和设计,根据业务需求确定目标业务系统和i t 系统,根 1 0 西北大学硕士学位论文 据目标系统需求设计主要架构元素和它们之间的关系;面向对象的分析和设计( o o a d ) 则贯穿分析、设计和开发三个阶段,它主要分析细粒度的业务需求,如用例、分析和设 计实现这些需求的类和对象,以及它们之间的关系。 2 1 5 实施s o a 的优势及其意义 为了使企业快速地适应日益竞争激烈的市场,需要经济而灵活的i t 基础设施来支 持企业。s o a 会给企业带来几方面的好处【2 1 捌,有助于企业在激烈的竞争中得以生存。 b p m 和s o a 业务流程建模( b p m ) 是一个零散的领域,【2 1 1 存在各种各样的方法和技术,有效的方 法可以帮助企业对业务进行合理的划分,从而达到业务上的共赢。 e a 和s o a 从s o a 方法学来看,一方面,面向服务的分析和设计通过b p m 结合将业务分解为 各种类型的服务,可以作为b p m 将业务分解为各种类型的服务;另一方面,企业架构 的设计,又是服务实现的重要依据。 o o a d 和s o a 面向对象的分析和设计( o o a d ) 告诉我们使用u s ec a s e 捕获需求,对象作为软件设 计的核心。面向对象的软件设计只局限于应用程序内部,没有企业蓝图和企业架构的指 导瞄】。 2 2s c a 的提出 服务组件架构( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ,s c a ) 是一个用于服务调用和构建 的、跟实现语言无关的组件编程构架【2 2 】。s c a 最早是由i b m 提出并实现,得到用户认 可后,i b m 和b e a 等知名性的国际性大公司又把s c a 提交为一个规范,并将s c a 的 实现代码命名为t u s c a n y 捐献给a p a c h e 开源社区。 2 2 1s c a 概述 s c a 提供了统一的调用方式,可以把不同类型的服务,比如p o j o 、e j b 、b p e l 、 j m s 、w e b 服务等通过统一的方式调用。s c a 简化s o a 开发,使程序员只关注业务逻 辑,而不必关注底层的实现。s c a 没有提出自己的数据模型,但是s d o ( s c r v i e ed a t a o b j e c t s ,s d o ) 提出一个用于服务的数据模型。服务质量( q u a l i f yo f s e r v i c e ) 也是我们必须 要考虑的问题。 s c a 的这些特性,使得企业应用具有很好的分层架构,能够很好的分离业务逻辑和 第二章面向服务的计算 技术逻辑,使程序员更好的关注于底层的开发,而无须关注于业务方面的理论。而这些 特性,恰好是s o a 的需求。 s c a 作为一种服务组件架构,与传统的组件架构的区别在于: 1 ) s c a 是粗粒度的,传统应用系统的开发以细粒度居多。 2 ) s c a 接口是标准的,主要是w s d l 接口,它是与语言无关的接1 :3 ;而传统的都 是以a p i 的方式出现。 3 ) s c a 的实现与语言无关,传统组件架构都有特定的语言来支持实现。 4 ) s c a 可以通过组件容器提供q o s 服务,传统组件架构完全由程序代码来实现。 2 2 2 引入s c a 的好处 s c a 是针对于服务和业务的分离创建的架构。一方面,采用s c a 能够很好的整合 不同异构系统之间的差异;另一方面,强调粗粒度、松耦合,能够改变异构i t 的现状, 贯彻技术与业务分离的原则。 2 3w e b 服务技术概述 2 3 1w e b 服务体系结构 w e b 服务是描述一些操作( 利用标准化的x m l 消息传递机制可以通过网络访问这 些操作) 的接口。w e b 服务是利用标准的、规范的x m l 概念来描述。服务描述包含了所 有的交互细节,包括消息格式、传输协议和服务端点位置。该接口隐藏了实现的细节, 与平台,硬件,操作系统,语言都没有直接的关系。因此,基于w e b 服务的应用程序 具有松散耦合、面向服务、分布式和跨平台的特点。 w e b 服务体系结构中的角色嘲,如图2 3 所示: 服务提供者( s e r v i c ep r o v i d e r ) :使用w s d l 定义w e b 服务描述。 服务使用者( s e r v i c er e q u e s t e r ) :使用w e b 服务描述来访问w 曲服务。 服务注册中一t l , ( s e r v i c er e g i s t r y ) :w e b 服务提供者发布到w e b 服务中介,w 曲服务 使用者可以从服务注册中心得到该服务,从而进一步使用该服务。它是服务集中的地方, 有时候也称为服务代理。 1 2 西北大学硕士学位论文 w s d l ,u d m 图2 - 3w e b 服务体系结构 在这些角色之间使用以下三种操作: ( 1 ) 发布操作,使服务提供者可以向服务注册中心注册自己的功能及访问接口; ( 2 ) 发现操作,服务请求者向服务注册中心查找特定的服务; ( 3 ) 绑定操作,使服务请求者开始使用服务提供者所提供的服务。 2 3 2w e b 服务规范概览 如图2 4 所示,这是由i b m 、m i c r o s o f t 和其他知名的软件公司所给出的w e b 服务 分组。 1 ) 基础设施传输协议和消息传递 传输协议h t t p h t t p s 、s m t p 、m q 。定义了在w 曲服务间传输的核心通信 机制。 消息传递一x m l 、s o a p 、a d d r e s s i n g 。为编码传输的w e b 服务消息定义可以互 操作的机制。 2 ) 服务描述 w s d l 。w e b 服务描述语言( w e b 服务d e s c r i p t i o nl a n g u a g e ,w s d l ) 是服务 描述中的基础规范。w s d l 允许服务文档化的接收和发送消息。 w s p o l i c y 。w s d l 和x s d 没有提供调用w e b 服务的应有的信息,但是它 定义了服务的接口定义。w s p o l i c y 使服务能够指定服务提供者需要什么服 务以及如何实现这个接口。 3 ) 获取描述 x m l ,x s d ,w s d l 和w s p o l i c y 支持描述服务的接口和服务保证。当开发人员引 1 3 第二章面向服务的计算 用服务并且需要了解它做什么时,可以使用w s m e t a d a e x c h a n g c ;当程序员需要查找支 持特定功能的引用时,需要用u d d i 。 lw s b p e ll 服务维笈 暂组合 服务质量 lx s o , w s d l , u d d i ,p o l i c y ,m e t a d a t a e x c h a n g el 服务箍逑 lx m l , s o a p , w s - a d d r e s s i n gl 潦息传递 l糕w 纠h 1 1 p s 戮下双徽ql 俦输协议 图2 - 4w e b 服务规范分组 4 ) 服务质量保证 w e b 服务的优点就在于它能够跨越不同的平台、系统,最后达到预期的目的。w e b 服务必须与传统的中间件服务商提供相同级别的服务。因此,这样对w e b 服务的性能 也要求比较高。 5 ) 安全性 互联网的安全性也是一个要必须考虑的因素。这些规范支持验证和消息的完整性、 完整性、机密性、信任和隐私,也支持不同组织的安全联盟。主要分为w s s e c u r i t y 、 w s t r u s t 、w s s e c u r e c o n v e r s a t i o n 几大类【2 3 】。 6 ) 可靠性 w s - - r e l i a b l e m e s s i n g 定义了一些机制,使w e b 服务能够确保w e b 服务在不可靠的 网络上传递信息。它不仅确保服务实现互操作方法,而且通过提供实现协议的服务使运 行时厂商更容易理解应用程序的开发。 7 1 事务处理 随着市场竞争的需要,不同的厂商之间需要交换信息。他们之间交换的消息构成任 务,这些任务能够支持事务规则。在w e b 服务的世界中,w s c o o r d i n a t i o n 、 w s a t o m i m t r a n s a c t i o n 和w s b u s i n e s s a c t i v i t y 能够支持这些需求。 8 ) 服务组合 w e b 服务的业务流程语言w s - b p e l ( 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 ) 的早期版 1 4 西北大学

温馨提示

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

评论

0/150

提交评论