




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)支持web服务合成系统可靠性的工作流恢复机制的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学硕士学位论文摘要 支持w e b 服务合成系统可靠性的工作流恢复机制的研究 摘要 当前,w e b 服务作为新的分布式计算技术,由于其自身的平台无关、服务器中 立、自描述以及易部署等特性,已经被越来越广泛地接受。许多企业已将自身的 业务能力以w e b 服务的形式提供给消费者。在众多的w e b 服务出现时,一个新的 商机出现了合成的w e b 服务,即将现有的w e b 服务重新整合起来,以形成一 个功能更强大的w e b 服务。w e b 服务合成是一个企业通过合成基本的w e b 服务, 来提供给用户增值服务的能力。 对于合成后的平台,如何保证系统运行的可靠性是一个必须要解决的问题。 i n t e r n e t 环境的丌放式、分布式的特点使得构建于其上的系统更加难以控制:网络 传输的可靠性本身就受到其底层硬件平台稳定性的制约;w e b 服务自身异构性、 自治性和无状态性的特点也大大增加了保证合成平台可靠性的难度。而且,w e b 服务合成的实现方法也是影响其可靠性的重要因素。 目前,基于工作流技术的合成已成为w e b 服务合成的重要方法。工作流是描 述一个企业或组织的业务处理过程的模型,一直是企业界和学术界的热点研究领 域。在本系统设计和实现之前,我们在工作流领域已经取得了一定的研究成果一 一完全分布式的面向大规模复杂应用的工作流管理系统s c o p e w o r k 。该系统对包括 恢复处理在内的多项工作流技术均提出了较为完备的解决方案。 现在。w e b 服务的合成正是应用了工作流的技术,在完全自治的w e b 服务上 搭建合成平台。因此,基于w e b 服务合成系统可靠性的保证完全可以借鉴工作流 恢复的思想。本文提出的系统正是基于s c o p e w o r k 系统的研究基础,利用已掌握 的、较为成熟的工作流技术来实现w e b 服务的合成。为了保证合成系统的运行可 靠性,我们设计弗实现了一个恢复系统,该系统包括检测模块、监控模块和恢复 模块,分别完成故障检测、流程监控及恢复处理等功能。为了更好地满足合成系 统可靠性的要求,我们从多个方面对工作流的恢复理论进行了扩展:对系统中可 能出现的运行异常重新进行分类;对传统工作流中的任务结构模型进行了扩展; 根据本系统的特点提出了面向系统不同层次的三层异常检测模型:针对合成系统 中不同类型的流程,我们分别采用不同的恢复策略来处理异常情况。通过这些工 作,我们大大提高了系统的错误处理能力。 i i 东北大学硕士学位论文摘要 关键词w e b 服务合成工作流恢复故障检测错误处理 i 东北大学硕士学位论文a b s t r a c t r e s e a r c ho fw o r k f l o w r e c o v e r y m e c h a n i s m s u p p o r t i n g r e l i a b i l i t yo fw e b s e r v i c ec o m p o s i t i o n s y s t e m a b s t r a c t w e bs e r v i c e ,a san e wd i s t r i b u t e d c o m p u t i n gt e c h n o l o g y , h a s b e e n a c c e p t e d c u r r e n t l yb e c a u s eo fi t sf e a t u r e ss u c ha sp l a t f o r mi n d e p e n d e n c e ,s e r v e rn e u t r a l i t ya n d s e l f - d e s c r i p t i o n n o wm a n ye n t e r p r i s e sp r o v i d ec o n s u m e r s w i t hb u s i n e s s a b i l i t y i n m a n l i e ro fw b bs e r v i c e w i t hm o r ea n dm o r ew e bs e r v i c e s c o m i n gf o r t h an e w c o m m e r c e o p p o r t u n i t y , c o m p o s i t i o no f 赃6s e r v i c e s ,a p p e a r s ,w ec a n d i s t r i b u t eam o r e p o w e r f u lw e bs e r v i c e ,w h i c hi sc o m p o s e do fe x i s t i n gw 曲s e r v i c e s ,t op r o v i d ea d d e d v a l u e w h e nc o m p o s i t i n g ,w em u s tt a k ei n t oa c c o u n t s y s t e mr e l i a b i l i t y o p e n a n d d i s t r i b u t e di n t e r n e te n v i r o n m e n tm a k e s s y s t e m s b a s e do ni td i f f i c u l tt o c o n l r o l ; r e l i a b i l i t yo f n e t w o r k t r a n s m i s s i o ni sr e s t r i c t e db e c a u s eo f i t s u n d e r l y i n gh a r d w a r e ;t h e f e a t u r eo fh e t e r o g e n e i t y , a u t o n o m ya n ds t a t u s i n d e p e n d e n c e a l s o g r e a t l y i n c r e a s e s d i f f i c u l t y f u r t h e r m o r e ,t h ew a yo fc o m p o s i t i o ni sa l s oa ni m p o r t a n tf a c t o rt h a tw i l l i n f e c ts y s t e m r e l i a b i l i t y w o r k f l o wt e c h n o l o g yh a sb e c o m et h em o s ti m p o r t a n tw a yo fc o m p o s i t i n g b s e r v i c e s w o r k f l o w , a sah o t s p o ti nb o t ha c a d e m ea n db u s i n e s sf i e l d ,i sam o d e lt h a t d e s c r i b e sh a n d l i n gp r o c e s si n s i d ea ne n t e r p r i s eo ro r g a n i z a t i o n b e f o r eo u rw o r ko n c o m p o s i t i o ns y s t e m ,w e h a v e g o td e e p l y r e s e a r c hi nt h ef i e l do fw o r k f l o wa n d d e v e l o p e daw h o l l yd i s t r i b u t e dw f m ss c o p e w o r k ,w h i c hh a v ep u tf o r w a r da f u l l r e s o l u t i o n ,i n c l u d i n g e r r o r h a n d l i n g s i n c ew eu s ew o r k f l o wt e c h n o l o g yt oc o m p o s i t ew e bs e r v i c e s ,w h e nw et r yt o e n s u r et h er e l i a b i l i t yo fc o m p o s i t i o ns y s t e m ,w ec a r lu s et h e o r yo fw o r k f l o wr e c o v e r y f o rr e f e r e n c e 1 1 1 es y s t e mt h i st h e s i sa d v a n c e di sj u s tb a s e do nt h er e s e a r c ho fw f m s s c o p e w o r k t oe n s u r e i t s r e l i a b i l i t y , w ed e s i g na n di m p l e m e n tar e c o v e r ys y s t e m , i n c l u d i n gd e t e c t i n gm o d u l e ,m o n i t o r i n g m o d u l ea n d r e c o v e r ym o d u l e ,w h i c h a c c o m p l i s ht h ef u n c t i o no ff a i l u r ed e t e c t i n g ,p r o c e s sm o n i t o r i n ga n dr e c o v e r yh a n d l i n g r e s p e c t i v e l y t os a t i s f y t h er e l i a b i l i t y r e q u i r e m e n t ,w ee x t e n dt h e o r y o fw o r k f l o w r e c o v e r y i n m a n ya s p e c t s ,i n c l u d i n gr e n e w e d l yc l a s s i 毋i n g r u n t i m e e x c e p t i o n s , t v 东北大学硕士学位论文 a b s t r a c t e x t e n d i n gt a s ks t r u c t u r e ,a d v a n c i n g at h r e e l e v e lf a i l u r e d e t e c t i n g m o d u l eo r i e n t e d d i f f e r e n tl e v e l so ft h ec o m p o s i t i o ns y s t e m ,u s i n gd i f f e r e n tr e c o v e r ys t r a t e g i e st oh a n d l e d i f f e r e n tt y p e so ff l o w s i ns u m m a r y ,w ee n h a n c ea b i l i t yo fe r r o rh a n d l i n gg r e a t l yi n c o m p o s i t i o ns y s t e mo f w e bs e r v i c e s k e yw o r d s w e bs e r v i c ec o m p o s i t i o n ,w o r k f l o w , r e c o v e r y , f a i l u r ed e t e c t i o n ,e r r o r h a n d l i n g v 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取 得的研究成果除加以标注和致谢的地方外,不包含其它人已经发表或 撰写过的研究成果,也不包括本人为获得其它学位而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 说明并表示了感谢。 本人签名: 剖凯 日期: 撕银f 东北大学硕士学位论文第一章引言 1 1 问题的提出 第一章引言 在当今的网络经济模式下,越来越多的企业将自身的业务能力通过互联网发布 出去。因此,要求基于i n t e m e t 开发标准的分布式计算环境必须独立于提供商、平 台和编程语言;而且,它必须提供足够的交互能力,能够适合各种场合的应用。 基于x m l ( e x t e n s i b l e m a r k u pl a n g u a g e 可扩展的标记语言) 技术的w e b 服务正是 解决这一问题的最佳手段。w e b 服务的使用将改变目前的开发模式和应用部署的 费用规模。各种w e b 服务分别实现了一定的电子商务功能,通过将各种电子商务 的w e b 服务进行组合和集成以创建动态电子商务应用。w e b 服务能够统一地封装 信息、行为、资料表现以及商务流程,而无需考虑应用所在的环境是使用何种系 统和设备。 w e b 服务就是通过w e b 接口提供的某个功能程序段。通过标准的i n l e r n e t 协议 ( 例如h t t p ) 可以很容易地访问该功能。这就意味着所有客户机都可以使用 i n t e m e t 进行远程过程调用操作,该操作将对i n t e m e t 上的服务器进行请求,并接 收以x m l 格式的返回响应。这些在客户机和服务器之间来回传递的消息被编码到 一个特殊的x m l 语句中,这些语句被称为简单对象访问协议( s i m p l e o b j e c t a c c e s s p r o t o c o l ,简称为s o a p ) 。该协议定义了访阀远程计算机更能的标准方式。推动 w e b 服务发展的基本理念就是客户机和服务器能够使用任何技术、任何语言、任 何设备。这些技术、语言和设备可以由开发入员和中间设备来确定。每个w e b 服 务都被明确地定义了唯一的接口,因此,无论客户端是一个j a v as e r v l e t 、一个 v b n e t 胖客户、一个p e r lc g i 应用程序、还是一个w a p 蜂窝式电话都无关紧要。 他们访问w 曲服务的方式都是一样的:即在h t t p 上使用s o a p 。目前。随着互 联网访问被内置到所有的设备中,我们在访问复杂服务器应用程序时,只需要一 个基本的x m l 文本处理器即可该处理器用于编码和译码s o a p 消息。 在商务w e b 中,将不需要为使用一个电子商务应用而购买这个电子商务应用 所承载的应用软件。w 曲服务是一种无需购买并部署的组件,这种组件是被一次 部署到i n t e m e t 中,然后到处可用的种新型组件,所有应用只需要能够连入 i n t e m e t ,就可以使用和集成w e b 服务。通过采用w e b 服务,开发的代价显著降低 东北大学硕士学住论文第一章引言 了,程序员无需与多种平台进行交互,他们只需要与一种组件进行交互,即w e b 服务,同时w e b 服务的调用接口完全采用标准的x m l 及相关技术,在代码实现 上的代价也有显著下降。通过采用w e b 服务,部署和集成的费用大大降低,流程 的更改也无需更改大量代码,甚至通过工具的支持,根本无需更改程序代码。同 时随着新的w e b 服务技术,如w s d i 。u d d i w s f l 的大量使用,w e b 服务在运行 时态进行动态装配将成为现实,同时每个用户甚至可以根据用户的需要实时地进 行装配。 通过使用w e b 服务,企业能够以前所不可能的方式通过抽象和混合将自身的 电子商务组件化。当一个企业的核心竞争力被组件化之后,那么这些核心竞争力 就能够很方便地在不同的企业之间共享,同时架构跨企业的电子商务应用,形成 商务w e b 。 在w e b 服务技术被广泛接受,越来越多的商务逻辑被展现为w e b 服务供消费 者调用时,一个新的商机出现了w 曲服务的合成 t p e o i 。不同的w e b 服务所 表现的商务逻辑和处理能力是不尽相同的,它们可能来自不同的服务提供商,用 来满足不同的消费需求。这些己发布的w e b 服务是完全自治的。但是,我们仍然 可以对这些松散耦合的w e b 服务进行重新整合,生成一个业务能力更加强大的、 新的w e b 服务,以实现在现有w e b 服务基础上、提供增值服务的目的。这就是 w e b 服务合成的初衷。 w e b 服务的合成固然可以带来增值的商务能力,但是其合成过程是比较复杂 的,归根到底是由于w e b 服务自身的一些特点 c s s 0 1 1 。如前所述,w 曲服务是完 全自治的,而且w e b 服务的调用是无状态的( 即两次调用之间没有任何关联,上 一次调用过程中的状态无法保存到下一次调用中) ,因此,把这样一些w e b 服务合 成在起,难度是可想而知的。此外,在合成过程中,我们还需要解决异构性问 题、动态合成问题等等。 任何系统在执行过程中都会遇到运行期错误。w e b 服务合成系统是基于网络的 合成平台,而由于网络本身不稳定的因素,错误出现的可能性就大大增加了。另 一方面,合成的w e b 服务流程很可能在客观上要求进行必要的事务性保证。例如 在某个旅游订票系统中,订车票和订旅馆是两个由不同服务提供商提供的两个没 有任何逻辑关联的w e b 服务。当这两个服务被合成到个旅游订票商务逻辑之中 的时候,我们就必须要维护其原子性。因为即使订车票服务调用成功,如果所有 旅馆已经订满( 即订旅馆服务调用失败) 。那么合成服务的消费者很可能会取消整 个流程的所有服务,因此我们需要对已经提交成功的服务取消影响。综合以上原 因,我们在进行w e b 服务合成的时候,必须充分考虑到合成平台对可能出现的错 2 东北欠学硕士学位论文第一章引言 误或异常的处理能力,即系统的可靠性问题。那么采用怎样的技术来维护w e b 服 务合成系统的可靠性呢? 这与w e b 服务合成系统的实现技术是密不可分的。 当前,w e b 服务合成的方法主要有两种:基于工作流管理的合成 s g w 0 1 1 和基 于事务来强制合成服务。我们的系统使用的是第一种技术,即用当前比较成熟的 工作流技术来合成w e b 服务。 工作流是对企业业务流程的一种描述,是若干个任务及任务间依赖关系的集 合,一直是企业界和学术界的热点研究领域。根据w f m c 的定义,工作流 ( w o r k f l o w ) 就是自动运作的业务过程部分或整体,表现为参与者对文件、信息 或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一 系列相互衔接、自动进行的业务活动或任务。一直以来,企业内部不同工作环节 之问的协作效率问题一直是困扰企业管理人员的一个大问题。如何加快部门之间 的周转速度,使得当一个任务结束之后,另一个任务可以在最短的时间内启动起 来,是令管理人员伤脑筋的一个问题,工作流技术的出现,很好地解决了这个问 题。它将企业内部的任务整合成一个流程,这样,任务之间的周转和调度很大程 度上依靠计算机的自动执行,大大缩短了周转时间。目前。工作流技术已被广泛 应用于企业的生产过程中,为企业的带来了办公方式和效率上的革命。 通常,工作流管理系统指用于定义、实现和管理工作流运行的一套软件系统, 它和工作流执行者( 人、应用) 交互,推进工作流实例的执行,并监控工作流的 运行状态。在这里需要强调指出的是工作流管理系统不是企业的业务系统。在很 大程度上,工作流管理系统为企业的业务系统运行提供一个软件支撑环境,非常 类似于在单个计算机上的操作系统。只不过工作流管理系统支撑的范围比较大、 环境比较复杂而已。在工作流管理系统的支撑下,通过集成具体的业务应用软件 和操作人员的接e l 操作,才能够良好地完成对企业经营过程运行的支持。所以, 工作流管理系统在一个企业或部门的经营过程中的应用过程是一个业务应用软件 系统的集成与实施过程。 虽然对于工作流的研究仍存在一些难点问题( 如并发控制、动态重配置和恢复 处理) ,但当前工作流技术己经趋于成熟,从建模、调度到流程的监控都形成了一 套比较完备的理论,广泛应用于各种领域,出现了许多原型系统和商用系统,如 i b m 公司的f l o w m a r k 系统、美国佐治亚大学研制的m e t e o r 2 系统以及奥地利的克 拉根福大学的w a m o 系统等等。 当前,企业对分布式计算的需求越来越高。迅速发展的网络技术和面向组件技 术带柬了工作流技术发展的新思路,即将w e b 技术、分布式对象处理技术和工作 流管理技术相结合。在这样的思路指导下,我们在深刻掌握了工作流的理论、充 3 东北大学硕士学位论文第一章引言 分研究了其它工作流管理系统的优缺点后,以m i c r o s o f t n e t 系统为底层通讯平台 自行开发了一个支持分布式复杂应用的工作流管理系统es c o p e w o r k 。该系统基于 w e b ,采用完全分布式的体系结构,在流程定义、模型验证、并发控制以及恢复处 理等方面提出了一整套较为完备的解决方案,以满足大规模复杂应用领域的要求。 对工作流运行机制的掌握,使得我们进行w e b 服务的合成有了技术上的保证。 那么如何保证合成系统的可靠性? 我们同样应用工作流的恢复技术来解决这一问 题。工作流系统的运行可靠性是通过从错误建模、日志登记、故障检测到恢复处 理等一整套完善的恢复理论来保证的,它能够使得正在运行的工作流系统即使发 现并妥善处理出现在系统各个层次上的异常情况。在w e b 服务合成系统中,每个 已发布的w e b 服务操作作为任务,。分布在不同的执行场地上。同样以w e b 服务形 式存在的调度系统( 由分布在各个场地上的任务管理器构成) 负责任务之间的跃 迁关系的处理。而对于合成系统的可靠性是通过在工作流恢复思想的基础上、结 合w e b 服务的自身特点、设计并实现的一套较为完备的故障检测和恢复机制来保 证的。为了更好的适应合成系统可靠性的要求,我们从多个方面对工作流的恢复 理论进行了扩展,从而大大增加了系统的错误处理能力。 1 2 当前的研究现状 随着w e b 服务技术越来越成熟,w e b 服务的合成已经成为人们关注的一个新 的研究课题。当前,已经有一些原型系统和商用系统被设计和开发出来,这些系 统采用不同的技术来实现w e b 服务的合成,并且在不同程度上提供了对合成系统 运行可靠性的保证。我们对当前主要的w e b 服务合成系统的优缺点进行了分析, 并且着重研究了系统的故障检测和错误处理机制,这会对我们进行的研究工作起 到一定的借鉴作用。 ( 1 ) s e l f s e r v b s h 9 9 是由u n i v e r s i t y o f n e ws o u t hw a l e s 设计的w e b 服务合 成原型系统,它采用五层体系结构:服务层、会话层、目录层、通信层和用户层。 服务层主要是各种服务,包括基本服务、合成服务和服务容器;会话层包括各种 服务模板 目录层存储服务的元资料;用户层通过三种组件( 服务发现引擎、服 务构建器和服务部署器) 提供了访问合成服务的环境。该系统并未对可靠性提供 保证。 f 2 1w e b t r a n s a c t p b m 0 2 是f e d e r a lu n i v e r s i t yo f r i od ej a n e i r o 设计的w e b 服务 合成原型系统,它采用了多层的体系结构:远方服务层、协调层和合成层。通过 4 东北大学硕士学位论文第一章引言 扩展w s d l 提出了基于x m l 的语言一一w 曲服务事务语言( w e bs e r v i c e s t r a n s a c t i o nl a n g u a g e ) 和一个叫做两层终止保证( 2 l g u a r a n t e e d t e r m i n a t i o n ) 的事 务模型。基于服务事务特性,将每个服务操作分为日r 补偿的( c o m p e n s a b l e ) 、虚拟 可补偿的( v i r t u a l c o m p e n s a b l e ) 、可重试的( r e t r i a b l e ) 和关键的( p i v o t ) 四种。 当异常发生时,w e b t r a n s a c t 系统根据服务操作的不同类型,对出现异常的操作进 行不同的恢复处理,这使得系统具有了一定的容错能力。虽然该原型系统指出了 不同服务问的异构性问题,在可靠性方面有了一定保证,但是这种恢复处理着眼 于局部,并未涉及到整个流程的出错处理,因此,并不能说该系统具有较强的恢 复处理能力。 ( 3 ) e f l o w c i j 0 0 是由h p 实验室开发的服务合成平台,它提供了定义、建立和 监控合成服务的功能。它由底层的集中式的过程引擎负责合成服务所有实例的调 度、分配和控制执行,提出了多服务节点和通用节点的概念。事务区( t r a n s a c t i o n r e g i o n ) 概念的提出是该系统在保证系统可靠性方面做出的一大贡献。事务区以原 子方式被执行,如果其中任何一个服务不能成功完成,那么所有正在运行的服务 都被取消,已经完成的服务被补偿。这种机制的提出使得流程级的错误处理成为 可能:一旦异常出现,恢复模块可以根据仓储中定义的事务区进行全局的恢复处 理,大大提高了系统的容错能力。但是e f l o w 的恢复系统也并不十分完善,它对可 能出现在系统各个级别上的错误并未提供较强的检测功能,这使得尽快、全面地 发现运行异常成为该系统的一个缺点。 基于对以上合成平台的研究,我们设计并实现了一个具有较强故障检测和恢 复处理能力的w e b 服务合成系统e _ s c o p e 4 w s 。该系统是基于工作流的机制实现的, 对任务( w e b 服务操作) 和任务管理器的状态进行了细分,并在此基础上,不仅提 供了面向局部和整个流程的恢复处理,而且实现了较为完善的监控和检测功能, 对w e b 服务合成的可靠性提供了较好的支持。 1 3 本文的组织结构 将工作流的恢复理论应用于w e b 服务合成系统中,我们开发了w e b 服务合成 系统的恢复系统来保证合成平台的运行可靠性。本文介绍了使用工作流技术进行 w e b 服务合成以及进行可靠性保证的相关关键技术,并对恢复系统的总体框架和 流程监控、故障检测及恢复三个子模挟的设计和实现机制加以描述。 全文一共分为六章。 5 东北大学硕士学位论文第一章引言 第一章是引言,主要是对我所进行的研究工作加以概括性的说明,包括当前 w e b 服务合成系统的提出,其可靠性如何保证,以及该技术的当前研究现状,并 提出了自己的解决方案。 第二章是关键技术,分别对w e b 服务、w e b 服务合成、工作流技术和工作流 的恢复理论进行了介绍,这些是我们开展后续工作的必要准备。 第三章是从总体上概括了w e b 服务合成平台的恢复系统的框架结构,并对底 层通讯平台m i c r o s o f t n e t 进行了介绍。 第四章是对f 1 志记录及流程监控系统的实现机制的介绍 第五章中我们针对本合成系统的特点,提出了面向主机系统、任务管理器和 w e b 服务的三层检测模型。 第六章讲述了系统的恢复策略。 6 东北大学硕士学位论丈第二章关键技术 2 1w e b 服务 第二章关键技术 2 1 1w e b 服务的定义 随着i n t e r n e t 的飞速发展,很多商业机构非常希望能够将他们的企业运营集成 到分布式应用环境中去,比如网上购物、网上订票等业务。因此,要求基于i n t e m e t 开发标准的分布式计算环境必须能够独立于提供商、平台和编程语言;而且,它 必须提供足够的交互能力,能够适合各种应用场合的不同需求;而对程序员来说, 它还必须易于实现和发布应用程序。w e b 服务正是在这样的个背景下出现的。 w e b 服务是使应用程序能够通过i n t e r a c t 进行通信的一种通用手段,而不管操 作系统或编程语言是什么。在最近一段时间内,w e b 服务已经席卷了整个软件业, 在不久的将来,它将会构建互联网应用的新模式。w e b 如此风行的原因也许可以 归结为它的两个独特优势:简单性和普遍性。 w e b 服务是i n t e m e t 以及相关技术发展到一定程度的产物。自从有了i n t e m e t , h t t p 协议就广为使用,其简单性、可靠性、通用性使得依靠他的网页可以流行在 各个平台上。x m l 语言的诞生使得信息的传输可以脱离平台、程序语言的限制, 为网络上各种系统的“对话”提供了- - 1 3 “国际化语言”。s o a p 协议为服务的请 求、消息的格式定义了简单的规则,并得到了各大系统软件商的支持。这一切好 像都是在为一种新的分布式计算环境作铺垫,w e b 服务的出现似乎成了一件必然 发生的事。 w e b 服务是一种新型的w e b 应用。它们是自包含、自定义、模块化的应用, 能通过w e b 被发布、定位和调用。w e b 服务具有在完全不同平台之间的互操作性, 在无所不在的网络技术上调用w e b 服务的能力。w 曲服务的目的是通过使用w e b 标准达到应用间的互操作,因此w e b 服务被称为下一代的w w w 。现在越来越多 的企业和组织将自己的信息服务封装成w e b 服务,通过i n t e m e t 发布,便于用户访 问。 7 东北大学硕士学位论文第二章关键技术 2 1 2w e b 服务的体系结构 完整的w e b 服务是一个由三方面要素组成的体系结构,分别是服务提供者、 服务消费者和服务注册表( 如图2 1 所示) 。其中服务注册表是中心节点,它使得 在另两个要素间建立绑定关系成为可能。 p u b i i s h , 图2 1w e b 服务体系结构 f i g 2 1w e b s e r v i c ea r c h i t e c t u r e 服务提供者 服务提供者是创建该w e b 服务的实体。典型情况下,服务提供者把他们机构 的某种业务功能展示成一种w e b 服务,供任何其它机构调用。以一个想把在线定 购图书的服务作为w e b 服务的网上图书销售商为例。该服务提供者需要做两件事 来完成w 曲服务的功能。第一,需要用标准的格式来描述该w e b 服务,这个格式 是所有使用该w e b 服务的机构能够理解的。第二,为了能使更广泛的用户知道该 项w e b 服务,w e b 服务提供者需要把他们的w e b 服务的详细资料发布到一个任何 人都能使用的注册中心去。 服务消费者 任何使用服务提供者建立的w e b 服务的机构都叫做服务消费者。服务消费者 可以从服务提供者所做的描述了解某项w e b 服务的功能。为了检索w e b 服务的细 节,服务消费者要在注册表查找,而服务提供者已经把他的服务描述发布到了注 册表。更重要的是,服务消费者能够从服务提供者的描述中获得一种机制,这种 机制可以绑定w e b 服务提供者的服务,反过来又调用该服务。 服务注册表 服务注册表整个结构的中心节点。服务提供者通常在那里列出他们的w e b 服 务清单( 包括对w e b 服务的描述信息) ,服务消费者可以在那里搜索w e b 服务。 8 东北大学硕士学位论文第二章关键技术 服务提供者通常在服务注册表发布他们w e b 服务的功能,供服务消费者查找。一 旦服务消费者找到了满足条件的w e b 服务,则相当于在提供者和消费者之间建立 了一个绑定关系。 2 1 3w e b 服务的特点 w e b 服务就是通过w e b 接e l 提供的某个功能程序段。通过标准的i n t e m e t 协 议( 例如h t t p ) 可以很容易地访问该功能。w e b 服务不仅为那些使用第三方w e b 服 务的应用程序提供了很多的好处,也为发布客户w e b 服务的应用程序本身提供了 很多好处: 平台无关性 任何能够访问i n t e m e t 的平台都可以访问w e b 服务。任何与i n t e r n e t 建立连接 的应用程序都可以向i n t e m e t 上的任何一个w e b 服务发送s o a p 消息,同时也可 以接收来自w e b 服务的s o a p 消息。 通用的通信信道 w e b 服务的运行是以i n t e m e t 作为其通信机制的,是建立在诸如t c p i p 和h t t p 这些开放的、标准的通信协议之上的,整个i n t e m e t 普遍支持这些既定的协议。 w e b 服务将i n t e m e t 作为通信信道可以确保获得最高级别的访问可用性,而无需将 这些协议锁定到将来不会与新系统集成的专有解决方案中。每个公共的w e b 服务 都可以被使用,因为所有的设备都连接到了这个广泛的、通用的通信信道上。 企业的互操作性 服务提供了真正的企业互操作性功能。w e b 服务允许通过标准来提供业务功能。 长期以来都使用电子文文件交换来实现这一功能,不过实现该功能的开销十分昂 贵、且十分耗时,并且灵活性比较差。w e b 服务允许通过x m l 和h t t p 这两个既 简单又易用的协议来完成这过程。 w e b 服务具有很大的灵活性,当业务需求或合作伙伴发生变化时允许企业修改 和扩展w e b 服务的功能。这种方式使公司能够灵活地应对业务关系的变化。在业 务环境不断改变的今天,这种灵活应对变化的能力是完全必要的。 功能复用 通过使用外部厂商提供的w e b 服务,开发人员能够利用外部厂商已经实现的功 能。这意味着可以使用较少的时间开发与解决具体的业务问题无关的应用程序。 开发人员不必创建基础结构和支撑服务就可以集中精力针对问题提供最好的业务 解决方案。 东北大学硕士学位论文第二章关键技术 拓展业务 w e b 服务支持企业拓展与消费者的关系及消费者领域。通过允许第三方使用 w e b 服务访问内部系统的方式,企业允许消费者以更加集成化的方式和以用户为 中心的方式访问它们:当允许第三方能够结合由厂商提供的相关w e b 服务为消费 者开发集成的解决方案。将解决方案打包到一个集成的单元后,给用户带来的是 更好的体验,而且厂商也拓展了自己的业务。 w e b 服务也能够被用来方便地拓展贸易伙伴关系。通过将供应链与w e b 服务 的供货商集成在一起,可以使业务过程能够动态、灵活地变换需求。当有新的业 务伙伴加入时,新伙伴就能够使用公司所提供的w 曲服务顺利地集成到整个系统 之中。 服务器的中立性 开发w e b 服务所使用的程序设计语言和服务器软件是没有关系的。w e b 服务 的接口是基于标准的,而且,在w e b 服务和客户机之间传递的消息在h t t p 之上 使用了x m l 。w 曲服务所在的服务器可以运行u n i x 、w i n d o w s 、l i n u x ,或者是 其它任意的操作系统。在w e b 服务幕后执行功能的软件可以是用j a v a 、c + + 、c 1 1 , 或开发小组习惯使用的任何其它编程语言编写的。 w e b 服务既可以由v i s u a lb a s i c 语言和c o m 技术配合使用进行编写,也可以 由j a v a 语言和j a v a b e a n 技术配合使用进行编写,这是w e b 服务区别于以前组件技 术的重大变化。如果需要的具体功能在一个领域中存在,而在另个领域中不存 在,那么就必须使用程序设计模型。有了w e b 服务以后,就不再被迫基于第三方 的功能需求来选择种程序设计语言了。这给了从事w e b 服务开发的人员很大的 灵活性,并打开了一个曾经封闭的领域。另外,开发人员能够根据自己使用某个 程序设计语言方面的经验( 而不是根据客户机的需求) 来开发解决方案。这使得 工作效率得到了提升,也增加了开发人员的满意程度。 安全的通信 w e b 服务像所有的w e b 应用程序一样安全。保护在线商业站点使用的技术也 同样用于保护和验证w e b 服务的身份。很多人都担心w e b 服务的优势同样也带来 了巨大的安全隐患:在使用标准的x m l 消息利用h t t p 协议完成组件方法的调用 方面存在有安全隐患。几乎所有的防火墙都允许h 丌p 通过,这就意味着可以在 i n t e r n e t 上的防火墙背后提供w e b 服务。无论如何,这都不能意味着黑客们能够任 意访问您使用x m l 编码的h t t p 信息包的受保护的网络。 可以创建一个w e b 服务,并让它在信息包被处理之前侦听进入的s o a p 请求。 防火墙可以被设最为拒绝s o a p 请求,但是s o a p 请求将会因不存在的服务而产 1 0 东北大学硕士学位论文第二章关键技术 生一个h t t p 4 0 4 类型的错误:未找到资源。一旦创建并部署了一个w e b 服务,必 须像保护所有w e b 应用程序那样来保护它。或许只有通过验证贸易伙伴的身份才 允许访问w e b 服务,或许将对每个访问收取一定的费用,并把w e b 服务的作用都 记录下来。 可以使用s s l 加密技术来保护传输中的资料,使用a d s l 或l d a p 能够查找 成员的关系和进行身份验证。w e b 服务能够使用在特殊服务器上可用的所有的 h t t p 身份验证方法:基本的、询问响应式的、摘要式的,以及诸如此类的方法。 简单地讲为了提供w e b 上的功能,w e b 服务提供了一种非常安全的方式。 2 1 4w e b 服务的标准 目前已有好几个业界标准来提供w e b 服务互操作的基础架构,包括s o a p , w s d l ,u d d i ,它们提供服务的调用,描述、发布、发现和协作的建造块。w e b 服务技术栈如图2 2 所示: 图2 2w e b 服务技术栈 f i g 2 2w e b s e r v i c et e c h n o l o g ys t a c k x m l 是一种在所有服务中表示资料和消息的统一的标准方式。s o a p ( s i m p l e o b j e c ta c c e s sp r o t o c o l 简单对象访问协议) 提供基于x m l 的信息交换协议和请求服 务。w s d l ( w e bs e r v i c ed e s c d p t i o nl a n g u a g e ,w e b 服务描述语言) 是一种基于 x m l 的语言,能够用来描述服务操作。u d d i ( u n i v e r s a l d e s c r i p t i o n ,d i s c o v e r y a n d i n t e g r a t i o n 通用描述、发现和集成) 提供一个发布和发现服务的注册中心。其它的 规范像x l a n g ,w s c l 和w s f l ( w e b s e r v i c ef l o w l a n g u a g ew e b 服务流程语言) 是支持服务间的互操作。w s c l 能用来描述服务支持的对话( 例如:所支持的操 作和它们被调用的合法顺序) 。x l a n g 是另一种能用来根据一个服务所支持的对 东北大学硕士学位论文第二章关键技术 话来描述一个服务的行为。w s f l 提供一个基于工作流的符号来描述服务合成。 好几个w e b 应用开发平台像m i c r o s o f t n e t , i b mw e b s p h e r e ,s u no n e ,h p n e t a c t i o n ,a n db e aw e b l o g i ci n t e g r a t o r 提供了对w e b 服务标准的一些支持。 s o a p 协议 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) 是w e b 服务的核心协议。它是调用远程 方法的一个x m l 标准,这里的远程方法位于运行w e b 服务的服务器上。s o a p 协议规定了方法请求的格式和传递到消息中的参数格式。s o a p 协议包含了一系列 规则,从而允许发送和接收正确信息。s o a p 协议并没有定义任何关于实现方法本 身方面的内容,它只是定义了客户机应如何与之进行交流。 s o a p 标准明确规定了h t t p 协议并不是唯一能够发送s o a p 消息的传送方法。 s o a p 协议仅仅是消息的格式,可以通过任何所要求的通信系统发送它们。我们甚 至可以创建一个基于s m t p 消息的s 0 a p 解决方案。使用简单和无状态的h t t p 协议可以提供巨大的可伸缩性,还能够不受阻拦地穿越现有的防火墙软件。对于 几乎所有的设备和系统来说,h t t p 协议同样可以完成这一任务。所以,我们可以 享受到h t l l p 协议跨平台支持的优势。 s o a p 标准支持所有的设各或应用程序使用w 曲服务。s o a p 消息的定义很明 确。如果客户机和服务器发送了有效的s o a p 消息,这两个消息可以用不同的语 言编写,并且可以驻留在完全不同的系统中。服务器端可以是个j 2 e e 的w 曲 服务,而客户端可以是一个n e tw i n d o w sf o r m s 应用程序。在服务器端和客户端 之问的交流中,s o a p 作为通信的中立协议。 w s d l 协议 w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 提供了一个较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豫剧花木兰课件
- 2025年度数据中心内部设备安装合同协议
- 2025版汽车维修厂维修车间维修技师劳动合同范本
- 2025年度个人信用贷款担保及审核合同
- 2025版跨国企业外教引进与海外员工语言提升服务合同
- 2025年车辆抵押借款合同关键条款分析
- 2025代持股权转让与公司战略调整合作协议
- 2025大型设备运输合同范本
- 2025年版云南省劳动合同范本下载
- 红绿灯课件教学课件
- 加油、加气、充电综合站项目可行性研究报告
- 2025保密协议范本:物流行业货物信息保密
- 塔机拆卸合同范本
- 2024-2025学年广东省深圳市南山区四年级(下)期末数学试卷
- 《煤矿安全规程(2025版)》知识培训
- 2025秋数学(新)人教五年级(上)第1课时 小数乘整数
- 半导体行业面试问题及答案解析
- 《数字技术应用基础模块》技工中职全套教学课件
- 房屋拆除专项施工方案(3篇)
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 2025至2030年中国绿色船舶行业发展前景预测及投资方向研究报告
评论
0/150
提交评论