已阅读5页,还剩62页未读, 继续免费阅读
(计算机软件与理论专业论文)web服务动态编排系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 随着经济全球化发展,越来越多的商业机构开始在全球经济领域来经营他们 的业务。为了适应竞争日益激烈的动态市场环境,许多商家开始在i n t e r n e t 上构建 他们的商业流程,并将自己专长的业务发布为w e b 服务提供给他们的业务伙伴。 在这种市场需求和现状的强烈刺激下,w e b 服务编排成为了学术界和工业界的研 究热点,也成为实现动态业务流程自动化的重要方法之一。 工作流技术是9 0 年代以后计算机应用领域的研究热点之一,是w e b 服务编排 中的重要支撑技术之一。本文针对现有基于工作流的w e b 服务编排系统中存在的 不足,结合动态工作流技术,提出了一个w e b 服务动态编排模型,并根据该模型 总体设计实现了一个w e b 服务动态编排系统。该系统具有支持对复合w e b 服务进 行图形化建模、支持w e b 服务的动态部署与绑定、以及基于q o s 的w e b 服务最优 化选择等特点。 本文还给出了该系统中的重要功能模块图形化的流程设计器的详细设计 与实现,并通过应用实例展示了该工具的实用性。该设计器选择b p e i a w s l 1 规 范作为业务流程建模描述语言,提供直观、易用、操作方便的用户界面,支持对 w s d l 描述的动态获取,并对w s d l 元素进行集中管理,能够满足动态变化的业 务需求对w e b 服务的灵活高效编排的要求。 为了支持在服务编排过程中对w e b 服务的最优化选择、动态部署,本文扩展 了w s d l 和u d d i 规范,将q o s 机制和动态绑定机制引入到w e b 服务中。在研 究w e b 服务领域内的q o s 问题的基础上,提出了w e b 服务q o s 模型和计算方法, 实现了基于q o s 的w e b 服务动态选择,以辅助编排引擎完成w e b 服务的动态编 排。最后总结了课题研究阶段的工作和下一阶段的工作。 本文将q o s 机制和动态绑定机制引入到w e b 服务中,提高了现有的基于工作 流的w c b 服务编排的动态性;提供了图形化的业务流程建模环境,提高了w e b 服 务编排的效率。 关键词:b 服务组合;业务流程建模;动态工作流;b p e l 4 w s = 0 0 s 英文摘要 d e s i g na n di m p l e m e n t a t i o no fw e b s e r v i c e sd y n a m i c o r c h e s t r a t i o ns y s t e m a b s t r a c t w i t ht h ed e v e l o p m e n to fe c o n o m i cg l o b a l i z a t i o n , m o r ea n dm o r ec o m m e r c i a l o r g a n i z a t i o n sc o m ei n t od e a lw i t ht h e i rb u s i n e s si naw o r l d w i d ef i e l d i no r d e rt ob e s u i t a b l ef o rt h ec h a n g i n gm a r k c tw i mg r o w i n gc o m p e t i t i o n m a n yb u s i n e s sc o m p a n i e s h a v eb e g u nt oi s s u et h e i rp r o f e s s i o n a lb u s i n e s sp r o c e s s e sa sw e bs e r v i c e so n t ot h e i n t e m e tt o p r o v i d es e r v i c e s f o rt h e i rp a r t n e r s s t r o n g l ys t i m u l a t e db yt h em a r k e t r e q u i r e m e n t w e bs e r v i c e sc o m p o s i t i o nn o w h a sb e e na sah o t s p o ts t u d i e db ya c a d e m i c a n di n d u s t r i a lo r g a n i z a t i o n sa n di th a sa l s ob e c o m eo n eo fi m p o r t a n tm e t h o d st or e a l i z e d y n a m i cb u s i n e s sp r o c e s s w o r k f l o wt e c h n o l o g yi so n eo ft h eh o t s p o t si nc o m p e e ra p p l i e df i e l ds i n c et h e 1 9 9 0 s i so n eo ft h em o s ti m p o r t a n tt e c h n o l o g i e sa b o u tw e bs e r v i c e so r c h e s t r a t i o n t h i sp a p e rs t u d y st h ew o r k f l o wa n dw e bs e r v i c e st e c h n o l o g i e s ,a n dt ot h es h o r t a g e so f e x i s t i n gw e bs e r v i c e so r c h e s t r a t i o ns y s t e m s ,t h i sp a p e rp r o p o s e saw e bs e r v i c e s o r c h e s t r a t i o nm o d e l a c c o r d i n gt ot h i sm o d e l ,t h i sp a p e rd e s i g n sa n di m p l e m e n t saw e b s e r v i c eo r c h e s t r a t i o ns y s t e m ,w h i c hs u p p o r t sg r a p h i cm o d e l i n g ,d y n a m i cd e p l o y m e n t a n db i n d i n go fw e bs e r v i c e s ,a n do p t i m a lc h o i c eo fw e bs e r v i c e sb a s e do nq o sa n ds o o n t h i sp a p e rp r e s e n t sk e yc o m p o n e n ti n t h i ss y s t e m - - g r a p h i cb u s i n e s sp r o c e s s d e s i g n e r , a n da l s oe v a l u a t e st h i st o o lb ya na p p l i c a t i o ni n s t a n c e t h i sd e s i g n e ra d o p t s t h eb p e l 4 w s l 1s p e c i f i c a t i o na sb u s i n e s sp r o c e s sm o d e l i n gd e s c r i p t i o nl a n g u a g e , p r o v i d e sg r a p h i cm o d e l i n gs e r v i c e s ,a c q u i r e sw s d ld y n a m i c a l l ya n dm a n a g e st h e e l e m e n t si nau n i f i e dw a y ,s oc a nm e e tt h en e e d so ft h ed y n a m i cb u s i n e s st ow e b s e r v i c e so r c h e s t r a t i o n f o rt h ep u r p o s eo fc h o o s i n go p t i m a l l ya n dd e p l o y i n gw e bs e r v i c e s ,w ee x t e n d e d w s d la n du d d it os u p p o r tq o sa n dd y n a m i cb i n d i n g b a s e do nt h er e s e a r c ho fq o s o fw e bs e r v i c e s ,t h i sp a p e rp u t sf o r w a r dam o d e la n dc o m p u t a t i o na l g o r i t h mo fq o so f w e bs e r v i c e s 。a n dr e a l i z e sd y n a m i cc h o i c eo fw e bs e r v i c e sb a s e do nq o s ,i no r d e rt o a c h i e v ew e bs e r v i c e sd y n a m i co r c h e s t r a t i o nc o o p e r a t i n gw i t l lt h eo r c h e s t r a t i o ne n g i n e 。 英文摘要 f i n a l l y , t h i sp a p e rs u m m a r i z e sa l lo u rr e s e a r c hw o r k s a n dp r e s e n t st h en e x ts t e p sw o r k s i nt h ef u t u r e t h i sp a p e ri m p r o v e st h ed y n a m i s mo f e x i s t i n gw e bs e r v i c e so r c h e s t r a t i o nb a s e do n w o r k f l o wb yi n t r o d u c i n gq o sa n dd y n a m i cb i n d i n gm e c h a n i s m st ow e bs e r v i c e s ; i m p r o v e st h ee f f i c i e n c yo fo r c h e s t r a t i o nb yp o d d i n gag r a p h i c a lb u s i n e s sp r o c e s s m o & :l i n ge n v i r o n m e n t k e yw o r d s :w e bs e r v i c e so r c h e s t r a t i o n ;b u s i n e s sp r o c e s sm o d e l i n g ;d y n a m i c w o r k f l o w ;b p e l 4 w s ;q o s 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博i 硕士学位论文:壁坠腿釜动盔缠挂丕统的遮让皇塞堡:。除论文中已 经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发 表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签 学位论文版权使用授权书 班矿j ,月邛 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 不保密d ( 请在以上方框内打“一) 论文作者签旃卿燧名:弥 忉 日期:游啪徊 w c b 服务动态编排系统的设计与实现 第1 章绪论 本章概括介绍了课题的研究背景、国内外研究现状及主要研究内容,最后介 绍了本文的组织结构。 1 1 选题背景及意义 随着i n t e m e t 的发展,很多商业机构非常希望能够把它们的企业运营集成到分 布应用软件环境中,比如网上支付、网上购物、网上订票和网上炒股等。这就需 要一个基于i n t e m e t 开发标准的分布式计算模式。w e b 服务是一个网络应用,它能 利用标准的应用层w e b 协议、基于定义良好的接口进行交互,并且由一种标准的 功能描述语言来描述【l 】。w e b 服务技术能较好地解决了不同的平台应用间的整合问 题,为跨企业边界的业务流程的自动化提供了对应的技术基础。w e b 服务作为一 种新兴的w e b 应用模式,是国内外工业界和学术界关注的焦点之一。 从服务提供者的角度来看,各种服务的提供者分工越来越明确,单个的w e b 服务所提供的功能相对单一,往往不能实现用户的目标,一个完整的服务通常要 包含几个基本的w e b 服务。例如,一个旅行服务可能由航空订票、旅馆预定、汽 车租赁等几个服务组合而成。因此为了实现满足用户提出的各种需求的完备功能, 必须将分散的单个w e b 服务组合起来,形成具有增值价值的组合w e b 服务。 w e b 服务组合方式有两种:编排( o r c h e s t r a t i o n ) 和编导( c h o r e o g r a p h y ) 。编排方 式目前最典型的实现方案是基于过程的服务组合( 其中以工作流方式为主) ,而编 导方式最典型的实现方案是p 2 p 协同组合。在编排方式中,服务组合引擎采用的 是集中式控制,负责解析预先定义好的业务流程模型来调用执行服务伙伴。在编 导方式方式中,服务组合采用对等方式协同,每个参与组合的服务伙伴上都部署 了协同的数据片断和控制流,在运行时刻,服务伙伴本身负责执行数据和控制流 来协调互相之间的调用。 编排方式由于采用集中式控制,便于维护和修改,方便服务组合角色的分配, 它通常采用业界行业标准,复用性和适应性强,并得到了广大厂商的支持。对参 与服务组合的服务伙伴无特殊要求,能集成现有在分布式事务、异常、安全等关 键技术领域的成果。而编导方式能将负载和可靠性均衡的分布,适用于大数据量 第1 章绪论 和动态的环境,无集中控制中心,不便于集中维护和修改,也不便于业务角色的 分配。由于目前p 2 p 计算领域还未有行业标准,复用性和适应性并不强。另外, 编导将控制功能下放到每个参与组合的服务上,并在这些服务上安装协调器和下 载路由表,需要对参与服务组合的系统做一定的附加工作,在商业市场上也是不 太可行的。因此,本文重点研究w e b 服务编排。 为了高效灵活地实现w e b 服务组合,研究人员做出了很多努力,目前的研究 主要集中在工作流组合以及人工智能规划两个领域。 在人工智能规划领域,有状态演算、p d d l 、基于规则的规划等方法。该类方法 的一般假设是每一个w e b 服务都能用它在规划上下文中的前置条件和作用来规范, 能更准确、更灵活、更智能地实现服务组合。但是目前仅仅用于领域性很强的科 学研究领域,业界对其的工具支持也很有限,其基于a g e n t 的开发实现技术也并 不很成熟,相对于商业领域来说目前开发还过于复杂。 工作流是针对工作中具有固定程序的常规活动而提出的一个概念。由于工作 流技术的独特优势,越来越多的公司利用工作流系统来完成它们的业务过程,并 希望利用工作流本身跨业务领域和软件系统的特点实现业务流程自动化,构造应 用集成系统。目前,基于工作流的w e b 服务组合系统主要是基于静态工作流产生 的方法,不能满足对动态w e b 服务的动态选择、部署与绑定。另外,组合系统中 业务流程建模环境的直观性、动态性、建模效率也不能满足动态变化的业务需求 对w e b 服务的灵活高效编排的要求。 鉴于此,本文针对现有的基于工作流的w e b 服务组合系统不足,结合动态工 作流技术,提出了一种w e b 服务动态编排模型,并根据该模型设计了w e b 服务动 态编排系统,实现了对复合w e b 服务的图形化建模及动态部署与绑定。 该课题来源于国家自然科学基金项目“面向分布式软件开发的软构件协同计 算模型及形式化验证”( 编号:6 0 5 7 3 0 8 7 ) 及国家8 6 3 高技术研究发展计划项目 “基于高性能宽带通信网络的软件支撑体系研究”( 编号:2 0 0 4 a a l l 6 0 1 0 ) 。本论 文主要承担w e b 服务动态编排技术的研究工作。 1 2 国内外研究现状 近年来,服务组合问题的研究已经吸引了学术界和工业界的广泛关注,与此 2 w e b 服务动态编排系统的设计与实现 相关的平台研制和产品开发也大量开展起来。目前,比较典型的系统有: e f l o w 系统 e f l o w l 2 1 是由h p 实验室开发的一个e s e r v i c e 平台p 】f 4 l ,它以工作流技术为基础, 通过工作流模型来描述服务组合的结构,并由e :l o w 流程引擎执行模型,实现描 述、设定和管理组合式e s e r v i c e s 。组合服务的流程定义是使用c s d l ( c o m p o s i t e s e r v i c ed e s c r i p t i o nl a n g u a g e ) 进行描述的。 其主要特点为:底层的执行模型是基于集中式的过程引擎,该引擎负责组合 w e b 服务所有实例的调度、分配和控制执行。e f l o w 提出了多服务节点和通用节点 的概念。e f l o w 还提出了事务区的概念:事务区应该以原子方式被执行,如果事务 区中的任何一个服务不能成功完成,那么所有正在运行的服务都被取消,已经完 成的服务被补偿。这种机制的提出使得流程级的错误处理成为可能:一旦异常出 现,恢复模块可以根据仓储中定义的事务区进行全局的恢复处理,大大提高了系 统的容错能力。 但是,它使用静态工作流产生的方法,系统只集中于由当前的服务组合更复 杂的服务,没有提供运行时的动态服务组合。另外,e f l o w 的恢复系统也并不十分 完善,它对可能出现在系统各个级别上的错误并未提供较强的检钡0 功能,这使得 尽快、全面地发现运行异常成为该系统的一个缺点。 s c e t 系统 s c e t ( s e r v i c ec o m p o s i t i o na n de x e c u t i o nt 0 0 1 ) 是g e o r g i a 大学开发的一 个支持w s f l 的服务组合和执行工具。其中的核心的部件s c e t 由一个流程设计工 具、模拟模型生成器、p e r l 执行代码生成器、运行监控器构成。流程设计器( p r o c e s s d e s i g n e r ) 是一个图形化的设计工具,通过它可以实现流程的静态组合。用户可以 用图来表示流程,并为图的节点和边配置必须的信息。设计器可以将组合流程存 储为基于w s f l 的描述文件,或者将其以x m l 方式保存到x m l 库中p e r l 代码解释 器把w s f l 文档翻译成p e r l 代码后执行:该系统由于p e r l 语言的限制而不能完成 一些功能,如不能支持自定义类型等,同时系该系统不支持服务的动态组合,只 能部分支持w s f l 语言。 s e l f s e r v 系统 s e l f s e r v 5 l ( c o m p o s i n gw e ba c c e s s i b l ei n f o r m a t i o na n db u s i n e s ss e r v i c e s 第1 章绪论 r e s e a r c hp r o j e c d 是由u n i v e r s i t yo f n e ws o u t hw a l e s 设计的w e b 服务组合系统原型。 s e l f s e r v 作为一个实现快速组合w e b 服务的平台,主要应用在p 2 p 的动态环境 中。在s e l f s e r v 中,区别三种服务类型:基本服务、复合服务以及服务社区。 基本服务是指不依赖于其它w e b 服务,可以在w e b 上被访问的个体服务;复合服 务是指将多个基本服务作为服务组件组合在一起的复杂服务;复合服务的操作可 以看作是具有输入参数、输出参数以及处理流程的结构图。在s e l f s e r v 中引入 服务社区的概念是为了解决潜在的大量w e b 服务的动态组合问题。服务社区本质 上来说是指具有可替代服务的容器。在服务社区中,只提供服务的描述,而并不 绑定具体的服务提供者,当服务社区接收到操作执行请求时,才将操作与服务社 区中具体的成员进行绑定。这种绑定是根据请求的具体参数,成员的特征,历史 执行记录以及当前运行状态来决定的。 s e l f s e r v 中所提出的服务社区的概念将服务的描述与服务的实现分离开 来,能够根据服务的描述在服务社区中找到对应的成员进行动态绑定,但是, s e l f s e r v 没有将服务的开发与部署分离开来,不能对服务进行动态的部署。同 时,s e l f s e r v 没有对服务组合的过程进行相应描述,无法体现复合w e b 服务运 行过程的动态性。另外,参与组合服务的w e b 服务提供者必须安装该系统提供的 一个协调器和包装器来实现p e e r - t o p e e r 的执行,这就会产生安全问题,并且在一 定程度上限制了该系统的应用范围和领域。 其他系统 其它主要的w e b 服务组合系统包括c o s m o s l 6 1 ,d y f l o w 7 1 、s w o r d 8 1 等。但是这些 系统也或多或少的存在一些缺陷:c o s m o s 需要用户使用自然语言表达需求,由于 自然语言的多义性用户的需求很难表达清楚,而且它摈弃了u d d i 的使用,需要用 户按照它的规则编辑w e b 服务,这样就很难使用u d d i 中注册的大量的w e b 服务1 6 1 ; d y f l o w 不允许用户直接进行图形化组合,需要用户为每个w e b 服务手工录入一些 语义信剧7 l ;s w o r d 只针对特定的w e b 服务类型( 提供信息服务的w e b 服务) 有效, 不适用于所有的w e b 服务1 8 j 。 b p w s 4 j 工具包 b p w s 4 j 1 9 是i b m 在其a l v h a w o r k s 网站上发布的可以自由使用的支持 b p e i a w s 语言的工具包,它包含了两个部分:b p e l 文档编辑器用来生成b p e l 文 4 w 曲服务动态编排系统的设计与实现 档,另一部分则为b p e l 文档提供了运行时环境。b p e l 文档编辑器是为用户提供 了一个符合b p e l 规范的可视化的文档编辑环境,用户必须熟悉b p e l 规范的要求, 否则无法创建文档。 l t s a t 具包 l t s a 1 卅是伦敦帝国学院科学技术与医学系开发的标签转移系统分析器 ( l a b e l l e dt r a n s i t i o ns y s t e ma n a l y z e r ) ,它是一个偏向循序转变和l t l 模型检 测的分析器。l t s ab p e i a w se d i t o r 原型采用了代码编写加服务交互定义的设计 思想,代码编写即b p e l 代码由设计人员自行编写,服务交互定义则指运用图形 化方式定义服务交互,采用该思想的优点是把图形化拖拉定义方式加入了服务交 互定义中,在交互细节上表示得更为清晰,整体上的表示则通过f s p 映射机制将 b p e l 代码映射为f s p 图,缺点是流程定义基本要靠手工编写实现,映射出来的 f s p 图的可读性并不尽人意,对流程的表达也欠妥。 通过上面的分析我们知道,目前基于工作流的w e b 服务编排系统存在着以下 不足:( 1 ) 不支持对动态w e b 服务的动态选择、部署与绑定。( 2 ) 业务流程建模环 境的直观性、动态性、建模效率不能满足动态变化的业务需求对w e b 服务的灵活 高效编排的要求。 1 3 主要研究工作 本文在w e b 服务编排领域的基础理论和w e b 服务编排系统的实现技术两方面 开展了较为深入的研究和探索工作,其中包括: 1 )分析了国内外w e b 服务组合系统的发展现状,针对现有基于工作流的 w e b 服务组合系统中存在的不足,提出了一种w e b 服务动态编排模型。 2 )根据本文提出的模型,总体设计并实现了w e b 服务动态编排系统 w s b p o s ,该系统具有支持对复合w e b 服务进行图形化建模、支持w e b 服务的动态部署与绑定、以及基于q o s 的w e b 服务最优化选择等特点。 3 )对现有w s d l 服务描述和u d d i 的数据结构进行扩展,将q o s 机制引 入到w e b 服务中,以支持运行时态对w e b 服务进行优化选择;将动态 部署机制引入到w e b 服务中,以支持w e b 服务开发与部署的完全分离。 4 )实现了基于q o s 的w e b 服务动态选择方法。研究了w e b 服务领域内的 第1 章绪论 q o s 问题,提出了w e b 服务q o s 模型和计算方法,实现了基于q o s 的 w e b 服务动态选择,以辅助编排引擎完成w e b 服务的动态编排,并进行 了实例验证。 5 )完成了系统中重要功能模块一图形化的流程设计器的设计与实现。该设 计器提供直观、易用、操作方便的用户界面,支持对w s d l 描述的动态 获取,并对w s d l 元素进行集中管理,能够满足动态变化的业务需求对 w e b 服务的灵活高效编排的要求。 1 4 论文的组织与结构 本论文共分为七章:第一章为绪论。介绍本课题的背景和课题来源,对国内 外的相关工作进行分析和总结,阐明本文的研究目标和主要工作内容。 第二章介绍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 服务的q o s 问题,提出 基于q o s 的w e b 服务动态选择方法,并给出实例验证。 第七章为结论,总结本文的工作,并提出下一步的工作设想。 6 w e b 服务动态编排系统的设计与实现 第2 章相关理论基础 本章将主要介绍w e b 服务、w e b 服务编排以及工作流的基本概念。 2 1w e b 服务 目前,大多数电子商务的应用和基于w e b 的商业服务在处理购买者、供应商、 交易市场和服务提供者之间的联系方式上各不相同。如何将这些应用方便且低代 价地连接在一起,从而实现大范围的跨企业实体的商务应用系统对接,这是摆在 开发人员面前的一大问题。不同的应用( 尤其是不同企业的) 开发语言不同,部署 平台不同,通信协议也可能不同,对外交换的数据格式也有着很大的差异。如何 解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集成,就 是这个问题的关键。从1 9 9 8 年开始发展的x m l 技术及其相关技术被证明有可能 解决这个问题。目前蓬勃发展的w e b 服务技术则正是基于x m l 技术的、针对这 一问题的最佳解决方案【12 1 。 2 1 1w e b 服务的定义 w e b 服务m 。2 0 l 是一种部署在w e b 上的对象,不同的人可能对w 曲服务有不同 的理解,如w e b 服务是自包含的、模块化的应用程序,它可以在网络中被描述、 发布、查找以及调用;w e b 服务是基于网络的、分布式的模块化组件,它执行特 定的任务,遵守具体的技术规范,这些规范使得w e b 服务能与其他兼容的组件进 行互操作;w e b 服务,是指由企业发布的完成其特定商务需求的在线应用服务, 其他公司或应用软件能够通过i n t e m e t 来访问并使用这项应用服务,等等。 w 3 cw e bs e r v i c e sa r c h i t e c t u r e 小组为w e b 服务暂行的定义剧2 0 1 :“w e b 服 务是由u r l 标识的软件应用程序,其接口和绑定可以通过x m l 构件进行调用、描 述和发现,w e b 服务支持通过基于因特网的协议使用x m l 的消息与其他软件应用 程序直接交互。”从外部使用的角度看,w e b 服务具有以下特征1 2 】: 完好的封装性 w e b 服务既然是一种部署在w e b 上的对象,自然具有对象的良好封装性。对 于使用者而盲,它能且仅能看到该对象提供的功能列表。 松散耦合 7 第2 章相关理论基础 这一特征也是源于对象组件技术,当一个w e b 服务的实现发生变更的时候, 调用者是不会感觉到这一点的。对于调用者来说,只要w 曲服务的调用界面不变, w e b 服务实现的任何变更对他们来说都是透明的,甚至是当w e b 服务的实现平台 从j 2 e e 迁移到n e t 或者是相反的迁移流程,用户都可以为此一无所知。 2 1 。2w e b 服务的体系架构 w e b 服务标准的或者说是典型的体系结构如图2 1 所示【1 9 1 : 图2 1w e b 服务体系结构 f i g 2 1a r c h i t e c t u r eo f w e bs e r v i c e s 在w e b 服务的体系架构里有三种角色:服务提供者、服务注册中心和服务请求 者。其中: 服务提供者 从商业的角度看,这是服务的拥有者。从w e b 服务的架构看,这是拥有服务 的平台。它是w e b 服务的供应商,实现了一个w e b 服务,并放置到在线服务器上 供别人使用。 服务注册中心 它是一个w e b 服务的注册地,汇集了很多在线的w e b 服务。服务提供者向这 里发布他们的服务说明,而服务请求者在这里找到服务,并得到与服务绑定的信 息,在开发时刻实现静态绑定或在运行时刻实现动态绑定。目前,服务注册中心 即为u d d i 商业注册中心。 服务请求者 w e b 服务动态编排系统的设计与实现 从商业的角度看,这是需要某种功能的商业机构。从w e b 服务的架构看,这 是查找、调用服务的应用程序。服务请求可以是人使用浏览器完成,也可以是没 有用户界面的应用程序发出。 在上述三种角色间还存在着三种操作,它们分别是发布、查找和绑定,其中: 发布 为了能够访问服务,必须首先发布服务说明,服务的请求者才能够找到它。 查找 在查找操作中,查询服务说明的位置服务的请求者可能会直接得到服务说明, 也可能会向服务的注册处。查找操作可以出现在服务请求者生命周期的两个不同 阶段,即设计时刻和运行时刻,前者获得服务的接口说明用于程序的开发,后者 获得服务的绑定和定位说明用于服务的调用。 绑定 在绑定操作中,服务的请求者在运行时刻使用服务说明中的绑定信息定位、 连接和调用服务,启动与服务的交互,调用服务的方法。 2 1 3w e b 服务技术体系 实现一个完整的w e b 服务体系需要有一系列的协议规范来支持,图2 2 中给 出了一个完整的w e b 服务技术体系。其中的三个主要技术是用于服务调用的s o a p 协议【2 l l 、用于描述服务的w s d l 语言2 2 】以及用于服务注册与发现的u d d i 2 3 1 。 路由,可靠性,事务 待开发 服务流程b p e l 4 w s ,w s f l 服 服务发现,集成 u d d i 管务安 服务描述w s d l 理质全 消息s o a p 量 传输 h t t p ,f t p 。s 盯p 网络i p v 4 。i p v 6 f i g 2 2a r c h i t e c t u r eo f t h ew e b s e r v i c et e c h n o l o g y 9 第2 章相关理论基础 2 2w 曲服务组合 早在1 9 9 6 年,g a r t n e r 就提出:“到2 0 0 8 年,面向服务架构( s e r v i c eo r i e n t e d a r c h i t e c t u r e s o a ) 将成为占有绝对优势的软件工程实践方法,它将结束传统的整体 软件体系架构长达4 0 年的统治地位( 可能性:7 0 ) ”s o a l 2 4 t 2 5 1 的提出使得大量的 公司和组织进入了一个新的业务模式,人们开始使用“软件就是服务”这一新概 念。 对于s o a 服务接口来说,w e b 服务是一个重要的标准。“单独的”、“独立的”、 “封装管理的”服务所具有的一个关键好处就是可以采用多种不同的方法重新组 合它们,以形成新的应用。随着w e b 服务相关标准的持续完善和支持w e b 服务的 企业级软件平台的不断成熟,越来越多的企业将其业务功能和流程包装成标准的 w e b 服务发布出去,实现便捷快速的寻求合作伙伴、挖掘潜在客户和达到业务增 值的目标。如何有效组合分布于i n t e m e t 中的各类服务。实现服务之间的无缝集成, 形成功能丰富的企业级服务流程以达到企业的商业目标,已经成为了w e b 服务发 展过程中的一个重要步骤。 2 2 1w e b 服务组合的定义 w e b 服务组合 2 6 - 3 3 就是为了满足一些用户的需要,把一定数量的现有服务组 织起来,从而形成具有综合功能的服务集合。它的动力来自于w e b 服务的出现和 通过w w w 把w e b 服务组织在一起以提供增值服务。组合服务能分布到网络上、 在不同的平台上运行、用不同的编程语言实现,并且可以来自不同的服务提供者。 从不同的角度对服务组合有着不同的定义: 从设计的角度看 w e b 服务组合是一个规则和原理集,它描述w e b 服务之间相互通信的过程。 从执行的角度看 w e b 服务组合是一个按照预定义的业务过程查找并绑定合适的w 曲月及务和 服务提供者的过程。 总之,w e b 服务组合就是通过组合基本的w e b 服务来为用户提供增值服务。 w e b 服务的设计和组合,本质上是个分布式的设计行为,就是各个应用的开发 者想重用、设计和执行己有的w e b 服务,仅仅是扩展和限定,而不是原始的开发。 1 0 w e b 服务动态编排系统的设计与实现 2 2 2w 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 服务,将具体 的绑定延迟到编排w e b 服务执行时动态完成。动态组合要求在组合w e b 服务设计 时,只说明活动需实现的功能、所属的服务类别、需要查找的u d d i 地址以及多 个查找结果的选择策略等内容,而具体的服务提供者延迟到组合服务的执行过程 中来绑定。这样就保证了组合w e b 服务更好的适应i n t e m e = t 这种动态性要求非常高 的应用环境。 比较上述两种方法可以看出:静态服务组合在建模阶段己经由设计者做好了 服务绑定,因此减少了执行引擎在服务组合执行期间为活动绑定服务而带来的开 销。然而这也使得服务组合失去了必要的动态性和对异常的应变能力。一旦事先 绑定好的服务变得不可用,或者存在更佳的可选服务,这种方法就不能实时的为 活动执行提供更好的支持。此外,对于服务组合设计者而言,要从数量巨大的w e b 服务中为每一个服务找到一个耳标w e b 服务也比较难。所以这种方法适合在少量 w e b 服务之间进行组合。面对互联网上大量出现且不断变化的w e b 服务,应该选 择动态服务组合的方法。 2 2 3w e b 服务组合的方式 通常w c b 服务组合有两种方式:编排与编导。 编制与编导的定义 在采用企业应用集成( e a i ) 中间件产品,来自动化业务流程或者集成各种遗 第2 章相关理论基础 留环境的组织过程中,产生了编排的概念。在这些e a i 系统中,通过工作流逻辑的 中心控制集,实现了两个或者更多的应用间的互操作。编排采用中心辐射模型, 允许多个外部参与者与一个中心编排引擎交互。通过编排,一个流程可以连接多 个不同的服务,而无需重新开发新的解决方案。 在面向服务的设计中,编排的概念得到了扩展,它能够在标准的、基于服务 的场合中代表和表示业务逻辑。服务编排利用服务提供的集成端点,设计业务流 程,实现服务间的互操作,编排的结果自身也作为服务而存在。服务编排关注重 用已有服务的内部流程,其主要行业规范是w 曲服务流程执行语言( w e bs e r v i c e s b u s i n e s sp r o c e s se x e c u t i o n ,w s b p e l ) 。 编导是不同服务提供者的提供的服务进行协作的交换模式,它不被单个实体 所拥有。编导本质上是流程协作,强调的是公共协作,其重要特征是公共消息交 换。服务编导关注与多方参与的交换消息,进行对等的业务协作,其主要行业规 范是w 曲服务流程执行语言( w e bs e r v i c e sc h o r e o g r a p h yd e s c r i p t i o nl a n g u a g e , w s c d l ) 。 编排与编导比较 编排与编导的一个关键区别在于:以编排为中心的方法假定在流程执行的整 个范围内存在某个中心控制点,而以编排为中心的方法则假定合作者们共同参与 执行的控制( 有可能是跨越多个业务流程引擎或各种不同的技术) 。 编排与编导举例 图2 3w e b 服务编排示范 f i g 2 3e x a m p l eo f t h ew e bs e r v i c eo r c h e s t r a t i o n 图2 3 显示t o p e n a c c o u n t 流程是如何编排一系列w 曲服务请求的执行,它通 过w s b p e l 编排实现,在收到o p e n a c c o u n t r e q u e s t 时启动,调用 1 2 w e b 服务动态编排系统的设计与实现 c o l l e c t a c 圮o u n t l n f o r m a t i o n 、v a l i d a t e a c c o u n t i n f o r m a t i o n 、r e p a i r a c c o u n t l n f o r m a t i o n 等w e b 服务来完成编制中的各个步骤。 图2 4 显示了通过编导建立o p e n a c c o u n t 流程,服务之间的交互都是对等的, 没有处于控制地位的流程执行引擎。 图2 4 w e b 服务编导示范 f i g 2 4e x a m p l eo f t h ew e bs e r v i c ec h o r e o g r a p h i e s 2 3 工作流技术概述 2 3 1 工作流基本概念 工作流技术是9 0 年代以后计算机应用领域的一个新的研究热科3 4 】 3 5 1 ,它将企 业的业务活动分解成定义良好的任务、角色、规则和过程来,完成业务过程的执 行和监控,达到提高生产组织水平和工作效率的目的。 按照工作流管理联盟的建议,这里给出如下定义3 q : 工作流( w o r k f l o w ) :工作流是指整个或部分业务过程在计算机支持下的全自 动或半自动化。 通常,把凡是由计算机软件系统( 工作流管理系统) 控制其执行的过程都称为 工作流。一个工作流包括一组活动( 也称任务) 以及它们之间的执行顺序关系、过 程及活动的启动停止条件、对每个活动的描述,活动间的输入输出数据。一个工 作流描述实际应用中的一个具体业务流程,完成一个实际业务目标。 工作流管理系统( w f m s ) :一个工作流管理系统能完整地定义、管理工作流, 并以执行软件的方式执行工作流。 工作流管理需要事先对业务的处理及其过程进行分析,把任务目标的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川绵阳富达资产经营有限责任公司信息化及后勤管理岗和策划设计管理岗拟录用人员笔试历年参考题库附带答案详解
- 商场消防设施维护服务续约通知6篇范文
- 梦想启航为小学生未来铺设道路的小学主题班会课件
- 中小学生禁毒知识竞赛题库(试题及答案)
- 关于包装变更的通知函件5篇范文
- 2026年初中化学阶段测试
- 合同履行过程中的争议解决流程说明函(3篇)
- 酒店消防安全改造确认通知(7篇)
- 年度流程改进项目结果通报5篇
- 文化创意企业财务目标与预算执行安排信函(5篇)范文
- 污水设备调试计划方案(3篇)
- 药剂职称评审汇报
- 冬病夏治治疗呼吸系统疾病
- T/CAQI 47-2018饮用水售水机技术要求
- 《简支梁计算》课件
- GB/T 15934-2024电器附件电线组件和互连电线组件
- 仁爱科普版(2024)七年级上册英语Unit 3单元测试卷(含答案)
- 广东省揭阳市普宁市2023-2024学年八年级下学期7月期末数学试题
- 2069-3-3101-002WKB产品判定准则-外发
- YS-T 3042-2021 氰化液化学分析方法 金量的测定
- 《中外管理思想史》课件
评论
0/150
提交评论